使用Visual Studio 2010統(tǒng)一管理數(shù)據(jù)庫對象
本文將為大家介紹使用Visual Studio 2010的Database項目模板統(tǒng)一管理數(shù)據(jù)庫對象,希望對大家有所幫助。
Visual Studio 2010 有一個數(shù)據(jù)庫項目模板:Visual Studio Database Project(以下簡稱VSDP),VS 2003/2005/2008也有類似的項目,在Visual Studio 2010上的得到了很大的加強,現(xiàn)在還具備了智能感知,構建時驗證和自動部署功能,VSDP是針對典型的數(shù)據(jù)庫開發(fā)任務而設計的,可以對原有數(shù)據(jù)庫反向工程,添加表,存儲過程和其他數(shù)據(jù)庫項目,而且有選擇性地將修改部署到目標數(shù)據(jù)庫中。他的主要特性有:
1、模型對比(Schema Compare)
在項目的維護和升級期間,至少需要維護產(chǎn)品數(shù)據(jù)庫(正在正式運營的數(shù)據(jù)庫)、測試數(shù)據(jù)庫、開發(fā)數(shù)據(jù)庫這三個數(shù)據(jù)庫,那開發(fā)數(shù)據(jù)庫結構變更后,如何同步到其他兩個數(shù)據(jù)庫上呢?模型對比功能可以很好地解決此問題。如果開發(fā)數(shù)據(jù)庫結構變更,可以通過選擇菜單的Data → Schema Compare → Filter中選擇Different Objects, Missing Objects or New Objects來過濾列表。這個過濾可以使我們快速地看到哪些修改需要更新到目標數(shù)據(jù)庫中。然后我們可以保存修改腳本到一個文件中,并在T-SQL編輯器或者直接將修改精寫入到目標數(shù)據(jù)庫。
2、數(shù)據(jù)對比(Data Compare)
用來比較兩個數(shù)據(jù)庫的表或者視圖中數(shù)據(jù)是否相同,可進行比較的前提是數(shù)據(jù)庫名稱一致、表具有相同的主鍵、***索引或***約束。比較完后可以對修改保存到目標數(shù)據(jù)庫或者腳本。這個特性可以將產(chǎn)品數(shù)據(jù)庫的數(shù)據(jù)導入到開發(fā)數(shù)據(jù)庫或者測試數(shù)據(jù)庫,以便于開發(fā)和測試。
3、數(shù)據(jù)生成計劃(Data Generation Plans)
在項目中,開發(fā)團隊每周至少一次提交版本到測試環(huán)境,測試人員針對新的數(shù)據(jù)結構如何快速生成測試基礎數(shù)據(jù)呢? 數(shù)據(jù)生成計劃會解決此問題。在數(shù)據(jù)生成計劃計劃中,我們要定義生成數(shù)據(jù)的表、每一個表要生成的記錄行數(shù)和要插入數(shù)據(jù)的類型。數(shù)字類型比較容易生成,針對特殊的數(shù)據(jù)比如Email、電話號碼可以通過正則表達式RegEx完成。
4、重構(Refactor)
主要用來重命名數(shù)據(jù)庫對象,比如數(shù)據(jù)庫名稱,表名稱,視圖名稱。當要重命名的對象改變后,對此對象的引用都會相應地改變。
下面我們來看看這個項目模板的基本使用方法:
在你的解決方案中添加項目,選擇Database下的數(shù)據(jù)庫模板,選擇SQL Server 2008 Database Project,輸入一個項目的名稱,你也可以選擇一個SQL Server 2005 Database Project。
點擊OK按鈕后就在我們的解決方案里頭里加入了數(shù)據(jù)庫的工程:
現(xiàn)在可以通過我們數(shù)據(jù)庫工程進行相關的數(shù)據(jù)庫開發(fā)工作了,例如通過Tables節(jié)點管理數(shù)據(jù)庫表的對象:
添加一個數(shù)據(jù)庫表,例如我們現(xiàn)在要創(chuàng)建的一個表叫做Applications,右鍵選中Tables節(jié)點,選擇添加一個Table
輸入表的名稱,點擊Add按鈕,一個數(shù)據(jù)庫表的腳本就創(chuàng)建好了,通過修改表的腳本進行數(shù)據(jù)庫表的開發(fā),目前只能使用T-SQL,沒有可視化的界面:
下面我們需要給這個表添加個主鍵,右鍵Tables節(jié)點下的Keys節(jié)點,選擇添加一個Primiary Key
輸入Key的名稱,點擊Add按鈕,一個數(shù)據(jù)庫表的主鍵的腳本就創(chuàng)建好了
現(xiàn)在我們要把創(chuàng)建好的表部署到我們的開發(fā)數(shù)據(jù)庫:
通過Build我們的數(shù)據(jù)庫項目,Visual Studio 2010會驗證我們的數(shù)據(jù)庫腳本并把database schema寫到.dbschema擴展名的文件里:
部署腳本到數(shù)據(jù)庫,右擊項目,選擇菜單項Deploy,VS會生成部署腳本:
然后就可以在你的開發(fā)數(shù)據(jù)庫上運行部署腳本。但是如果你要確保你的開發(fā)數(shù)據(jù)庫始終和你的開發(fā)過程同步,你可以設置你的數(shù)據(jù)庫項目的屬性,使得您的數(shù)據(jù)庫的任何變化都會自動部署到開發(fā)數(shù)據(jù)庫,雙擊數(shù)據(jù)庫項目的屬性,選擇Deploy選項:
選擇Deploy action,選擇Create a deployment script (.sql) and deploy to the database,”。然后使用Edit按鈕的目標連接設置連接到你的開發(fā)數(shù)據(jù)庫。這時運行Deploy,就會把數(shù)據(jù)庫腳本部署到你的開發(fā)數(shù)據(jù)庫里了。
原文標題:使用VS2010的Database 項目模板統(tǒng)一管理數(shù)據(jù)庫對象
鏈接:http://www.cnblogs.com/shanyou/archive/2010/05/08/1730810.html
【編輯推薦】