這是一個針對你們開發的開發團隊的問題,你們所有人都有獨立的數據庫。您使用源代碼控制和其他工具版本化數據庫,這些工具會自動將開發數據庫更新到最新版本的數據庫(模式,數據,SP,函數等)。數據庫版本控制 - 分支交換如何工作?
好極了!可是等等!如果您正在開發軟件的4.0版本,但是現在您需要將分支機構切換到3.2分支來修復錯誤?架構可以(現在幾乎可以肯定)與現在非常不同...
我想如果您經過額外的努力來編寫回滾腳本以及您的更改腳本,這可能會起作用。但是,這似乎很多工作 - 它真的值得嗎?
這是一個針對你們開發的開發團隊的問題,你們所有人都有獨立的數據庫。您使用源代碼控制和其他工具版本化數據庫,這些工具會自動將開發數據庫更新到最新版本的數據庫(模式,數據,SP,函數等)。數據庫版本控制 - 分支交換如何工作?
好極了!可是等等!如果您正在開發軟件的4.0版本,但是現在您需要將分支機構切換到3.2分支來修復錯誤?架構可以(現在幾乎可以肯定)與現在非常不同...
我想如果您經過額外的努力來編寫回滾腳本以及您的更改腳本,這可能會起作用。但是,這似乎很多工作 - 它真的值得嗎?
更容易的是創建一個新的3.2分支數據庫並在3.2分支代碼上工作。我要求每個開發人員只有一個數據庫可以工作,這似乎並不合理。
我正在做一個假設,並假設您將數據庫版本化爲二進制文件?如果您的所有數據庫資產都是建設性代碼的形式(例如SQL腳本和/或文本數據轉儲),那麼解決方案將很簡單,就像Mark建議的那樣:將這些資產存儲爲開發分支的一部分。要在版本3.2上工作,請切換分支,重新運行創建腳本和3.2,數據庫。合併將與常規代碼一樣簡單(或根據您選擇的版本控制系統一樣痛苦)。
這裏有一些建議,在此模式下工作: