BI專案中會有很多不同種類的專案,其中比較比較大的一部分就是對DB指令碼的處理。然而DB的指令碼畢竟無法在專案中進行維護,所以這裡介紹如何對DB的指令碼進行版本上的維護。
資料庫指令碼本身沒有專案模板支援,很難進行版本管理維護,通常只能透過檔案指令碼的方式,比如透過Task將DB的定義匯出到檔案。
這種方法可以將DB裡的相關物件,表,檢視,儲存過程以及函式等匯出到檔案。缺點是每次匯出的時候很難知道每次匯出跟上一次的版本變化在哪裡。
這裡介紹另外一種方法,就是透過Visual Studio裡的工具,這裡主要演示Visual Studio 2013版本。
新建一個SQL Server資料庫專案。
新建專案後,選擇工具,SQL Server下的"新建架構比較…"。
系統會開啟架構比較工具,這個工具主要是比較兩個資料來源的架構是否有任何差異。
首先點選左側選擇資料來源。
點選選擇源…
選擇資料庫,然後新建資料庫連線。
連線到目標資料庫。這裡使用微軟官方的示例資料庫做演示。
然後選擇目標。
目標端選擇專案,然後下拉框選擇剛剛建立的專案。
設定好對比物件後,點選比較按鈕。
系統會比較出兩端的差異。由於專案是空的,所以對於資料來源來說每個物件都是新的。
點選更新,可以將左側的程式碼同步到專案中。
在解決方案管理器裡,可以看到被同步過來的資料庫物件檔案。這樣我們就將資料庫的指令碼檔案同步到了專案檔案中。
接下來再演示下如何透過這個工具獲取到資料庫裡的變化。首先,在資料庫裡的函式定義裡,加幾段測試文字作為測試,看工具是如何識別出指令碼的差異的。
回到剛才建立的專案,再次點選比較,可以看到系統識別出了這個變化。程式碼具體哪裡發生了變化在下面的對比介面都可以清晰的看到。
點選同步,將這個變化同步到專案裡。
開啟Source Explorer,可以看到對應的檔案變成了簽出的狀態。
簽入程式碼,順便加上Comment,這樣後續就可以追溯到這個change的相關內容了。
本文介紹了資料庫程式碼版本控制的一個方法。資料庫程式碼的版本控制,在任何專案尤其是BI專案都是相當重要的,儘管沒有現成的專案模板支援,透過Visual Studio的架構對比工具,可以輔助幫助資料庫程式碼的版本管理。