Reputation:
I am considering to add the command release: python manage.py migrate --no-input
to my deployment, so Heroku is automatically migrating, once I push my repository. I now wonder if --no-input
is a 'good' idea?
One more specific question: If migrate normally asks me 'Did you rename this field'. With --no-input
, will it answer automatically yes? I couldn't find much detailed information in the official Django documentation.
Upvotes: 4
Views: 6089
Reputation: 1119
We don't use the interactive flag (--no-input
) in our pipeline and to the best of my knowledge it doesn't make much difference. If you inspected Django source code, you would find out that the interactive flag only falls through to the pre_migrate
and post_migrate
signals that are emitted prior to and post migration.
As far as I know, no internal Django app uses the interactive argument inside these signals. Some external packages perhaps could use that, but I personally have never encountered that.
As for your question:
One more specific question: If migrate normally asks me 'Did you rename this field'. With --no-input, will it answer automatically yes? I couldn't find much detailed information in the official Django documentation.
This happens in the makemigrations
management command, not in migrate
. You usually do (and should do) the former locally, so no need to include that in your deployment pipeline.
Upvotes: 9