【发布时间】:2014-01-11 22:15:19
【问题描述】:
我想通过运行 Migration.backwards() 方法来恢复我上次的迁移 (0157)。由于我正在恢复生产服务器中的迁移,因此我想在代码部署期间自动运行它。部署脚本执行以下步骤:
- 拉取代码更改
- 运行迁移:
manage.py migrate <app> - 刷新 Apache 以使用最新代码:
touch django.wsgi
如果可以的话,我会创建 新的迁移文件,告诉 South 向后迁移到 0156:
migrations/0158_backward__migrate_to_0156.py
此提交的迁移将部署到生产环境并在manage.py migrate <app> 命令期间执行。在这种情况下,我不必像 these answers 中建议的那样手动执行向后迁移。
可以说,我创建了两个数据迁移,第一个用于用户的支付,第二个用于用户模型。我已经为这两种迁移实现了 backwards() 方法,以防我不得不恢复这些数据迁移。我已将这两个迁移部署到生产环境。突然发现支付迁移有错误。我想尽快恢复我最后的两次数据迁移。最快安全的方法是什么?
【问题讨论】:
-
不是,因为this question 不需要单独的向后迁移文件。所有解决方案都建议手动运行向后迁移。
标签: python django migration django-south dev-to-production