PowerDesigner,根据name自动生成commnet的脚本

PowerDesigner在操作上有很多的不便性,但在库的设计及SQL代码生成上还是很强大的。

由于自己写的代码生成器能够根据comment生成相关字段注释,所以,commnet还是非常重要的。以前是通过手动一条条的从Name得到到comment中去,字段比较少倒是没什么感觉,这次项目很多表都是在一百多个字段以上,所以,有点吃力。于是,在网上找了点资料,然后自己稍微加工了下,脚本如下:

Option Explicit
ValidationMode = True
InteractiveMode = im_Batch

Dim mdl 'the current model

'get the current active model
Set mdl = ActiveModel
If (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."
Else
ProcessFolder mdl
End If

'This routine copy name into code for each table, each column and each view
'of the current folder
Private sub ProcessFolder(folder)
Dim Tab 'running table
for each Tab in folder.tables
if not tab.isShortcut then

Dim col 'running column
for each col in tab.columns
If (col.comment="") Then '已存在的comment则不更新
col.comment= col.name
end if
next
end if
next

Dim view 'running view
for each view in folder.Views
if not view.isShortcut then
view.comment = view.name
end if
next

'go into the sub-packages
Dim f 'running folder
For Each f In folder.Packages
if not f.IsShortcut then
ProcessFolder f
end if
Next
end sub

这段代码也是从网上找的。主要是加了个如果comment的为空的情况下则从name复制,否则将不处理。

PowerDesigner里的脚本是VB写的。所以,如果对VB了解的话,还是可以编写很多东西的。

代码的使用,如下图:


在这里需要注意下,运行脚本时要先在PowerDesigner选中需要处理的PDM。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值