2011-12-21 44 views
2

我正在尋找關於我們的數據庫版本控制的一些建議。關於數據庫版本控制的建議

我們目前有一些開發人員都運行他們自己的本地開發版本的網站項目。

這些網站也可供客戶端在暫存服務器上查看。

我遇到的問題是我可能從舞臺服務器獲取最新的數據庫,然後在本地副本上對此進行更改。

但與此同時,客戶已經在升級上修改了他們的CMS。

我正在閱讀關於SQL複製,這是一個好主意嗎?我在想,無論何時在暫存站點上進行更改,它都會複製到本地服務器並更新該數據庫。

無論如何,想法是讚賞。

回答

1

如果每個開發人員都獲得主服務器的副本(分段)並執行本地更改,則他們可能會中斷複製,因爲如果從屬模式不兼容,複製語句將中斷。因此,所有更改都必須在登臺服務器上進行,所有開發人員都可以得到它們,如果他們沒有最新的源代碼,源代碼將會中斷...所以,雖然這可能會起作用,但我認爲這會很困難。

我會建議在每個環境必須運行的文件中進行數據庫更改。有幾個你可以調查liquibasedbdeploy

1

我們所做的是增加一個db_version表有一列,即每一步更改版本被遞增,以反映日期 - 20101229,20110305,20110808,201110808a等

所有更改都存儲在源代碼管理下的單個文件SQL中,大多數更改是create table,alter table,insert(小靜態數據)等。每當開發人員想要更改架構它可以知道所有的變化是相對於他所擁有的版本而言的,並且更新他的模式