powerdesigner統一添加表字段

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_time" then     
                         isNeedAdd = false     
                     end if    
                  next  
                  if isNeedAdd then  
                     Set col = tab.columns.CreateNew '創建一列/字段  
                     If not col is Nothing then  
                        col.name = "創建時間"  
                        col.code = "create_time"  
                        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 = "創建者"  
                        col.code = "create_by"  
                        col.DataType = "varchar(64)"  
                        output " col.name: " + col.name  
                     End If  
                     set col = nothing  
                       
                     Set col = tab.columns.CreateNew '創建一列/字段  
                     If not col is Nothing then  
                        col.name = "更新時間"  
                        col.code = "update_time"  
                        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 = "更新者"  
                        col.code = "update_by"  
                        col.DataType = "varchar(64)"  
                        output " col.name: " + col.name  
                     End If  
                     set col = nothing
                     
                     
                     Set col = tab.columns.CreateNew '創建一列/字段  
                     If not col is Nothing then  
                        col.name = "刪除標記"  
                        col.code = "del_flag"  
                        col.DataType = "char(1)"  
                        output " col.name: " + col.name  
                     End If  
                     set col = nothing
                     
                     Set col = tab.columns.CreateNew '創建一列/字段  
                     If not col is Nothing then  
                        col.name = "備註"  
                        col.code = "remark"  
                        col.DataType = "varchar(50)"  
                        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   
將下面腳本粘貼到tools->execute commands->edit/run script裏運行。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章