3

假设我们在一个项目中有两个应用程序:app1app2. 两者都有南迁移,在这种特殊情况下,迁移app1.0002_something取决于app2.0001_initial. 一切都很好,直到你决定它app2已经过时并且应该被删除(因为它的实用程序已经投入使用app3并且app4很久以前)。

这就是问题所在:app2INSTALLED_APPS ./manage.py migrate退货中删除之后south.exceptions.DependsOnUnmigratedApplication: Migration 'app1:0002_something' depends on unmigrated application 'app2'

在这种情况下,我可能会“重置”迁移app1并继续编码,但是,如果根本不使用依赖项,我不知道将来如何避免这种情况。所以问题是:

  1. 我怎样才能比“重置”迁移历史更优雅地解决这种情况?
  2. 如何防止这种情况发生并且仍然能够删除过时的应用程序?
4

2 回答 2

0

您可以在迁移文件中检查 app1 的行,如下所示:

depends_on = (
    ("app2", "some_migration.py"),
)

然后删除它

于 2013-03-05T21:50:47.977 回答
-3
  1. 没有什么好办法。这就是为什么我不惜一切代价避免依赖南方的原因。
  2. 不要使用依赖项。
于 2013-03-05T17:54:36.877 回答