我一直在努力避免如何避免因Django迁移造成混乱。我试过“不要删除迁移”,并且大多数情况下都有效,但是当我想删除代码库中的应用程序时,我挣扎着又陷入了混乱。
我在想,如果有人可以解决这些问题要容易得多:
1-删除所有当前迁移
2-从现有数据库模式(而不是Django模型)创建迁移< - 这是缺少的步骤
3-运行migrate --fake
以使DB与迁移同步
4-运行makemigrations
将任何未应用的更改添加到迁移链(这次是从Django模型)
5-运行migrate
以使DB与新的更改同步
我不知道怎么做的唯一步骤是第2步。这可行吗?我不知道有任何内置的模块或工具,所以我想知道为什么不这样做。
一些研究显示python manage.py inspectDB
让我部分通过第2步。但是否有一种自动推断现有数据库迁移的方式?