我有一个创建新表的迁移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应该创建它。为什么我会收到此错误?
答案 0 :(得分:66)
看起来你假装向前移动0006,你也应该向后伪造它:
manage.py migrate --fake yourapp 0005
这会将当前迁移设置为0005。
显然,您想要迁移回0002:
manage.py migrate --fake yourapp 0002
然后从0003开始:
manage.py migrate yourapp