How heroku run python manage.py migrate?

折月煮酒 提交于 2020-01-03 16:59:32

问题


I deployed a simple Django app in Heroku

Steps:

- git push heroku master

- heroku run python manage.py makemigrations ( or + app_name)

it seem to affect:

  0002_main.py:
- Create model Comment
- Remove field status from match
- Remove field quantity from slot
- Add field avatar to account
- Add field slots to match
- Alter field verification_code on account
- Alter field verification_code on slot
- Add field match_object to comment
- Add field user to comment
- Alter index_together for comment (1 constraint(s))

then I run

- heroku run python manage.py migrate

but i received:

  Running migrations:
  No migrations to apply.
  Your models have changes that are not yet reflected in a migration, and so won't be applied.
  Run 'manage.py makemigrations' to make new migrations, and then re-run 'manage.py migrate' to apply them.

回答1:


Your migration files should be committed to your source control, and never run makemigrations on heroku.

With committed migration files, this problem becomes non existant.




回答2:


Make sure you have committed migrations file. then run

heroku run python manage.py migrate

Please see this documentation.




回答3:


The Heroku filesystem is read-only as per the documentation.

This means that when you disconnect from the dyno the files created by the makemigrations command will be destroyed.

To solve your issue you can:

  1. Commit your migration files to Github(or your source control system) and then run the migrate command on the Heroku shell - recommended
  2. Create the migration files and then run the migration on the heroku bash shell. - NOT RECOMMENDED on production


来源:https://stackoverflow.com/questions/40790533/how-heroku-run-python-manage-py-migrate

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!