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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/561066.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python逐步回归筛选变量_Python实现逐步回归(stepwise regression)

逐步回归的基本思想是将变量逐个引入模型,每引入一个解释变量后都要进行F检验,并对已经选入的解释变量逐个进行t检验,当原来引入的解释变量由于后面解释变量的引入变得不再显著时,则将其删除。以确保每次引入新的变量之前回归方程…

java里面如何加入高级的东西_如何成为一名Java高级架构师

近些年来互联网快速发展,现阶段的数据量和高并发的诉求,引起了不少传统的技术人员的力不从心,企业愈发关注到了系统架构的重要性,既需要掌控整体又需要洞悉局部瓶颈并依据具体的业务场景给出解决方案的领导型人物——Java架构师应…

mysql获取最好成绩对应数据的其他项_开源数据同步神器——canal

前言如今大型的IT系统中,都会使用分布式的方式,同时会有非常多的中间件,如redis、消息队列、大数据存储等,但是实际核心的数据存储依然是存储在数据库,作为使用最广泛的数据库,如何将mysql的数据与中间件的…

java怎么使用floor_Java floor() 方法

floor() 方法可对一个数进行下舍入,返回给定参数最大的整数,该整数小于或等给定的参数。语法该方法有以下几种语法格式:double floor(double d)double floor(float f)参数double 或 float 的原生数据类型。返回值返回 double 类型数组&#x…

python外部库是什么_如何使用Portable Python安装外部库?

由于管理员权限,我无法在我的机器上安装Python,但我成功下载/打开了Portable Python.我在Windows 7 64位机器上.我怎样才能使用以前的外部库,比如Numpy或Gmpy?解决方法:easy_install正在尝试从源代码安装. gmpy和gmpy2是C扩展,需要兼容的C编译器和其他库(GMP;以及gm…

java创建目录时带权限_java – 无法在外部存储中创建目录,尽管权限显然设置正确...

我有在我的清单文件中,但是尝试创建一个目录时我失败了Log.d(LOG_STRING, android.os.Environment.getExternalStorageState() );java.io.File folder new java.io.File(Environment.getExternalStorageDirectory() java.io.File.separator "test");boolean succe…

window访问不到linux的activemq_springboot整合开源项目测试拦截接口访问的频率

本节目标本篇文章主要是介绍以下springboot整合开源项目,实现反爬虫接口防刷的demo,额外的介绍一下axios的基本用法;所以本篇文章阅读起来相对轻松。OK,下面开始整合.引入项目依赖cn.keking.project kk-anti-reptile …

java 数据库外键查询_oracle中查询所有外键引用到某张表的记录

其实查找这篇文章 我主要用的sql 是这句 select * from user_cons_columns t where t.constraint_name like FK_CTS_CONT_REINS__CRR;起因:系统测试的时候发现如果某条记录已经被引用了,这个时候删除这条记录会引起数据不一致,系统会报错。…

sql server限制查询条数_18. Django 2.1.7 查询集 QuerySet

上一篇Django 2.1.7 模型 - 条件查询 F对象 Q对象 聚合查询讲述了关于Django模型的介绍F对象、Q对象、聚合查询等功能。不管什么查询,返回的结果都基本是查询集QuerySet,如下:In [16]: MiddlewareInfo.objects.all()Out[16]: 1)>, 2)>,…

python文件传输socket_树莓派采用socket方式文件传输(python)

两个树莓派,在同一个局域网内,传输文件,采用socket方式。client端代码:import socketimport osimport hashlibclient socket.socket() # 生成socket,连接serverip_port ("192.168.137.210",12346) # server…

java 过滤列表_Java 8 Stream过滤列表中列表的值

我有一个看起来如下的对象class MyObject {String type;List subTypes;}是否有可能,给定一个MyObject列表,使用Java 8流来过滤类型和子类型?到目前为止我有myObjects.stream().filter(t -> t.getType().equals(someotherType).collect(Collections.toList());但在…

python实现程序重启_python实现自动重启本程序的方法

#!/usr/local/bin/python#-*- coding: UTF-8 -*-##################################################################### python 自动重启本程序#####################################################################import os,time#def close():# print "程序重启&a…

java调用 restapi 乱码_Java HttpURLConnection模拟请求Rest接口解决中文乱码问题

public staticString PostRequest(String URL,String obj) {String jsonString"";try{//创建连接URL url newURL(URL);HttpURLConnection connection(HttpURLConnection) url.openConnection();connection.setDoOutput(true);connection.setDoInput(true);connectio…

python惰性求值的特点_C#教程之C#函数式编程中的惰性求值详解

https://www.xin3721.com/eschool/python.html惰性求值在开始介绍今天要讲的知识之前,我们想要理解严格求值策略和非严格求值策略之间的区别,这样我们才能够深有体会的明白为什么需要利用这个技术。首先需要说明的是C#语言小部分采用了非严格求值策略&am…

工厂模式java界面_java – 工厂模式动态方法

我正在努力了解工厂模式.如果有很多实现,那么我的工厂模式将会有很多如果还是开关的情况.而且每次我介绍一个新的实现,我应该更改我的工厂代码像下面的例子,如果让我们假设狗鸭正在实施宠物界面,如果许多动物实现宠物界面,我的工厂会很长时间,如果有其他的代码或开关案例,那么明…

ecs 云服务器 管理控制台_阿里云ECS服务器监控资源使用情况

阿里云Ecs服务器运维过程中,无论是Centos系统还是Windows系统,有时候我们需要监控分析最新的服务器资源利用率等运行情况,例如最近3个小时CPU使用率情况、内存使用率、网络流入带宽、网络流出带宽、服务器TCP连接数等数据状况。上述提到的这些…

python创建提示用户输入查询条件_python流程控制练习

‘’’if条件‘’’示例sex ‘female’age19is_beautifulTrueis_successfulTrueheight1.70if sex ‘female’ and age > 18 and age <20 and is_beautiful \and height > 1.6 and height < 1.8 :print(“001”)if is_successful :print(‘ok’)else:print(‘sb’)e…

svg 地图_找地图素材?有这个网站就够了!

文 | 孙宁使用地图类的素材最担心什么&#xff1f;答案是&#xff1a;地图数据的准确性&#xff01;设想&#xff0c;你辛辛苦苦找来的地图素材&#xff0c;却被人发现是一个假的地图&#xff0c;那可是要犯错误滴~今天给大家推荐一个地图网站&#xff0c;完全不用担心这个问题…

hadoop设置java环境_hadoop安装(3)_Linux配置JDK环境

hadoop分布式集群安装的过程中要先给Linux系统配置好JDK环境&#xff0c;因为hadoop是基于Java开发的。所以本文主要介绍如何在centos上安装jdk环境&#xff0c;主要步骤如下&#xff1a;1、去Oracle官网下载Linux版本的jdk&#xff0c;地址如下&#xff1a;笔者下载的是JDK1.8…

python巩固函数和模块_Python学习教程6:函数,模块和类的使用

Python函数定义函数是组织好的,可重复利用的,用来实现单一,或相关联功能的代码片段. 函数能提高应用的模块行,使代码逻辑更加的条理清晰.内建函数内建函数是Python中自带的,可供用户重复使用的一类单一功能的函数,比如我们常用的print函数,就属于内建函数.自定义函数Python中除…