zoukankan      html  css  js  c++  java
  • powerDesigner 把name项添加到注释(comment),完美方案!

     

    第一次写博客,分享一点经验吧,平时大家用powerDesigner的时候,pd是不会把name项默认添加到comment的,所以生成的数据库表里面也没有中文字段的注释.

    我在网上查了一下.有解决方案了.

    以下是网上的解决方案,我把它完善了一下.

    '使用方法使用方法
    'PowerDesigner->Tools->Execute Commands->Edit/Run Scripts

    可以保存该脚本为:name2comment.vbs

    '把pd中那么name想自动添加到comment里面
    '
    如果comment为空,则填入name;如果不为空,则保留不变,这样可以避免已有的注释丢失.

    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 
              if  trim(tab.comment)="" then'如果有表的注释,则不改变它.如果没有表注释.则把name添加到注释里面.   
                        tab.comment   =   tab.name   
              end if  
                      
    Dim   col   '   running   column    
                      for   each   col   in   tab.columns   
                            
    if trim(col.comment)="" then '如果col的comment为空,则填入name,如果已有注释,则不添加;这样可以避免已有注释丢失.
                               col.comment=   col.name   
                            
    end if 
                      
    next    
                
    end   if    
          
    next    
      
          
    Dim   view   'running   view    
          for   each   view   in   folder.Views    
                
    if   not   view.isShortcut and trim(view.comment)=""  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  

    代码二:将Comment中的字符COPY至Name中

    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

    当我们设计好数据库以后,再执行它,ok,你的数据库的说明字段都有了.是不是 很方便呢!

     注:以上的代码复制进去后可能会出错,把一些空格删除,再添加空格就可以了。

    转:http://www.cnblogs.com/dukey/archive/2010/01/20/dukey.html

  • 相关阅读:
    简单的进度条程序
    python装饰器
    冒泡,递归
    实现随机验证码
    三木运算,三元运算
    set()集合
    list()列表
    python3.5 Str类型与bytes类型转换
    说说编码与转义的区别
    Java 中字符编码相关的问题解析
  • 原文地址:https://www.cnblogs.com/chencidi/p/1931661.html
Copyright © 2011-2022 走看看