在从github部署更改的模型时,如何在heroku上运行makemigrations / migrate?

时间:2017-04-23 14:28:14

标签: django heroku django-models django-migrations

我已经将应用程序从github存储库部署到我的客户的heroku帐户作为协作者,但这次我不得不添加一些新模型。

但是我意识到当我从github heroku部署我的更改时,不会运行makemigrations并进行迁移。

我在stackoverflow上阅读了一些答案,并了解这是应该如何。

然而我的问题是我该怎么办?将更改模型部署到heroku应用程序的最佳做法是什么? (我假设它不会再删除并重新创建我的应用程序,因为客户已经有数据。)

(我可以手动运行makemigrations并从bash迁移,但是当我有30多次部署时,这很痛苦)

1 个答案:

答案 0 :(得分:4)

查看Heroku上名为“Release Phase”的新功能:https://devcenter.heroku.com/articles/release-phase它允许您在部署期间运行迁移。只需将您想要的任何命令添加到Procfile中,如下所示:

web: your_web_command
release: python manage.py migrate

release命令将在您的应用完成构建之后以及启动之前运行。