我在Heroku上有一个正在运行的Django应用程序,并且迁移在发布时自动运行。尽管在大多数情况下,此方法工作正常,但有时在以下情况下会出现问题:
在这种情况下,manage.py migrate
将失败,因此Heroku将无法完成发行,也不会部署新代码。这意味着代码是旧版本,数据库处于“新旧之间的状态”。
如果在Heroku上发布命令失败,是否有一种简单的自动运行Django运行反向迁移的简单方法?
交易在这里无济于事,因为可能会有多个迁移(多个应用程序),并且Django在单独的事务中运行每个迁移。
尚未经过良好测试,但我将继续努力从中创建一个库,以方便他人使用。