遇到与南方的移民冲突

时间:2014-01-10 21:21:49

标签: python django django-south

我正在与网站上的其他开发人员(使用Django)合作,因为它是一个新网站,数据库架构也在不断变化。我们正在使用South进行模式迁移,但遇到的问题是我们每个人都检查了自己的分支,并且正在处理我们自己的项目的独立部分。当代码经常合并时,会为同一模型生成多个迁移(对于模型A,可能会有三次迁移,ID为003)。

当涉及到不同的模型时,南方似乎非常善于管理冲突: http://south.readthedocs.org/en/latest/tutorial/part5.html#team-workflow

但是当处理相同的模型时,手动创建合并的迁移会有点麻烦。

我想知道是否有更好的方法来做这个或比南方更好的工具。

我的一个想法是没有人检查迁移文件,只需将模型更改直接签入git即可。这样每个人都可以自己进行迁移,而不必担心冲突。不确定这是不是一个好习惯...

我很好奇其他人如何管理这些情况。

感谢:)

1 个答案:

答案 0 :(得分:2)

来自南方文件:

  

确保您的团队知道谁正在处理什么,因此他们不会同时编写影响数据库相同部分的迁移。

这就是你不应该做的事情:不要创建影响同一模型的迁移,除非你确定你以后能够将它们合并到主开发主干中。当两个开发人员修改模型的相同字段时,工具无法确定正确的数据库模式需要什么。

在这种情况下,您需要手动修复迁移并按顺序获取模型字段。这可能意味着在将分支与主干合并之前迁移回来并构建新的迁移。