假设我们在一个项目中有两个应用程序:app1
和app2
. 两者都有南迁移,在这种特殊情况下,迁移app1.0002_something
取决于app2.0001_initial
. 一切都很好,直到你决定它app2
已经过时并且应该被删除(因为它的实用程序已经投入使用app3
并且app4
很久以前)。
这就是问题所在:app2
从INSTALLED_APPS
./manage.py migrate
退货中删除之后south.exceptions.DependsOnUnmigratedApplication: Migration 'app1:0002_something' depends on unmigrated application 'app2'
。
在这种情况下,我可能会“重置”迁移app1
并继续编码,但是,如果根本不使用依赖项,我不知道将来如何避免这种情况。所以问题是:
- 我怎样才能比“重置”迁移历史更优雅地解决这种情况?
- 如何防止这种情况发生并且仍然能够删除过时的应用程序?