47

我的迁移出了点问题,我向模型添加了一个新的日期时间字段,然后我使用了 makemigrations 和迁移。

python manage.py makemigrations
python manage.py migrate

但在此之后,迁移得到一个“表已存在错误”。我想我可以伪造迁移并重新开始,所以我做了

python manage.py makemigrations --fake core

Operations to perform:
  Apply all migrations: core
Running migrations:
  Rendering model states... DONE
  Applying core.0001_initial... FAKED
  Applying core.0002_auto_20150525_1331... FAKED
  Applying core.0003_auto_20150525_1348... FAKED
  Applying core.0004_processo_data_atualizacao... FAKED

但是我刚刚创建的新迁移也是伪造的(当然!)。

这样做之后如何重做迁移(在本例中为 core.0004)的正确方法是什么?

4

1 回答 1

98

您应该首先将当前状态设置为 0003 --fake(假设 0003 是您真正应用的最后一个迁移):

python manage.py migrate --fake core 0003

然后照常进行:

python manage.py migrate core

相关文档:https ://docs.djangoproject.com/en/dev/ref/django-admin/#migrate

于 2015-06-03T17:38:37.930 回答