经过PowerDesigner(下面简称PD) 创建模型很是方便,生成基础结构SQL相信你们都会,网上也有不少例子。
可是做为一个懒人,为了让计算机尽可能完成更多的工做,减小人工的出错几率,必须更严格要求本身sql
在网上搜索了一圈,都没找到相应的结果。
问了一圈老鸟也没有谁知道,看来仍是得本身研究。数据库
有人告诉我,Taod 能够经过对比模型,生成差别结果的SQL,顺着这个思路,我是否是每一个版本的PDM文件保存好,经过对比就能生成增量的SQL了呢?立刻尝试一下。打开「工具」-「Compare Models」:
发现只能查看对比结果和对比报告,不能生成SQL。纠结了10多分钟,尝试失败。工具
漫无目的翻看「帮助」,在「Database」菜单看到了这个选项,灵光一闪,感受就是它了。有时候要遇到对的人真的须要点运(ren)气(pin),咱们先来看看界面。
若是说能自动更新数据库,那么确定生成的就是根据差别生成的增量SQL,先看看选项:
- Using an archive model
- Using a data source
- Using a script file
- Using a model from repositoryspa
就是PD 能够经过与「Archive Model」、数据源、脚本文件、配置库对比,生成增量的更新方案。「data source」和「model from repository」 要跑数据库、「script file」存在不可控的因素,即便能成功,也不方便或者会有问题。那么只剩下一个选项了。code
在PD 不少界面不止一次看到「Archive Model」这个选项,可是并不知道是用来作什么的,如今在这里看到这个选项,犹如醍醐灌顶,一会儿全部线索就联系起来了。PD能够经过对比最新的模型和存档的模型,生成差别SQL并应用到数据库或者生成增量SQL!blog
咱们立刻尝试一下:
- Archive Model 能够经过「另存为」或者「Generate Database」、「Apply changes to database」的『Automatic archive』 生成。这里我先本身另存了一个。
- 在面板里面随意修改一个字段名
- 选择 以前的Archive Model
- 而后选择「script generation」ip
sql/*==============================================================*/ /* DBMS name: MySQL 5.0 */ /* Created on: 2015/1/30 11:03:12 */ /*==============================================================*/ alter table tb_sender change column create_date created datetime;