2013-10-15 26 views
1

我們使用TFS(服務,而不是服務器)來管理我們的數據庫模式的版本。定期TFS生成一個構建並將其保存在一個放置文件夾中。自動生成數據庫模式差異腳本

以下最佳實踐(http://martinfowler.com/articles/evodb.html),建議,首先,根據我們自己的經驗(和痛苦),我們要自動生成與變化,查了每天/每週差異腳本。

有很多工具(RedGate,Visual Studio,Open Sourece)都有助於完成這項工作,並且我已經嘗試了所有工具。但是在所有情況下都需要手動完成。

我們經常,我們可以......但既然是手工它是不是經常因爲它應該是必要做的;)

是否有辦法來自動(無人值守)做呢?可以在2個構建的部署腳本之間完成?或者在2個數據庫之間做?是否也可以自動比較數據?

回答

2

是的,可以自動生成差異腳本。我們已經在我的公司完成了。

我們使用Visual Studio的vsdbcmd命令行工具從構建中生成部署腳本,並稍後使用該腳本在測試服務器中進行部署。我們使用Visual Studio 2010來做到這一點。

+0

默認數據呢?你如何管理默認數據,如郵政編碼,字段說明/翻譯等。 – Alex

+0

我們使用腳本來做到這一點。我們必須在各個版本之間進行任何類型的數據轉換或遷移。在比較架構之前,升級過程首先運行這些手動腳本。 – Szymon