1.说明
使用PowerDesigner设计数据库表,
基于PowerDesigner设计数据库表,
生成MySQL数据库对应的DDL刷库脚本。
2.生成物理数据模型
首先介绍PowerDesigner数据模型:
CDM:Conceptual Data Model 概念数据模型
PDM:Physical Data Model 物理数据模型
二者的区别是,
CDM是纯粹概念上的数据模型,
PDM是和具体的数据库类型相关的数据模型,
比如PostgreSQL、Oracle、MySQL等。
生成SQL语句当然也就需要从对应PDM生成。
这里首先先将CDM转换成PDM,
对应的PDM类型为MySQL。
在菜单上选择:
Tools -> Generate Physical Data Model

然后新建一个PDM,
DBMS选择MySQL5.0,
Name填写UserProjectPDM,
Code填写UserProjectPDM,
点击确定即可:

3.保存物理数据模型
点击菜单栏的保存按钮(Saves the document),
选择模型保存的目录:
D:项目设计用户项目1.数据库表概要设计PowerDesignerModel
以及修改保存的文件名:
UserProjectPDM.pdm

4.生成数据库脚本
确保使用的是物理模型PDM,
可以生成对应数据库SQL脚本。
在菜单上选择:
Database -> Generate Database

出现Database Generation对话框,
默认在General选项卡下,
Directory设置脚本保存目录:
D:MyDocLearn9.项目设计用户项目1.数据库表概要设计
File name设置脚本文件名称,
UserProject_MySQL刷库脚本.sql
General type选择脚本的生成类型:
Script Geneartion

点击确定生成脚本,
会显示生成的文件,
可以点击Edit…查看生成的脚本。

如果已经从CDM生成过PDM了,
再次生成会变成更新对应的PDM,
如果需要覆盖掉已经生成的PDM,
则去掉勾选Preserve modifications:

5.查看生成的脚本
UserProject_MySQL刷库脚本.sql:
/*==============================================================*/
/* DBMS name: MySQL 5.0 */
/* Created on: 2021/5/20 16:22:53 */
/*==============================================================*/
drop table if exists tbl_user;
/*==============================================================*/
/* Table: tbl_user */
/*==============================================================*/
create table tbl_user
(
id varchar(100) not null comment '用户ID',
name varchar(1024) comment '用户名称 ',
status varchar(10) not null default 'NORMAL' comment '用户状态,有正常和暂停两种状态,默认状态为正常',
create_time datetime not null comment '创建时间',
update_time datetime comment '修改时间',
primary key (id)
);
alter table tbl_user comment '用户表,记录用户信息。';
6.生成脚本的其他参数
在上面的Database Generation对话框,
还有一些其它选项卡,
可以控制生成脚本的内容。
6.1.Options选项卡
可以选择是否生成drop table语句,
是否需要创建索引等:

6.2.Format选项卡
可以选择生成的脚本文件格式,
以及文件中字符大小写等:

6.3.Preview选项卡
可以提前预览生成的SQL,
配合前面的参数修改查看效果:
