PowerDesigner中批量替换name和code的脚本
无论是cdm还是pdm都可以批量替换、处理。可在Tool-Execute commands-Edit/Run script中编辑运行脚本:
下面的脚本是批量将CDM中实体的用Code替换掉Name
Option Explicit
ValidationMode = True
InteractiveMode = im_Batch
Dim mdl '当前model
'获取当前活动model
Set mdl = ActiveModel
If (mdl Is Nothing) Then
MsgBox "There is no current Model "
ElseIf Not mdl.IsKindOf(PdCDM.cls_Model) Then '如果是处理pdm,这里换成PdPDM.cls_Model
MsgBox "The current model is not an Physical Data model. "
Else
ProcessFolder mdl
End If
' This routine copy name into comment for each table, each column and each view
' of the current folder
Private sub ProcessFolder(folder)
Dim item '要处理的对象
for each item in folder.Entities
if not item.isShortcut then '先处理每个实体或类的Name和Code
item.name = item.code
'再处理每个类的属性
dim col
for each col in item.Attributes
col.name= col.code
next
end if
next
'最后处理关联关系
for each item in folder.relationships
if not item.isShortcut then
item.name = item.code
end if
next
'递归遍历子文件夹
Dim f '子文件夹
For Each f In folder.Packages
if not f.IsShortcut then
ProcessFolder f
end if
Next
end sub
////////////////////////////////////////////////////////////////////////////////////////////////////
此外,若是在pdm中可以用下面的方法遍历表或视图
Dim Tab 'running table
for each Tab in folder.tables
if not tab.isShortcut then
tab.name = tab.code
Dim col ' running column
for each col in tab.columns
col.name= col.code
next
end if
next
Dim view 'running view
for each view in folder.Views
if not view.isShortcut then
view.name = view.code
end if
next
//////////////////////////////////////////////////////////////////////////////////////
//遍历Domian
For each dm in mdl.domains
If Not dm.isShortcut Then
If dm.code = "dm_pk" Then
Exit For
End If
End If
Next
最新文章
- [安卓]应用程序资源(App Resources)
- 一、JPEG文件格式-----压缩框架
- SICP 习题 (1.7) 解题总结
- Event Handling in Spring
- ftp在shell脚本中的使用方法
- 天坑 之 java web servlet+jsp项目 配置后 404 (MyEclipse转eclipse)
- 演练5-8:Contoso大学校园管理系统(实现存储池和工作单元模式)
- 链栈之C++实现
- 一致性hash和虚拟节点
- 手机访问pc网站,自动跳转到手机网站
- 团队作业4——第一次项目冲刺(ALpha版本)第三天
- Chapter 1 An Overview of Computers and Programming Languages
- Kubernetes 核心概念
- java 大数处理
- Tree(树链剖分+线段树延迟标记)
- [freeCodeCamp] solution to JUGGLING ASYNC
- linux中执行定时任务对oracle备份(crontab命令)
- 一键生成http服务器
- 【转】64位ORACLE客户端上plsql无法识别ORACLE_HOME解决方案
- Oracle,跳出游标循环