Database Project 系列 ~ (二)資料庫Schema比對

Database Project 系列 ~ (二)資料庫Schema比對

前面我們介紹了如何建立資料庫專案,可是資料庫在開發的過程中,隨時都可能異動;為了記錄

資料庫異動的過程,所以我們要藉由資料庫專案中的功能:Schema Compare,來進行版本控管。

 

在Dinner資料庫中,原本只有Dinner和RSVP這二個資料表…

image

 

為了進行會員的控管,所以我增加了Member資料表。

image

 

接下來,我們要讓資料庫專案新增這個Member資料表。

 

在進行Schema Compare前,我們需要調整一些基本的環境設定。在Tools →Options中,找到Database Tools

下的Schema Compare,我們可以看到右邊有一些關於比對的設定,你可以針對不同SQL Server的版本來進

行微調,例如:比對時忽略資料庫檔案名稱以及路徑(如果你不需要管資料庫到底在哪裡,就可以勾選忽略)

image

(可以勾選的項目非常多,就請大家自己看啦)

 

按下OK之後,我們就可以從Data→Schema Compare選取New Schema Comparison

image

 

接下來會出現選擇畫面;在左邊的是比對的資料來源,我們選擇DB,而右邊的則是要比對的目標,

所以選擇專案,確定之後按下OK。

image

 

從比對的結果我們可以發現,新增了一個Member的資料表,而下方的物件定義視窗,也可以讓我們看

到二邊比對的差異內容。

image

 

如果今天比對的項目過多,你也可以利用左上角的Filter進行篩選,挑出Non Skip Objects的物件來看。

(若是比對沒有異動的物件,會是Skip的狀態),若是你不想或是不確定要更新的物件,你也可以把

Update Action改成Skip。

image

 

等到確認完成所有要更新的Schema之後,如果你有其它要同步更新的資料庫,記得先匯出更新的SQL句。

如果沒有,就可以直接按下Write Updates,他就會進行資料庫專案的更新;更新完成之後,可以按下Flash

更新比對的內容。

image

 

確認一下Member的狀態變成Skip,大功告成!接下來就可以進行Commit(Check in)囉!

image

 

2010/6/25 update

除了連線資料庫和專案的相互比較功能,如果今天資料庫處於無法直接連線的狀況,那要怎麼處理呢?

這時候就要利用dbschema檔案!Schema Comparison的時候,可以選擇Database file:

image

不過匯出這個dbschema檔案需要利用工具,詳細的匯出步驟可以參考MSDN。

MSDN:How to: Import a Schema from a Command Prompt

因為VS2008預設沒有這個功能,所以需要額外安裝VS2008 Database Edition GDR R2哦~

 

相關文章:

Database Project 系列 ~(一)建立資料庫專案

DotBlogs 的標籤: