发布失败后在Heroku上执行反向Django迁移

问题描述 投票:0回答:1

我在Heroku上有一个正在运行的Django应用程序,并且迁移在发布时自动运行。尽管在大多数情况下,此方法工作正常,但有时在以下情况下会出现问题:

  • 在给定的版本中有多个迁移(它们可以在不同的应用中)
  • 某些迁移将会失败,但不会是第一个

在这种情况下,manage.py migrate将失败,因此Heroku将无法完成发行,也不会部署新代码。这意味着代码是旧版本,数据库处于“新旧之间的状态”。

如果在Heroku上发布命令失败,是否有一种简单的自动运行Django运行反向迁移的简单方法?

交易在这里无济于事,因为可能会有多个迁移(多个应用程序),并且Django在单独的事务中运行每个迁移。

django heroku django-migrations
1个回答
0
投票
https://gist.github.com/pax0r/0591855e73b9892c28d3e3cdd15f4985

尚未经过良好测试,但我将继续努力从中创建一个库,以方便他人使用。

© www.soinside.com 2019 - 2024. All rights reserved.