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