为什么没有检测到迁移但我刚刚创建了新的迁移?
Why there is no migrations detected but I just created new migrations?
这是我的工作流程,使用 makemigrations 和 migrate 一切看起来都很整洁。但是,我想重新开始我的模型,所以我:
- rm -rf django 应用目录下的所有迁移文件;
- 删除数据库中所有相关的 table;
- makemigrations 生成新的迁移文件;
但是当我想将它迁移到数据库中时,它说没有要应用的迁移。我认为迁移背后的机制是模型 -> 迁移 -> 数据库更改,如果我删除后两个它应该重新开始。可惜不是。
Django == 1.8.2
CLOSED 有一个名为 django-migrations 的 table 跟踪所有更改并删除相关记录,然后我可以进行迁移。感谢那些提供帮助的人!
还有另一个 table 跟踪每个应用 运行 的迁移,django_migrations。你必须重置它,以便 django 知道你已经重新开始。
如果您已经更改了数据库,请尝试 运行
python manage.py migrate <app> --fake zero
这是我的工作流程,使用 makemigrations 和 migrate 一切看起来都很整洁。但是,我想重新开始我的模型,所以我:
- rm -rf django 应用目录下的所有迁移文件;
- 删除数据库中所有相关的 table;
- makemigrations 生成新的迁移文件;
但是当我想将它迁移到数据库中时,它说没有要应用的迁移。我认为迁移背后的机制是模型 -> 迁移 -> 数据库更改,如果我删除后两个它应该重新开始。可惜不是。
Django == 1.8.2
CLOSED 有一个名为 django-migrations 的 table 跟踪所有更改并删除相关记录,然后我可以进行迁移。感谢那些提供帮助的人!
还有另一个 table 跟踪每个应用 运行 的迁移,django_migrations。你必须重置它,以便 django 知道你已经重新开始。
如果您已经更改了数据库,请尝试 运行
python manage.py migrate <app> --fake zero