`

powerdesign mysql 注解 comment

阅读更多

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%

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics