2

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

谢谢你的帮助 :)

4

2 回答 2

2

我最终这样做了

SOUTH_MIGRATION_MODULES = { 'app_with_broken_migration':'ignore'}

然后运行syncdb

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

manage.py migrate app_with_broken_migration --fake
于 2013-06-23T16:40:00.213 回答
0

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

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

于 2013-06-15T23:15:13.657 回答