在使用PowerDesigner進(jìn)行數(shù)據(jù)庫(kù)設(shè)計(jì)、生成數(shù)據(jù)庫(kù),并開(kāi)發(fā)進(jìn)行一段時(shí)間后, 在這段時(shí)間內(nèi),數(shù)據(jù)庫(kù)的結(jié)構(gòu)必然會(huì)有一些變化。我們往往會(huì)遇到這樣的問(wèn)題,PowerDesigner與現(xiàn)有數(shù)據(jù)庫(kù)結(jié)構(gòu)不匹配。如果人工的比較,即費(fèi)時(shí)又會(huì)出錯(cuò)。
1 PowerDesigner 生成數(shù)據(jù)庫(kù)
由于人工比較的缺陷,我們需要一個(gè)工具來(lái)解決。首先,因?yàn)镻owerDesigner文件與數(shù)據(jù)庫(kù)文件是完全不同的兩種文件格式,所以我們先要將它們轉(zhuǎn)換成同樣的數(shù)據(jù)結(jié)構(gòu)。我們用PowerDesigner的物理模型生成一個(gè)新的數(shù)據(jù)庫(kù)。以生成sql server 為例:
1.1 “Database”->”Generate Database”
此時(shí)數(shù)據(jù)庫(kù)設(shè)計(jì)為Employee表(原始數(shù)據(jù)庫(kù)結(jié)構(gòu)):
1.2 然后,在輸出目錄你會(huì)看到SQL腳本文件,新建一個(gè)數(shù)據(jù)庫(kù),并執(zhí)行腳本。
1.3 現(xiàn)在我們改變一些設(shè)計(jì),表結(jié)構(gòu)如下(新數(shù)據(jù)庫(kù)結(jié)構(gòu)):
將EmpName的數(shù)據(jù)類型改為nvarchar(100), 添加DeptID列。
2 數(shù)據(jù)庫(kù)架構(gòu)比較工具
在網(wǎng)上找到了一些工具,但最后選擇了Visual Studio(我的版本是2010)自帶的工具。步驟如下:
2.1 新建架構(gòu)比較:“數(shù)據(jù)“->”架構(gòu)比較“->”新建架構(gòu)比較“
2.2 選擇源架構(gòu)和目標(biāo)架構(gòu)
并確認(rèn)
2.3 找出不同項(xiàng),并修改
自帶的更新腳本,感覺(jué)不是很好,所以我是手工修改的(因?yàn)楹苌儆胁煌模P(guān)鍵是找出哪些地方不同)。如果你還有什么其它的架構(gòu)比較工具請(qǐng)拿出來(lái)分享啊。