合并两个不同的Django迁移

时间:2019-05-17 02:49:42

标签: django merge migration

我们有两个使用Django的开发人员。由于某些技术问题,我们尚未开始使用版本控制。两位开发人员对Django模型进行了一些更改。开发人员A进行了1次迁移,而开发人员B进行了5次迁移。他们俩都在两个不同的表中工作。如果两个迁移不使用版本控制,如何合并它们。

2 个答案:

答案 0 :(得分:0)

可能迁移的前缀编号相同。 将原始名称保留在第一个,然后增加第二个。 例如:

Developer A: 0035_customer.py
Developer B: 0035_process.py -> rename to -> 0036_process.py

另外,在第二次迁移时更改dependencies属性,以确保该属性将以正确的顺序运行。

答案 1 :(得分:0)

让我们假设您有两种不同的迁移方式,例如001_add_x002_add_y,并且两者都已应用于数据库。

当您要合并它们并在合并的项目中创建像003_add_z之类的新迁移时,应运行

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

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

然后您可以运行

python manage.py migrate <app>

或者您可以删除所有迁移文件并重新运行makemigration为所有模型创建迁移,然后可以运行migrate <app> --fake