将CDM中所有以Relatonship_开头的关系全部重命名,避免生成数据库因为重复关系名报错
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 ref '要处理的对象
for each ref in folder.relationships
if not ref.isShortcut then
if instr(lcase(ref.code),"relationship_") =1 then
dim ctable '子表名称
ctable= lcase(ref.entity1.name)
dim ptable '父表名称
ptable=lcase(ref.entity2.name)
dim relation
if(len(ptable)>12) then
relation= mid(ptable,1,8)+mid(ptable,len(ptable)-3)
else
relation=ptable
end if
relation=relation+"-"
if(len(ctable)>12) then
relation=relation+mid(ctable,1,8)+mid(ctable,len(ctable)-3)
else
relation=relation+ctable
end if
relation=ucase(relation)
output ref.name+">>>>"+ relation
ref.name=relation
ref.code=relation
end if
end if
next
'22222222222222222222222222222222222222222222222222222222222222222222222处理继承关系
for each ref in folder.inheritances
if not ref.isShortcut then
'output ref.ParentEntity.name+"//"+ref.ChildrenList
dim ctable '子表名称
ctable= lcase(ref.ChildrenList)
dim ptable '父表名称
ptable=lcase(ref.ParentEntity.name)
dim relation
if(len(ptable)>12) then
relation= mid(ptable,1,8)+mid(ptable,len(ptable)-3)
else
relation=ptable
end if
relation=relation+"-"
if(len(ctable)>12) then
relation=relation+mid(ctable,1,8)+mid(ctable,len(ctable)-3)
else
relation=relation+ctable
end if
relation=ucase(relation)
output folder.parent.name+"--->"+folder.name+"--->"+ref.name+"}}}}}"+ relation
ref.name=relation
ref.code=relation
end if
' end if
next
'递归遍历子文件夹
Dim f '子文件夹
For Each f In folder.Packages
if not f.IsShortcut then
ProcessFolder f
end if
Next
end sub
将CDM中所有以Relatonship_开头的关系全部重命名,避免生成数据库因为重复关系名报错的更多相关文章
- 【mybatis】mybatis执行一个update方法,返回值为1,但是数据库中数据并未更新,粘贴sql语句直接在数据库执行,等待好久报错:Lock wait timeout exceeded; try restarting transaction
今天使用mybatis和jpa的过程中,发现这样一个问题: mybatis执行一个update方法,返回值为1,但是数据库中数据并未更新,粘贴sql语句直接在数据库执行,等待好久报错:Lock wai ...
- MySql语句中select可以嵌套么,字段的重命名可以用中文么
今天文档中看到的查询语句,SELECT后面又跟了一个SELECT嵌套,而且把字段重命名为中文,请问可以这样做么 MySql语句中select可以嵌套么,字段的重命名可以用中文么 >> my ...
- 如果在Yii中,使用AR查询,不直接写sql,则在使用的时候会报错
如果在Yii中,使用AR查询,不直接写sql,则在使用的时候会报错 Student::find() ->select("id,name,from_unixtime(create_tim ...
- vue中"‘webpack-dev-server’不是内部或外部命令,也不是可运行的程序"的报错
在vue项目中发现了这个报错 解决办法将项目里的“node_modules”文件夹删除,然后重新运行cnpm install
- NetCore 3.0 中使用Swagger生成Api说明文档及升级报错原因
认识Swagger Swagger 是一个规范和完整的框架,用于生成.描述.调用和可视化 RESTful 风格的 Web 服务.总体目标是使客户端和文件系统作为服务器以同样的速度来更新.文件的方法,参 ...
- PDM生成数据库-0设置表名和字段名中不带双引号
如果PDM直接导出脚本的话,所有的表和字段都会被加上双引号,非常不方便,去除双引号的办法: Database->Edit Current DBMS在弹出窗体中第一项General中找到 Scri ...
- 在myeclipse中maven项目关于ssh整合时通过pom.xml导入依赖是pom.xml头部会报错
错误如下 ArtifactTransferException: Failure to transfer org.springframework:spring-jdbc:jar:3.0.5.RELEAS ...
- 利用Eclipse中的Maven构建Web项目报错(一)
利用Eclipse中的Maven构建Web项目 1.在进行上述操作时,pom.xml一直报错 <project xmlns="http://maven.apache.org/POM/4 ...
- RN项目中使用react-native-elements报错: Unrecognized font family 'Material Icons'
查询了一些方案,但各自的环境不尽相同,最后在google中找到了答案.主要问题在于 (1)版本问题 (2)Xcode配置问题 报错如下 解决步骤: 1 . 首先需要正确安装 npm i -S reac ...
随机推荐
- 更改jmeter发送邮件样式(转)
http://www.cnblogs.com/puresoul/p/5049433.html Jmeter默认的报告展示的信息比较少,如果出错了,不是很方便定位问题.由Jmeter默认报告优化这篇文章 ...
- wab框架
http协议 一.http简介 1.HTTP是一个基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等). 2.HTTP是一个属于应用层的面向对象的协 ...
- cell 配置
Cells Cell configuration options Configure the API (top-level) cell Configure the child cells Config ...
- JVM内存管理基础概念
.内存的不同形态 物理内存 虚拟内存 .内存的使用形式 内核空间 用户空间 .java虚拟机运行时数据划分 PC寄存器:保存当前程序运行时的内存地址. Java栈:总是和线程关联,每个线程拥有一个ja ...
- 判断一个浏览器是否支持opacity
支持opacity的浏览器,总会将opacity值规范成小于1.0且以0开头的值.例如,如果将opacity指定为:.5,原始支持opacity的浏览器就会将该值规范为0.5,而不支持opacity的 ...
- Windows10安装Linux子系统
在win10上面可以直接在powershell里面安装Linux,具体步骤如下: 首先我们要打开Windows功能 在这里把勾打上 然后打开设置>>更新和安全>>针对开发人员, ...
- 关于html的一些杂技
html预定义字符指的是 :< > html实体指的是 $amp 等 php中htmlspeciachar()就是讲html预定义字符转换成html实体. 浏览器渲染时,会将html实 ...
- 冒泡排序的PHP实现 Bubble Sort
冒泡排序Bubble Sort的PHP实现.代码中函数说明: out_arr,用于将数组输出成一个字符串,以便查看 bubblesort,第一种实现方案,从后往前依次选出需要的值,这里是较大的 bub ...
- hzau 1208 Color Circle(dfs)
1208: Color Circle Time Limit: 1 Sec Memory Limit: 1280 MBSubmit: 289 Solved: 85[Submit][Status][W ...
- Ceph的现状
转自:https://www.ustack.com/blog/ceph-distributed-block-storage/ 1. Ceph简介 Ceph是统一分布式存储系统,具有优异的性能.可靠性. ...