pdm生成java_PowerDesigner通过SQL语句生成PDM文件并将name和comment进行互相转换

本篇文章主要介绍了PowerDesigner通过SQL语句生成PDM文件并将name和comment进行互相转换 超详细过程(图文),具有一定的参考价值,感兴趣的小伙伴们可以参考一下

1.软件准备

软件:Navicat 11.1,Powerdesigner 15

2.安装步骤

第一步:将要生成的数据库导出为sql文件

aa30f7b166f08d0f2df9bdc938893487.png

第二步:打开PowerDesigner选择File-->Reverse Engineer --> Database...

83d4e87ef050f32f142494a87fd5cc62.png

第三步:选择MySQL5.0数据库

26526e3018923663cc5ac6ade6dcac0a.png

第四步:找到第一步生成的Sql文件,点击确定即可

0b5703a50704fbcc4767b3d8a31ed724.png

PowerDesigner中NAME和COMMENT的互相转换,需要执行语句

由于PDM 的表中 Name 会默认=Code 所以很不方便, 所以需要将 StereoType 显示到表的外面来

打开[工具]->[显示属性](英文:Display Preferences) ->Content->Table->右边面板Columns框中 勾选: StereoType ,这样再在 StereoType中填入code字段相同内容就会显示在图形界面上了

使用说明: 在【Tools】-【Execute Commands】-【Edit/Run Script】 下。输入下面你要选择的语句即可,也可以保存起来,以便下次使用,后缀为.vbs。

8204c431ade07a417c38b772cb01bf7a.png

需要注意的问题是:运行语句时必须在Module模式下,如果是导出报表时执行会出现错误提示。

1.Name转到Comment注释字段。一般情况下只填写NAME,COMMENT可以运行语句自动生成。

将该语句保存为name2comment.vbs

'把pd中那么name想自动添加到comment里面'如果comment为空,则填入name;如果不为空,则保留不变,这样可以避免已有的注释丢失.

Option ExplicitValidationMode= TrueInteractiveMode=im_BatchDim mdl 'the current model

'get the current active model

Set mdl =ActiveModelIf (mdl Is Nothing) Then

MsgBox "There is no current Model"

ElseIf Not mdl.IsKindOf(PdPDM.cls_Model) Then

MsgBox "The current model is not an Physical Data model."

ElseProcessFolder mdlEnd If

'This routine copy name into comment for each table, each column and each view'of the current folder

Private subProcessFolder(folder)Dim Tab 'running table

for each Tab infolder.tablesif not tab.isShortcut then

if trim(tab.comment)="" then'如果有表的注释,则不改变它.如果没有表注释.则把name添加到注释里面.

tab.comment = tab.nameend if

Dim col 'running column

for each col in tab.columnsif trim(col.comment)="" then '如果col的comment为空,则填入name,如果已有注释,则不添加;这样可以避免已有注释丢失.

col.comment=col.nameend if

next

end if

next

Dim view 'running view

for each view infolder.Viewsif not view.isShortcut and trim(view.comment)="" thenview.comment=view.nameend if

next

'go into the sub-packages

Dim f 'running folder

For Each f Infolder.Packagesif not f.IsShortcut thenProcessFolder fend if

Next

end sub

2.将Comment内容保存到NAME中,comment2name.vbs 实习互换。语句为:

Option ExplicitValidationMode= TrueInteractiveMode=im_BatchDim mdl 'the current model

'get the current active model

Set mdl =ActiveModelIf (mdl Is Nothing) Then

MsgBox "There is no current Model"

ElseIf Not mdl.IsKindOf(PdPDM.cls_Model) Then

MsgBox "The current model is not an Physical Data model."

ElseProcessFolder mdlEnd If

Private subProcessFolder(folder)On Error Resume Next

Dim Tab 'running table

for each Tab infolder.tablesif not tab.isShortcut then

tab.name = tab.commentDim col 'running column

for each col in tab.columnsif col.comment="" then

elsecol.name=col.commentend if

next

end if

next

Dim view 'running view

for each view infolder.Viewsif not view.isShortcut thenview.name=view.commentend if

next

'go into the sub-packages

Dim f 'running folder

For Each f Infolder.Packagesif not f.IsShortcut thenProcessFolder fend if

Next

end sub

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值