如何在使用–fake之后在django 1.8上重新进行迁移

我的迁移出了点问题,我添加了一个新的datetimefield到模型,然后我使用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 

但我刚刚创build的新迁移也是假的(当然!)。

在做这个之后,重做迁移的方法是什么(在这里是core.0004)?

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

 python manage.py migrate --fake core 0003 

然后照常进行:

 python manage.py migrate core 

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