我已经将应用程序从github存储库部署到我的客户的heroku帐户作为协作者,但这次我不得不添加一些新模型。
但是我意识到当我从github heroku部署我的更改时,不会运行makemigrations并进行迁移。
我在stackoverflow上阅读了一些答案,并了解这是应该如何。
然而我的问题是我该怎么办?将更改模型部署到heroku应用程序的最佳做法是什么? (我假设它不会再删除并重新创建我的应用程序,因为客户已经有数据。)
(我可以手动运行makemigrations并从bash迁移,但是当我有30多次部署时,这很痛苦)
答案 0 :(得分:4)
查看Heroku上名为“Release Phase”的新功能:https://devcenter.heroku.com/articles/release-phase它允许您在部署期间运行迁移。只需将您想要的任何命令添加到Procfile中,如下所示:
web: your_web_command
release: python manage.py migrate
release
命令将在您的应用完成构建之后以及启动之前运行。