南 - 如何强制某些迁移?

时间:2012-09-11 06:47:18

标签: python django django-south

我有一个创建新表的迁移003,但出于某种原因,South在执行迁移后没有创建新表: 我正在执行以下命令:

[kelp@web187 goals]$ python2.7 manage.py migrate main 0003_auto__add_nudge
Running migrations for main:
 - Migrating backwards to just after 0003_auto__add_nudge.
 < main:0006_auto__add_field_nudge_status

但是我收到以下错误:

django.db.utils.DatabaseError: relation "main_nudge" does not exist

它不存在,因为迁移003应该创建它。为什么我会收到此错误?

1 个答案:

答案 0 :(得分:66)

看起来你假装向前移动0006,你也应该向后伪造它:

manage.py migrate --fake yourapp 0005

这会将当前迁移设置为0005。

显然,您想要迁移回0002:

manage.py migrate --fake yourapp 0002

然后从0003开始:

manage.py migrate yourapp