在db和模型定义之间创建diff的迁移,而不使用以前的迁移历史记录

时间:2017-07-10 13:58:59

标签: django

我想从数据库的备份副本创建一个具有干净迁移历史记录的应用程序的新实例。我的想法是,我得到的迁移涵盖了数据库中的内容与我测试的应用程序库分支的模型定义之间的模型定义差异。

要明确的是,我没有与数据库迁移历史记录匹配的现有py迁移文件集,因此我希望将其全部删除,然后只为此特定分支生成迁移。

我可以从django_migrations表中删除各种应用程序行并删除迁移py文件,但让manage.py生成某种CREATE TABLE (or column) IF NOT EXISTS更加困难。

是否有自动方式执行此操作,还是必须手动创建迁移文件?

我使用django 1.11.2,postgres 9.5

1 个答案:

答案 0 :(得分:0)

所以我认为最简单的方法是手动检查模型定义及其数据库表示,然后伪造初始迁移并手动创建模型与db不同的新迁移:

spring-boot-devtools