为什么没有检测到迁移,但我刚刚创建了新的迁移?

时间:2015-08-04 07:14:00

标签: django data-migration

这是我的工作流程,使用 makemigrations 迁移,一切看起来都很整洁。但是,我想从我的模型开始,所以我:

  1. rm -rf django app目录中的所有迁移文件;
  2. 删除数据库中的所有相关表;
  3. makemigrations会生成新的迁移文件;
  4. 但是,当我想将其迁移到数据库时,会说无需迁移。我认为迁移背后的机制是模型 - >迁移 - >数据库的变化,如果我放弃后两者,它应该重新开始。不幸的是,它不是。

    Django == 1.8.2

    已关闭有一个名为 django-migrations 的表跟踪所有更改并删除相关记录,然后我可以进行迁移。感谢那些帮助过的人!

1 个答案:

答案 0 :(得分:1)

还有另一个表可以跟踪每个应用程序运行的迁移,django_migrations。你必须重置它才能让django知道你已经重新开始。

如果您已经更改了数据库,请尝试运行

python manage.py migrate <app> --fake zero