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

通过编写PowerDesigner脚本功能批量修改属性

阅读更多

注:本例中的格式,VBS格式固定(不像JAVA样不叫自由),如if……then+回车+语句+回车+end if

 

http://www.cnblogs.com/liubiqu/archive/2008/04/24/1170108.html

 

在设计的时候经常会碰到注释和Name不统一,需要手工复制的问题。其实PD提供了很好的方法可以批量进行调整。

我写了一个递归的修改方法,如下所示:可做为参考。
 1 '******************************************************************************
 2 '* File:     CommentVsName.vbs
 3 '* Purpose:  把字段及表注释为空的用name来代替
 4 '* Title:    保证每个字段及表都有注释
 5 '* Category: 注释
 6 '* Author:   lbq(buddy) liubiqu@sina.com
 7 '* Created:  2008年3月24日
 8 '* Modified: 2008年4月24日
 9 '* Use:      打开PDM,运行本脚本(Ctrl+Shift+X)
10 '* Version:  1.0
11 '* Comment:  遍历PDM中的所有包,把数据表及字段的注释为空的部分用Name来替换
12 '* Copyright (C) 2008 topsthink Inc.
13 '******************************************************************************
14 
15 Option Explicit
16 ValidationMode = True
17 InteractiveMode = im_Abort
18 
19 
20 Dim mdl ' 定义当前的模型
21 
22 '通过全局参数获得当前的模型
23 Set mdl = ActiveModel
24 If (mdl Is NothingThen
25    MsgBox "没有选择模型,请选择一个模型并打开."
26 ElseIf Not mdl.IsKindOf(PdPDM.cls_Model) Then
27    MsgBox "当前选择的不是一个物理模型(PDM)."
28 Else
29    ProcessFolder mdl
30 End If
31 
32 
33 '--------------------------------------------------------------------------------
34 '功能函数
35 '--------------------------------------------------------------------------------
36 Private Sub ProcessFolder(folder)
37    Dim Tab '定义数据表对象
38    for each Tab in folder.tables
39       if not tab.isShortcut then
40          if tab.comment = "" then tab.comment = tab.name '进行判断并赋值
41          Dim col '定义列对象
42          for each col in tab.columns
43             if col.comment = "" then col.comment = col.name '进行判断并赋值
44          next
45       end if
46    next
47    
48    '对子包进行递归,如果不使用递归只能取到第一个模型图内的表
49    dim subfolder
50    for each subfolder in folder.Packages
51       ProcessFolder subfolder
52    next
53 
54    'msgbox "完成把comment为空的内容用name代替"
55 End Sub


[2008年5月1日]如果需要对name 进行赋值的时候可能会出现同名的错误,所以可以利用 VBS中的On Error Resume Next这个语句进行跳过。如
 1Private Sub ProcessFolder(folder)
 2   Dim Tab '定义数据表对象
 3   for each Tab in folder.tables
 4      if not tab.isShortcut then
 5         if tab.comment <> "" then tab.name = tab.comment&"(" &tab.name&")" '进行判断并赋值
 6         Dim col '定义列对象
 7         for each col in tab.columns
 8            if col.comment <> "" then 
 9               On Error Resume Next '增加此句
10               col.name = col.comment '进行判断并赋值
11            end if
12         next
13      end if
14   next

---------------------回复----------------------- 大家可以参考PD里面有一个C:\Program Files\Sybase\PowerDesigner 9\VB Scripts目录下的脚本,这些都是一个实习的实例,不过要了解每个模型的对象及属性还是要去看一下PD的帮助(直接在写脚本的时候点help就可以看到了)。

分享到:
评论

相关推荐

    PowerDesigner 中name和comment 互换脚本

    "PowerDesigner 中name和comment 互换脚本"这个主题涉及到的是在PDM中,如何通过编写VBS(Visual Basic Script)脚本来实现模型对象的name属性和comment属性的交换。 PowerDesigner中的name属性通常用于定义对象的...

    PowerDesigner通过excel生成sql脚本.rar

    这种方法通常用于批量处理大量表的设计,提高工作效率,避免手动编写SQL脚本的繁琐和易错性。 描述中提到的".vb"文件是VB编写的程序,可能是一个自定义的宏或者独立的VB应用程序,它的功能是读取Excel模板文件,...

    powerdesigner,将name自动填充到注释(comment)。

    这个功能允许用户运行自定义的脚本,对模型进行批量操作,比如修改对象属性。 在“Execute Commands”对话框中,选择“Edit/Run Scripts”选项,这将打开一个编辑器,可以在这里编写或导入VBS(Visual Basic Script...

    PowerDesigner中的name和comment互换

    在PowerDesigner这款数据建模和设计工具中,name和comment的互换是一个重要的操作...通过理解和实践PowerDesigner中的name和comment互换脚本,可以进一步加深对数据模型结构和属性的理解,提升处理数据模型的专业能力。

    powerDesigner名字备注转换赋值.zip

    这两个脚本可以被集成到PowerDesigner的工作流中,通过执行脚本批量处理模型中的所有对象,提高工作效率。 3. **执行脚本**: 用户需要在PowerDesigner环境中运行这些脚本。首先,解压"powerDesigner名字备注转换...

    powerdesigner 生成备注方法

    ##### (二)使用脚本批量生成备注 对于大量字段的备注添加工作,手动操作显然效率低下。因此,可以通过编写脚本来批量处理。以下是一种适用于PowerDesigner 15.1版本,针对SQL Server 2008数据库的脚本示例: ```...

    PowerDesigner使用部分详解

    通过以上步骤,我们可以有效地利用PowerDesigner进行SQL脚本与数据库模型之间的转换,同时也能灵活地处理模型中的大小写问题和表名与Code的一致性问题。这些技能对于数据库开发者来说是非常实用且重要的。

    powerDesigner_表备注生成

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

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

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

    PowerDesigner15-将Name中的字符COPY至Comment中.vbs

    标题“PowerDesigner15-将Name中的字符COPY至Comment中.vbs”指的是使用VBScript(Visual Basic Scripting Edition)编写的一个脚本,该脚本专为PowerDesigner 15设计,目的是自动将实体(Entity)或属性(Attribute...

    PowerDesigner15操作说明-将Comment中的字符COPY至Name中

    在IT行业中,数据库设计是至关重要的一步,而PowerDesigner是一款强大的数据库建模工具,它能够帮助我们进行概念数据模型...同时,这种自动化的方法也可以应用于其他类似的批量修改任务,只需根据需求调整脚本即可。

    Pd[removed]PowerDesigner的VB脚本

    在PowerDesigner中,用户可以通过编写VB脚本来自动化一些繁琐的任务,如批量修改属性、生成定制的代码或报告等。这不仅提高了工作效率,也使得PowerDesigner能够适应各种特定的需求。 二、PdPDM:物理数据模型的VB...

    PowerDesigner逆向工程时,将表字段的comment转换为PDM的name

    标题中提到的问题,即"PowerDesigner逆向工程时,将表字段的comment转换为PDM的name",可以通过编写和执行自定义脚本来实现。以下是这个过程的详细步骤: 1. 打开PowerDesigner中的PDM模型。 2. 进入"Tools"菜单,...

    powerdesigner资料

    2. **调整PowerDesigner设置**:通过修改PowerDesigner的命名规则,统一将所有对象名称转换为大写或小写,从而避免双引号的使用。具体步骤如下: - 进入 `Tools -&gt; Model Options -&gt; Naming Conventions`。 - 在 `...

    oracle.exportsql.(导出建表脚本)

    4. 自动化处理:如果表数量庞大,可以编写Shell脚本批量执行,例如读取"table.list"中的表名,逐个执行上述步骤。 使用导出的建表脚本,可以在PowerDesigner中创建物理数据模型(PDM),这对于数据库设计和优化非常...

    name2comment

    从提供的文件内容来看,具体例子是在Sybase PowerDesigner这款数据建模工具中,通过编写VBScript脚本批量处理模型元素(如表、列、视图)的注释信息。 1. **Sybase PowerDesigner简介** Sybase PowerDesigner是一...

    powerDesiger导入数据(Excel转PDM)

    通过编写VBScript代码,你可以读取Excel文件,解析其中的列名和数据类型,然后生成PowerDesigner能识别的格式。以下是一段简单的VBScript示例: ```vb Dim objExcel, objWorkbook, objSheet, objRange Set objExcel...

    VB Scripts.zip

    使用这些脚本时,可能需要通过PowerDesigner的命令行接口或者集成到其他自动化流程中来调用,以实现对模型的无痛修改。 总的来说,这个压缩包提供的VBScript文件展示了如何利用脚本语言解决数据库设计中的实际问题...

    转(开发软件的使用方法)

    它们允许开发者通过图形化界面设计数据模型,自动生成 SQL 脚本,以及 ORM 实体类,大大减少了手动编写代码的工作量,提高了开发效率。正确使用这些工具,能够帮助 IT 专业人士更好地管理和维护数据库项目。

    sybase数据迁移

    接着,可能需要修改默认的脚本以适应特定的迁移需求,例如处理数据转换问题或者解决迁移过程中的冲突。最后,使用调整后的脚本装载数据,这个阶段可能涉及数据的预处理、转换和验证,以确保数据的完整性和一致性。 ...

Global site tag (gtag.js) - Google Analytics