2011-09-22 42 views
1

我在非常敏捷的環境中工作。我們通常每天都會推出。由於我們業務的性質,這種能力是必要的。我們經常更新數據庫。我們構建了一個家庭釀造的數據庫遷移庫,但目前沒有任何版本的概念,並且遷移不會按順序運行。我們決定按順序重構和運行遷移,但是現在我們發現爲了這樣做,我們必須創建一個序列,並且每個遷移必須具有唯一的版本。在多個開發人員並行工作的環境中,這是如何以自動方式完成的?敏捷並行數據庫遷移

示例:3個分支合併在一起以升級爲分段,每個分支都有要運行的數據庫遷移。我們如何確定哪一個需要最少的人爲交互。

+0

清晰度:我們需要知道如何在合併分支之前獲得可靠的版本號。 –

回答

1

Woooo敏捷......我這是非常,它甚至冷卻器的環境中工作;)

這不是那麼簡單,如果一個分支意味着修改,還沒有考慮到在其他模式分行等......當然會失敗。

你想要的是一個分支和解的解決方案,將處理的基本情況沒有發生碰撞是可能的 -

I.E.一段代碼將讀取您的SQL,查找每個ALTER TABLE,檢查沒有兩個腳本正在更改相同的表,然後如果是這種情況,請比較這些更改以查看它們是否可以組合等。

當然我可以爲你寫這個,但是......也許有人已經開源了一個「sqlmigrationscriptcombinatorofdoom」。

GL;)