从 github 部署更改后的模型时,如何对 heroku 上的 运行 makemigrations/migrate 做些什么?

What to do to run makemigrations/migrate on heroku when deploying changed models from github?

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

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

我在 Whosebug 上阅读了一些答案,并理解这是应该的。

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

(我能够 运行 进行迁移并手动从 bash 迁移,但是当我有 30 多个部署时这很痛苦)

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

web: your_web_command
release: python manage.py migrate

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