我正在开发一个Django应用程序,并且希望在Heroku上部署时运行我的数据库迁移。
到目前为止,我们只需在Procfile中放置以下命令:
python manage.py migrate
在部署时,迁移确实会运行,但似乎每个工作进程都会运行一次(我们使用多个工作进程)。因此,数据迁移(与纯模式迁移相对)会运行多次,并且数据会被复制。
在部署后运行heroku run python manage.py migrate
并不理想,因为我们希望数据库始终与代码同步。
在Heroku上正确的做法是什么?
谢谢。
manage.py migrate --noinput
。 - Jorenmanage.py migrate --noinput
可以在 Django 1.7 及以上版本中使用。在 1.9 版本中,他们添加了--no-input
的别名。 - DhhJmm