zoukankan      html  css  js  c++  java
  • PowerDesigner 逆向中 Name和Comment互换

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

    • 代码一:将Name中的字符COPY至Comment中
      [vb] view plain copy
       
      1. Option   Explicit   
      2. ValidationMode   =   True   
      3. InteractiveMode   =   im_Batch  
      4.   
      5. Dim   mdl   '   the   current   model  
      6.   
      7. '   get   the   current   active   model   
      8. Set   mdl   =   ActiveModel   
      9. If   (mdl   Is   Nothing)   Then   
      10.       MsgBox   "There   is   no   current   Model "   
      11. ElseIf   Not   mdl.IsKindOf(PdPDM.cls_Model)   Then   
      12.       MsgBox   "The   current   model   is   not   an   Physical   Data   model. "   
      13. Else   
      14.       ProcessFolder   mdl   
      15. End   If  
      16.   
      17. '   This   routine   copy   name   into   comment   for   each   table,   each   column   and   each   view   
      18. '   of   the   current   folder   
      19. Private   sub   ProcessFolder(folder)   
      20.       Dim   Tab   'running     table   
      21.       for   each   Tab   in   folder.tables   
      22.             if   not   tab.isShortcut   then   
      23.                   tab.comment   =   tab.name   
      24.                   Dim   col   '   running   column   
      25.                   for   each   col   in   tab.columns   
      26.                         col.comment=   col.name   
      27.                   next   
      28.             end   if   
      29.       next  
      30.   
      31.       Dim   view   'running   view   
      32.       for   each   view   in   folder.Views   
      33.             if   not   view.isShortcut   then   
      34.                   view.comment   =   view.name   
      35.             end   if   
      36.       next  
      37.   
      38.       '   go   into   the   sub-packages   
      39.       Dim   f   '   running   folder   
      40.       For   Each   f   In   folder.Packages   
      41.             if   not   f.IsShortcut   then   
      42.                   ProcessFolder   f   
      43.             end   if   
      44.       Next   
      45. end   sub  

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

    • 代码二:将Comment中的字符COPY至Name中
      [vb] view plain copy
       
      1. Option   Explicit   
      2. ValidationMode   =   True   
      3. InteractiveMode   =   im_Batch  
      4.   
      5. Dim   mdl   '   the   current   model  
      6.   
      7. '   get   the   current   active   model   
      8. Set   mdl   =   ActiveModel   
      9. If   (mdl   Is   Nothing)   Then   
      10.       MsgBox   "There   is   no   current   Model "   
      11. ElseIf   Not   mdl.IsKindOf(PdPDM.cls_Model)   Then   
      12.       MsgBox   "The   current   model   is   not   an   Physical   Data   model. "   
      13. Else   
      14.       ProcessFolder   mdl   
      15. End   If  
      16.   
      17. Private   sub   ProcessFolder(folder)   
      18. On Error Resume Next  
      19.       Dim   Tab   'running     table   
      20.       for   each   Tab   in   folder.tables   
      21.             if   not   tab.isShortcut   then   
      22.                   tab.name   =   tab.comment  
      23.                   Dim   col   '   running   column   
      24.                   for   each   col   in   tab.columns   
      25.                   if col.comment="" then  
      26.                   else  
      27.                         col.name=   col.comment   
      28.                   end if  
      29.                   next   
      30.             end   if   
      31.       next  
      32.   
      33.       Dim   view   'running   view   
      34.       for   each   view   in   folder.Views   
      35.             if   not   view.isShortcut   then   
      36.                   view.name   =   view.comment   
      37.             end   if   
      38.       next  
      39.   
      40.       '   go   into   the   sub-packages   
      41.       Dim   f   '   running   folder   
      42.       For   Each   f   In   folder.Packages   
      43.             if   not   f.IsShortcut   then   
      44.                   ProcessFolder   f   
      45.             end   if   
      46.       Next   
      47. end   sub   

    以上两段代码都是VB脚本,在PowerDesigner中使用方法为:

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

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

  • 相关阅读:
    阿里云配置mysql远程连接
    [转载]Lodop用户应对谷歌浏览器停用Plugin技术的处理办法
    利用lodop打印控件轻松实现批量打印
    ThinkPHP 中M方法和D方法的具体区别
    Codeforces
    POJ
    HDU
    POJ
    POJ
    HDU
  • 原文地址:https://www.cnblogs.com/zhier/p/5895701.html
Copyright © 2011-2022 走看看