巧用半自動化方法解決數據庫表結構差異
導讀:許多人在工作中常常會遇到升級的事情,對于不同的用戶,有時所使用的數據庫的表結構也會有一些不同,時間長了,往往就需要一份各版本數據庫表結構的差異報告了。當你需要一份這樣的報告時,你會怎么做?一個個的比較每個庫的每個表,每個表的每個字段,每個字段的定義,索引……都過于繁瑣,本問將主要介紹一個半自動化的方法,詳細內容請大家參考下文:
前提條件,你的機器里要有MS Visio。這個軟件里,有一個[數據庫——數據庫模型圖]的繪圖類型。我就是用它來實現比較數據庫表結構之間的差異的。
***步:打開Visio,新建一個數據庫——數據庫模型圖的文件。繪圖文件打開后,選擇主菜單的“數據庫”-“反向工程”,這時,會彈出“反向工程向導”,從現有數據庫中提取數據庫架構。配置好你的數據源,就是要比較的數據庫(一般是舊版數據庫)。按提示,會要你輸入用戶名、密碼的,然后就會讓你選擇要進行反向工程的對象類型。自己選擇吧,你關心什么樣的數據庫結構,就選什么好了。好了,下一步,選擇要進行反向工程的表和/或視圖,全選好啦。再下一步,這里,問你是否要將形狀添加到當前頁,我建議你還是不要添加了,否,以后再添加形狀。再下一步,檢查一下,沒問題就按完成吧。至此,源數據庫的結構已經創建好了。保存一下文件吧。
第二步:在源數據庫模型圖文件中,選擇主菜單的“數據庫”—“刷新模型”。這時,會彈出“刷新模型向導”,和原來的反向工程向導基本一樣,在這里,請選擇你要比較的數據庫(一般是新版數據庫),按提示,會要你輸入用戶名、密碼的,然后……,就開始比較當前數據庫和存儲在模型中的數據庫映像之間的差異了。在這里,會有一個報告給你,這個報告,你即可信,也不要全信,為什么前面說是半自動化的方法呢,原因就在這,有差異,他會全部列出來,沒有差異的地方,他也會列出來。OK,自己辛苦下,按這個報告的提示,咱自己一一驗證,出個權威性的數據庫結構差異報告吧。
至此,差異報告出來了。
大家可以按此方法,兩兩比較,很快,你的總報告就完成了。不過,這個方法只適合比較表結構,如果有些固化信息已經寫在表內容里,就不適合這個方法了。所以大家在采用上文中提到的兩種方法時,一定要綜合考慮各種條件。
【編輯推薦】