powerdesigner逆向生成物理模型

阅读更多
powerdesigner逆向生成物理模型
文章分类:软件开发管理
首先配置ODBC(具体请搜索 很简单)

然后在database --》connect中 链接配置的ODBC连接
-->连接成功后选择   database-->database reverse enginneering options
选择use a data source,选择配置好的数据源点确定, --》选择要逆向生成的表点确定。

逆向生成成功。


逆向生成后会有个问题,就是生成的NAME 和CODE是一样的 并不是注释,在可视化界面下并不直观,

有以下脚本可以自动替换注释到 NAME

Java代码

   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 

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



将注释替换成NAME
Java代码

   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 

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




脚本的使用方法:PowerDesigner->Tools->Execute Commands->Edit/Run Scripts

你可能感兴趣的:(F#,Go,配置管理,脚本)