`
oldbig
  • 浏览: 75978 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

PowerDesigner 中name与code、comment的自动转换脚本

阅读更多
PowerDesign?是不是感觉很古老,用惯了而已。
以下代码参考网络整理而成,经本人优化并亲测通过。
==>name转code   name格式: 中文#code
.set_value(_First, true, new)
.foreach_part(%Name%, "'#'")
.if (%_First%)
.delete(%CurrentPart%)
.set_value(_First, false, update)
.else
%CurrentPart%
.endif
.next
在PowerDesigner中使用方法为:  PowerDesigner->Tools->Model Options->NamingConvention->name 【Enable name/code Conventions】->name to code
 
==>name转comment   name格式: 中文#code
将table name的#号之前的文字变为table的comment,将column name的#号之前的文字变为column的comment.
原来的代码是针对一个folder(CDM或PDM)下所有表(还有其他view等)进行操作,改为可以只针对特定表进行操作,如果tabname有值,则就匹配tabname值,否则如果tabname为空,则对所有表进行操作。
在PowerDesigner中使用方法为:  PowerDesigner->Tools->Execute Commands->Edit/Run Scripts
-----------------------------------------------------------------------------
Option   Explicit
ValidationMode   =   True
InteractiveMode   =   im_Batch
Dim tabname
Dim   mdl   '   the   current   model

'如果tabname留空,则对所有表进行操作
tabname = "应答推荐"
'   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
            dim cando
            cando = 1
            if tabname<>"" and Instr(tab.name, tabname) = 0 then
               cando = 0
            end if
            'msgBox tab.name
            'msgBox cando
            if   not   tab.isShortcut and cando=1   then
                  msgBox "即将对如下表操作:"&tab.name
                  tab.comment   =  split(tab.name ,"#")(0)  
                  Dim   col   '   running   column
                  for   each   col   in   tab.columns
                        col.comment=   split(col.name,"#")(0)
                        msgBox col.comment
                  next
            end   if
      next

      Dim   view   'running   view
      for   each   view   in   folder.Views
            if   not   view.isShortcut   then
                  view.comment   =   split(view.name,"#")(0)
            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
0
1
分享到:
评论

相关推荐

    PowerDesigner中显示name,code,comment的解决方法

    PowerDesigner中显示name,code,comment的解决方法 PowerDesigner是一款功能强大的数据模型设计工具,但是在某些版本中,视图不支持同时显示name、code、comment(列注释)。本文档将介绍如何在PowerDesigner中显示...

    PowerDesigner中的name和comment互换

    根据提供的信息,虽然文章的描述部分为“NULL”,但通过对部分内容的分析,可以看出文章重点介绍了在PowerDesigner中编写和执行脚本,以及如何使用这些脚本进行name和comment的互换。这个过程是通过PowerDesigner的...

    解决PowerDesigner中Name与Code同步的问题.doc

    在使用PowerDesigner的过程中,有时会遇到一个常见的问题,即Name(名称)与Code(代码)同步的问题。这个问题指的是当用户修改了一个实体或字段的Name时,其对应的Code也会自动更新,这可能不符合开发者的预期,...

    使用PowerDesigner对NAME和COMMENT互相转换.docx

    为了解决这个问题,可以利用PowerDesigner的内置功能和自定义脚本来实现NAME与COMMENT之间的自动转换。 首先,我们可以使用一个VBA(Visual Basic for Applications)脚本来将NAME中的字符复制到COMMENT中。这段...

    Sybase PowerDesigner 常用脚本

    描述中提到的"Sybase PowerDesigner 常用脚本 name to code ,code to name"暗示了这些脚本主要用于在名称和代码之间进行转换。这可能是为了方便处理数据库对象的标识符,例如表名、列名、存储过程名等,它们可能...

    powerdesgin 模型中名字和code的相互转换

    在给定的文件中,`name2comment.vbs`和`comment2name.vbs`是VBScript脚本文件,它们可能被设计来实现PowerDesigner模型中名字与Code之间的转换。VBScript是一种轻量级的脚本语言,常用于Windows环境下的自动化任务。...

    PowerDesigner逆向工程-Mysql,并解决没有注释的问题!

    在完成所有必要的调整后,运行脚本,PowerDesigner模型就会自动更新,包含从数据库中提取的注释信息。这样,即使原始数据库中没有注释,你也可以在PowerDesigner的模型中看到详细的描述,极大地提高了工作效率和代码...

    PowerDesigner把列名(name)复制为描述(comment).rar

    使用PowerDesigner我经常只设置了Name和code,但是数据库里显示不了Name,显示的是描述,及comment。所以我可以通过执行一个脚本批量把列名(name)复制为描述(comment)。

    PowerDesigner

    这段脚本的作用是遍历当前模型中的所有表和视图,如果comment不为空,则将comment的值复制到name属性中,这样在PowerDesigner中就可以看到name和comment的值。 **步骤2:清理重复的name** 接下来,我们需要执行第二...

    PowerDesigner 常用设置大全

    虽然PowerDesigner默认没有提供name-comment-stereotype相互自动复制的功能,但可以通过编写脚本来实现这一需求。具体步骤如下: 1. 使用PowerDesigner提供的API,创建一个脚本文件,用于实现name-comment-...

    PowerDesigner 设置

    Step 2: 打开 Dialog 将 Operating modes 中的 Name To Code mirroring 将前面的勾去掉。 这样,我们就可以取消 Name 和 Code 之间的关联,避免了不必要的麻烦。 2. sql 语句中表名与字段名前的引号去除 在使用 ...

    name2comment.vbs

    每次我用PowerDesigner设计数据库时,都只是注释了一些复杂的字段,一些简单的字段根本就不用注释,见到code就知道其中的意思,奈何本人英文水平有限,加上一些英文单词太长进行了简写,我就想要把字段名称name这列...

    PowerDesigner+12+建数据库及自动生成代码流程

    4. **编辑表属性**:双击表,填写基本信息,如Name(表名)、Code(编号)和Comment(备注)。在字段设置页面,填写Name(字段名)、Code(字段别名)、Data Type(数据类型),可选填Domain(域),以及设置M(非空...

    powerdesigner导入excel生成表结构

    - 脚本的主要逻辑是读取指定路径下的Excel文件,并根据其中的数据自动创建或更新PowerDesigner模型中的表结构。 #### VBScript代码详解 ```vb Option Explicit Dim mdl ' the current model Set mdl = ActiveModel...

    powerDesigner与Oracle相互倒数据技巧

    #### 二、PowerDesigner中逆向工程将数据库中comment脚本赋值到PDM的name ##### 1. 脚本逻辑概述 此脚本的主要功能是通过逆向工程将数据库中的注释信息赋值给物理数据模型中的对象名称。这种方法有助于保持数据库的...

    用excel设计表导入powerdesigner

    在这里,你可以选择VBA脚本文件并运行,从而实现Excel设计的表结构自动导入到PowerDesigner中。 完成上述步骤后,PowerDesigner将根据Excel模板生成对应的实体关系模型(ER模型),这将极大地提高数据库设计的效率...

    将word表格导入到powerdesigner快速实现创建pdm.docx

    通过使用 VBScript 脚本,我们可以实现将 Word 表格中的数据快速导入到 PowerDesigner 中,从而快速创建 PDM。 在本文中,我们将详细介绍如何将 Word 表格导入 PowerDesigner,并快速创建 PDM。首先,我们需要准备...

    powerDesigner_表备注生成

    PowerDesigner通过内置的脚本语言支持用户自定义各种操作,其中包括为模型中的对象(如表、字段)自动添加备注的功能。此功能可以通过编写并执行特定的脚本来实现。 - **步骤1**:打开PowerDesigner并选择待处理的...

    Powerdesigner

    包括设置表的展示名称Name、具体的表属性Code、属性注释Comment、数据类型DataType、数据长度Length、主键选项P和非空项选项M等。 在配置完表之后,需要进行添加表关系和表关系设置,包括为表添加外键关系,以及...

    Powerdesigner使用建议(完整版) 用实体关系图进行数据库建模

    **脚本与自动化** 最后,PowerDesigner还支持VBScript脚本编写,可用于自动化常见的建模任务,比如批量更新对象名称和注释。例如,脚本`name2comment.vbs`可以用于在数据库生成过程中,将对象名称复制到对象注释中...

Global site tag (gtag.js) - Google Analytics