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%