|synopsis:||Helps you setup your database(s) more easily|
Stop creating databases by hand. Your settings.py file already contains the correct information, so DRY.
$ python manage.py sqlcreate [--router=<routername>] | <my_database_shell_command>
It will spit out SQL which you can review (if you want) but ultimately you want to pipe it into the database shell command of your choice.
If there was a good way to ensure that the user in the database settings had the proper permissions, we could submit the commands straight to the database. But due to the nature of this portion of the project setup, that will never happen.
$ ./manage.py sqlcreate [--router=<routername>] | psql -U <db_administrator> -W
$ ./manage.py sqlcreate [--router=<routername>] | mysql -u <db_administrator> -p
- CREATE DATABASE is not SQL standard so might not work everywhere.
- When using fallback user is not created and password is not set. But it does try to do a GRANT to the database user.
- Missing options for tablespaces, etc.