4👍
If you want to create a migration, manage.py startmigration
is deprecated (see manage.py help startmigration
), you should be using manage.py schemamigration
(as described in the docs), and you should definitely be doing this individually on each app.
If you want to run migrations (in other words do the actual altering of the database, which I’m guessing is the case), The command for that is manage.py migrate
which, if run without any arguments, will migrate all of your apps to the latest migration available.
My deployment script just has manage.py migrate
, and it works fine without manual intervention, no matter how many apps have new migrations that need to be run.
3👍
Even with raw SQL, you wont be able to migrate an entire database in a single step as you need a query per table. You can however, create migrations for all apps, and then run them all at once. That’s the closest thing you’ll come to a one step migration.
- [Django]-Get full label name of ChoiceField in QuerySet values list
- [Django]-Django management command without working db connection
- [Django]-Django posts and responses
- [Django]-Error running manage.py syncdb for first time on Heroku: "You need to specify NAME in your Django settings file"