2011-09-22 57 views
1

我在非常敏捷的环境中工作。我们通常每天都会推出。由于我们业务的性质,这种能力是必要的。我们经常更新数据库。我们构建了一个家庭酿造的数据库迁移库,但目前没有任何版本的概念,并且迁移不会按顺序运行。我们决定按顺序重构和运行迁移,但是现在我们发现为了这样做,我们必须创建一个序列,并且每个迁移必须具有唯一的版本。在多个开发人员并行工作的环境中,这是如何以自动方式完成的?敏捷并行数据库迁移

示例:3个分支合并在一起以升级为分段,每个分支都有要运行的数据库迁移。我们如何确定哪一个需要最少的人为交互。

+0

清晰度:我们需要知道如何在合并分支之前获得可靠的版本号。 –

回答

1

Woooo敏捷......我这是非常,它甚至冷却器的环境中工作;)

这不是那么简单,如果一个分支意味着修改,还没有考虑到在其他模式分行等......当然会失败。

你想要的是一个分支和解的解决方案,将处理的基本情况没有发生碰撞是可能的 -

I.E.一段代码将读取您的SQL,查找每个ALTER TABLE,检查没有两个脚本正在更改相同的表,然后如果是这种情况,请比较这些更改以查看它们是否可以组合等。

当然我可以为你写这个,但是......也许有人已经开源了一个“sqlmigrationscriptcombinatorofdoom”。

GL;)