南跳过破碎的迁移

时间:2013-06-15 23:07:01

标签: python django django-south

我在我的django应用程序中使用第三方应用程序,其旧版本依赖于django auth模型,但较新版本支持django 1.5的自定义身份验证模型。 我遇到的问题是,当我安装应用程序并迁移应用程序时,它会中断迁移002,因为它引用的是应用程序的最终版本不需要的表,因此我没有。 如果我关闭南方只是做一个syncdb一切正常。但是,我将不得不为我的所有其他应用程序进行虚假迁移。有没有一种简单的方法可以让我跳过这些错误并继续进行迁移,或者只是使用models.py来创建模式,然后让我为那个应用程序进行虚假迁移?

感谢您的帮助:)

2 个答案:

答案 0 :(得分:2)

我最终做了这个

SOUTH_MIGRATION_MODULES = { 'app_with_broken_migration':'ignore'}

然后运行syncdb

然后删除忽略迁移行并运行

manage.py migrate app_with_broken_migration --fake

答案 1 :(得分:0)

我通常会对失败的迁移脚本进行临时修改。注释掉或修改不需要的部分,运行迁移,然后将所有内容恢复到之前的状态。

它并不理想,它涉及一些重复工作 - 您必须在开发机器和服务器上执行相同的步骤,但它可以保留南方支持并解决失败的迁移。