PowerDesigner 给表统一增加默认字段(id,创建时间,创建人,修改时间,修改人)...

将下面脚本粘贴到tools->execute commands->edit/run script里运行。

 

 

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    
                  'if tab.comment="" then
                     'tab.comment   =  tab.name
                  'end if   
                  Dim isNeedAdd:isNeedAdd = true
                  Dim   col   '   running   column    
                  for   each   col   in   tab.columns    
                     if col.code="create_tm" then   
                         isNeedAdd = false   
                     end if  
                  next
                  if isNeedAdd then
                     Set col = tab.columns.CreateNew '创建一列/字段
                     If not col is Nothing then
                        col.name = "create_tm"
                        col.code = "create_tm"
                        col.DataType = "datetime"
                        output " col.name: " + col.name
                     End If
                     set col = nothing
                     
                     Set col = tab.columns.CreateNew '创建一列/字段
                     If not col is Nothing then
                        col.name = "create_emp"
                        col.code = "create_emp"
                        col.DataType = "varchar(32)"
                        output " col.name: " + col.name
                     End If
                     set col = nothing
                     
                     Set col = tab.columns.CreateNew '创建一列/字段
                     If not col is Nothing then
                        col.name = "update_tm"
                        col.code = "update_tm"
                        col.DataType = "datetime"
                        output " col.name: " + col.name
                     End If
                     set col = nothing
                     
                     Set col = tab.columns.CreateNew '创建一列/字段
                     If not col is Nothing then
                        col.name = "update_emp"
                        col.code = "update_emp"
                        col.DataType = "varchar(32)"
                        output " col.name: " + col.name
                     End If
                     set col = nothing
                  end if  
            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)