【发布时间】:2013-08-22 21:37:06
【问题描述】:
我知道问题所在,但这没有意义,因为我认为 South 会处理这个问题。 我正在尝试安装一个新的 STAGING 服务器,所以是一个新的数据库,但我遇到了南迁移错误。
我有 2 个应用程序,bar 和 foo,以下是模型。
在 0001_foo_initial 迁移中,我有一个 Foo 依赖于 Bar。但后来我删除了 Bar 和依赖项,因为我不需要它们。
#in foo.models
class Foo(models.Model)
#bar = models.ForeignKey(Bar...) #dependency removed in foo 2nd migration
foo_name..
"""bar.models - removed in bar 2nd migration
class Bar(models.Model)
bar_name...
"""
#bar
0001_bar_initial.py - had Bar model
0002_bar_model_Bar_deleted.py - removed Bar model
#foo
0001_foo_initial.py - foo with bar dependency
0002_foo_foreign_key_bar_deleted.py - remove dependency
所以当我运行migrate --all 并且我得到0001_foo_initial.py 中不存在关系时,因为它试图添加依赖项。
似乎它首先运行了bar 迁移,它删除了Bar。然后它会尝试运行0001_foo_initial,但由于Bar 已被删除,它会引发错误。
我该如何解决这个错误或者我错过了什么。我可以删除具有依赖关系的行 [例如删除 0001_foo_initial.py] 中的依赖项,但是我将不得不为此进行大量房屋维护,例如我将不得不删除文件0002_foo_foreign_key_bar_deleted,因为没有文件。
【问题讨论】:
标签: python django django-south