【发布时间】:2011-09-14 04:08:10
【问题描述】:
我很好奇其他 Django 开发人员在使用多个代码分支进行开发时如何使用 South 管理他们的数据库迁移。让我给出一个示例场景。
例如,假设您从主干开始开发。您从主干创建分支 A。此时,app_1 的最后一个迁移版本是 0010。
然后您在创建迁移文件0011_add_name_column 的主干中为app_1 创建迁移。同时,在分支 A 中,另一个开发人员为分支 A 中的同一 app_1 创建了不同的迁移文件:0011_increase_value_column_size。
分支 A 最终合并回主干。发生这种情况时,假设分支 A 中 app_1 中的最后一个迁移版本是 0020,而在主干中的最后一个版本是 0018,它们都是不同的迁移。如您所见,自版本0011 以来,迁移文件的状态已经混乱,当时分支是从主干分叉出来的......并且它们在合并时都存在冲突。
根据South's tutorial,处理这种情况的唯一方法是手动解决所有冲突。但是,如果冲突的数量很大,这并不是真正需要的解决方案。您通常如何处理这种情况,甚至一开始就避免这种情况?
【问题讨论】:
标签: django branch django-south