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里运行。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值