我在heroku上运行了一个django应用程序。我想在任何依赖它们的代码上线之前运行我的南迁移。在快速审查了当前的推荐做法后,我发现了两个建议的迁移过程。
heroku run python manage.py migrate <APP_NAME>
这在步骤1和2之间有一段时间,我的代码假设最新的架构已到位,但db尚未更新。
这解决了上一个问题,但是为部署过程增加了更多的复杂性,有一天我会搞砸它。
似乎我可以通过使用自定义post_compile脚本避免建议1中的问题和将我的部署保持在一个步骤
为我的每个应用调用python $MANAGE_FILE migrate <APP_NAME>
(依赖顺序)。
我没有在任何地方看到这个推荐,所以我的问题是双重的。你能看到这种方法有任何潜在的问题,你有更好的方法吗?
答案 0 :(得分:1)
如果您的应用程序可以承受一些停机时间,那么最简单的方法就是
$ heroku maintenance:on
heroku run python manage.py migrate
$ heroku maintenance:off
是否足够或您是否有更复杂的需求?