經過PowerDesigner(下面簡稱PD) 創建模型很是方便,生成基礎結構SQL相信你們都會,網上也有不少例子。
可是做爲一個懶人,爲了讓計算機儘可能完成更多的工做,減小人工的出錯機率,必須更嚴格要求本身sql
在網上搜索了一圈,都沒找到相應的結果。
問了一圈老鳥也沒有誰知道,看來仍是得本身研究。數據庫
有人告訴我,Taod 能夠經過對比模型,生成差別結果的SQL,順着這個思路,我是否是每一個版本的PDM文件保存好,經過對比就能生成增量的SQL了呢?立刻嘗試一下。打開「工具」-「Compare Models」:
發現只能查看對比結果和對比報告,不能生成SQL。糾結了10多分鐘,嘗試失敗。工具
漫無目的翻看「幫助」,在「Database」菜單看到了這個選項,靈光一閃,感受就是它了。有時候要遇到對的人真的須要點運(ren)氣(pin),咱們先來看看界面。
若是說能自動更新數據庫,那麼確定生成的就是根據差別生成的增量SQL,先看看選項:
- Using an archive model
- Using a data source
- Using a script file
- Using a model from repositoryspa
就是PD 能夠經過與「Archive Model」、數據源、腳本文件、配置庫對比,生成增量的更新方案。「data source」和「model from repository」 要跑數據庫、「script file」存在不可控的因素,即便能成功,也不方便或者會有問題。那麼只剩下一個選項了。code
在PD 不少界面不止一次看到「Archive Model」這個選項,可是並不知道是用來作什麼的,如今在這裏看到這個選項,猶如醍醐灌頂,一會兒全部線索就聯繫起來了。PD能夠經過對比最新的模型和存檔的模型,生成差別SQL並應用到數據庫或者生成增量SQL!blog
咱們立刻嘗試一下:
- Archive Model 能夠經過「另存爲」或者「Generate Database」、「Apply changes to database」的『Automatic archive』 生成。這裏我先本身另存了一個。
- 在面板裏面隨意修改一個字段名
- 選擇 以前的Archive Model
- 而後選擇「script generation」ip
sql/*==============================================================*/ /* DBMS name: MySQL 5.0 */ /* Created on: 2015/1/30 11:03:12 */ /*==============================================================*/ alter table tb_sender change column create_date created datetime;