美文网首页
PowerDesigner生成数据库刷库脚本

PowerDesigner生成数据库刷库脚本

作者: 木木与呆呆 | 来源:发表于2021-05-20 17:05 被阅读0次

    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:\MyDoc\Learn\9.项目设计\用户项目\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,
    配合前面的参数修改查看效果:


    7.问题解决

    7.1.生成物理数据模型失败

    需要先检查模型参数:
    Tools -> Check Model
    打开Check Model Parameters对话框:
    去掉Entity Attribute标签下的两个配置的勾选:
    Entity Attribute name uniqueness
    Entity Attribute code uniqueness



    点击确定后,
    跳到Reslut List检查结果页面,
    页面为空则说明模型没有问题,
    否则在生成物理数据模型时会失败。

    相关文章

      网友评论

          本文标题:PowerDesigner生成数据库刷库脚本

          本文链接:https://www.haomeiwen.com/subject/wgrbjltx.html