PowerDesigner生成mysql字段comment 注釋
最近需求出了新變化,再次開始 pd 之路,卻發現很多以前熟練的操作儼然陌生,
好記性不如爛筆頭一點不假。
1. 為什么沒有注釋
在 pdm 視圖中,默認 powerdesigner 是不會生成注釋的。
2. 解決方案
可以修改 mysql 文件生成模版來達到我們所需要的效果。
3. 生成注釋
在 pdm 視圖中,Database --> Edit Current DBMS。
找到 MySql5.0 --> Script --> Objects --> Column --> Add。
a) 原來的內容
%20:COLUMN% [%National%?national ]%DATATYPE%[%Unsigned%? unsigned][%ZeroFill%? zerofill][ [.O:[character set][charset]] %CharSet%][.Z:[ %NOTNULL%][%IDENTITY%? auto_increment:[ default %DEFAULT%]][ comment %.q:@OBJTLABL %]]
b) 修改后的內容
%20:COLUMN% [%National%?national ]%DATATYPE%[%Unsigned%? unsigned][%ZeroFill%? zerofill][ [.O:[character set][charset]] %CharSet%][.Z:[ %NOTNULL%][%IDENTITY%? auto_increment:[ default %DEFAULT%]][ comment %.q:COMMENT%] ]
c) 實際改動地方
最后的@OBJTLABL 改為 COMMENT 就行了。
d) 代碼生成
Database --> Generate Database。
在 Format 頁中,勾選 Generate name in empty comment單擊確定就可以生成相應的代碼,
代碼中就會出現上面的注釋了。
4. 去除注釋
生成 SQL 文件時也包含了這些 comment,但是用這 SQL 文件生成數據庫時,
經常會因為 comment 太長而失敗,在文件中一點一點的刪除 comment 未免太麻煩。
a) 去掉創建表的 comment
DataBase --> Edit Current DBMS,依次點開 Script --> Objects --> Table --> Create。
在 value 中將最后的[comment = "%TLABL%"]刪除。
b) 去掉 column 的 comment
Script --> Objects --> Column --> Create,在 value 中,
將最后的[ comment %.q:@OBJTLABL%]刪除。
5. 注意事項
a) index
如果數據庫設計中有 index,生成 SQL 文件時會把 drop index 放到文件的最前面,
當第一次生成數據庫時,由於沒有 index 所以會報錯,因此要把最前面的 dropindex 刪掉,
但手動刪除還是麻煩,可以這樣:
CTRL + G,打開 Database Generation,選擇 Options 選項卡,選擇 Index,
把右邊的 Drop index 前的√去掉就行了。
b) 表的注釋
有些 powerdesigner 版本按照上面的步驟修改后,還是沒有注釋生成,
是因為沒有表的注釋設置緣故。
DataBase --> Edit Current DBMS,找到 Mysql5.0 --> Script --> Objects
--> Table --> TableComment。
Value 中,增加如下內容:
alter table [%QUALIFIER%]%TABLE% comment %.60qA:COMMENT%