PowerDesigner 从数据库反向生成Pdm时把Comment复制到Name中,从PowerDesigner导入数据库时把Name复制到Comment

本文主要是介绍PowerDesigner 从数据库反向生成Pdm时把Comment复制到Name中,从PowerDesigner导入数据库时把Name复制到Comment,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在使用PowerDesigner对数据库进行概念模型和物理模型设计时,一般在Name或Comment中写中文,在Code中写英文。Name用来显 示,Code在代码中使用,但Comment中的文字会保存到数据库Table或Column的Comment中,当Name已经存在的时候,再写一次 Comment很麻烦,可以使用以下代码来解决这个问题

在PowerDesigner中使用方法为:

   PowerDesigner->Tools->Execute Commands->Edit/Run Scripts

将代码Copy进去执行就可以了,是对整个CDM或PDM进行操作


'代码一:将Name中的字符COPY至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   comment   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   tab.comment   =   tab.name   Dim   col   '   running   column   for   each   col   in   tab.columns   col.comment=   col.name   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  

另外在使用REVERSE ENGINEER从数据库反向生成PDM的时候,PDM中的表的NAME和CODE事实上都是CODE,为了把NAME替换为数据库中Table或Column的中文Comment,可以使用以下脚本:


'代码二:将Comment中的字符COPY至Name中   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  Private   sub   ProcessFolder(folder)   
On Error Resume Next  Dim   Tab   'running     table   for   each   Tab   in   folder.tables   if   not   tab.isShortcut   then   tab.name   =   tab.comment  Dim   col   '   running   column   for   each   col   in   tab.columns   if col.comment="" then  else  col.name=   col.comment   end if  next   end   if   next  Dim   view   'running   view   for   each   view   in   folder.Views   if   not   view.isShortcut   then   view.name   =   view.comment   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  


这篇关于PowerDesigner 从数据库反向生成Pdm时把Comment复制到Name中,从PowerDesigner导入数据库时把Name复制到Comment的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/634297

相关文章

Linux下MySQL数据库定时备份脚本与Crontab配置教学

《Linux下MySQL数据库定时备份脚本与Crontab配置教学》在生产环境中,数据库是核心资产之一,定期备份数据库可以有效防止意外数据丢失,本文将分享一份MySQL定时备份脚本,并讲解如何通过cr... 目录备份脚本详解脚本功能说明授权与可执行权限使用 Crontab 定时执行编辑 Crontab添加定

oracle 11g导入\导出(expdp impdp)之导入过程

《oracle11g导入导出(expdpimpdp)之导入过程》导出需使用SEC.DMP格式,无分号;建立expdir目录(E:/exp)并确保存在;导入在cmd下执行,需sys用户权限;若需修... 目录准备文件导入(impdp)1、建立directory2、导入语句 3、更改密码总结上一个环节,我们讲了

Java使用Javassist动态生成HelloWorld类

《Java使用Javassist动态生成HelloWorld类》Javassist是一个非常强大的字节码操作和定义库,它允许开发者在运行时创建新的类或者修改现有的类,本文将简单介绍如何使用Javass... 目录1. Javassist简介2. 环境准备3. 动态生成HelloWorld类3.1 创建CtC

如何通过try-catch判断数据库唯一键字段是否重复

《如何通过try-catch判断数据库唯一键字段是否重复》在MyBatis+MySQL中,通过try-catch捕获唯一约束异常可避免重复数据查询,优点是减少数据库交互、提升并发安全,缺点是异常处理开... 目录1、原理2、怎么理解“异常走的是数据库错误路径,开销比普通逻辑分支稍高”?1. 普通逻辑分支 v

Python与MySQL实现数据库实时同步的详细步骤

《Python与MySQL实现数据库实时同步的详细步骤》在日常开发中,数据同步是一项常见的需求,本篇文章将使用Python和MySQL来实现数据库实时同步,我们将围绕数据变更捕获、数据处理和数据写入这... 目录前言摘要概述:数据同步方案1. 基本思路2. mysql Binlog 简介实现步骤与代码示例1

Python从Word文档中提取图片并生成PPT的操作代码

《Python从Word文档中提取图片并生成PPT的操作代码》在日常办公场景中,我们经常需要从Word文档中提取图片,并将这些图片整理到PowerPoint幻灯片中,手动完成这一任务既耗时又容易出错,... 目录引言背景与需求解决方案概述代码解析代码核心逻辑说明总结引言在日常办公场景中,我们经常需要从 W

使用shardingsphere实现mysql数据库分片方式

《使用shardingsphere实现mysql数据库分片方式》本文介绍如何使用ShardingSphere-JDBC在SpringBoot中实现MySQL水平分库,涵盖分片策略、路由算法及零侵入配置... 目录一、ShardingSphere 简介1.1 对比1.2 核心概念1.3 Sharding-Sp

Go语言连接MySQL数据库执行基本的增删改查

《Go语言连接MySQL数据库执行基本的增删改查》在后端开发中,MySQL是最常用的关系型数据库之一,本文主要为大家详细介绍了如何使用Go连接MySQL数据库并执行基本的增删改查吧... 目录Go语言连接mysql数据库准备工作安装 MySQL 驱动代码实现运行结果注意事项Go语言执行基本的增删改查准备工作

C#使用Spire.XLS快速生成多表格Excel文件

《C#使用Spire.XLS快速生成多表格Excel文件》在日常开发中,我们经常需要将业务数据导出为结构清晰的Excel文件,本文将手把手教你使用Spire.XLS这个强大的.NET组件,只需几行C#... 目录一、Spire.XLS核心优势清单1.1 性能碾压:从3秒到0.5秒的质变1.2 批量操作的优雅

Python使用python-pptx自动化操作和生成PPT

《Python使用python-pptx自动化操作和生成PPT》这篇文章主要为大家详细介绍了如何使用python-pptx库实现PPT自动化,并提供实用的代码示例和应用场景,感兴趣的小伙伴可以跟随小编... 目录使用python-pptx操作PPT文档安装python-pptx基础概念创建新的PPT文档查看