一 、 生成注释
默认的pd没有生成注释,针对mysql5.0可以如下修改。
在Database-->edit Current DBMS...
设置dbms的属性,找到mysql5.0-->script-->objects-->column-->add
把原来的内容:
-
%20:COLUMN% [%National%?national ]%DATATYPE%[%Unsigned%? unsigned][%ZeroFill%? zerofill][ [.O:[character set][charset]] %CharSet%][.Z:[ %NOTNULL%][%IDENTITY%? auto_increment:[ default %DEFAULT%]][ comment %.q:@OBJTLABL%]]
改为:
-
%20:COLUMN% [%National%?national ]%DATATYPE%[%Unsigned%? unsigned][%ZeroFill%? zerofill][ [.O:[character set][charset]] %CharSet%][.Z:[ %NOTNULL%][%IDENTITY%? auto_increment:[ default %DEFAULT%]][ comment %.q:COMMENT%]]
其实只有最后的@OBJTLABL改为COMMENT就行了。
这样生成的代码每个字段就有注释了:
-
drop table if exists admin;
-
-
/*==============================================================*/
-
/* Table: admin */
-
/*==============================================================*/
-
create table admin
-
(
-
id int(100) not null auto_increment comment ‘主键‘,
-
user_name varchar(100) comment ‘用户名‘,
-
password varchar(100) comment ‘密码‘,
-
user_kind varchar(2) comment ‘用户类型‘,
-
is_online varchar(1) comment ‘在线标识‘,
-
last_login date comment ‘最后登陆时间‘,
-
last_logout date comment ‘最后登出时间‘,
-
primary key (id)
-
);
-
-
alter table admin comment ‘登陆系统的用户信息表‘;
表的注释:
设置dbms的属性,找到mysql5.0-->script-->objects-->Table-->TableComment:
value中,增加如下内容
alter table [%QUALIFIER%]%TABLE% comment %.60qA:COMMENT%
增加后就会生成下面语句:
alter table code comment ‘代码表‘;
代码生成:
点击菜单Database-->generate Database
出现database generation屏幕:在Format tab页中,勾选generate name in empty comment
单击确定就可以生成相应的代码,代码中就会出现上面的注释了。
二、去除注释
注释的存在主要是给大家看的,使用PowerDesigner设计数据库时,要写很多comment
让人看,生成SQL文件时也包含了这些comment,但是用这SQL文件生成数据库时,经常会因为comment太长而失败,在文件中一点一点的删除
comment未免太麻烦。这里有个方法可以让PowerDesigner生成SQL文件时不包含comment。
选择DataBase->Edit current DBMS,依次点开script -> objects -> table
-> create ,在value中将最后的[comment = "%TLABL%"]删除,这个是去掉创建表的comment。
script -> objects -> column -> create,在value中将最后的[ comment %.q:@OBJTLABL%]去掉,这个是去掉column的comment的。
这样生成SQL文件时就不会产生comment了。
另外还有一点,如果数据库设计中有index,生成SQL文件时会把drop index 放到文件的最前面,当第一次生成数据库时,由于没有index所以会报错,因此要把最前面的drop index删掉,但手动删除还是麻烦,可以这样:
CTRL + G,打开Database Generation,选择options选项卡,选择index,把右边的Drop index前的√去掉就行了