PowerDesigner,根据name自动生成commnet的脚本

PowerDesigner在操作上有很多的不便性,但在库的设计及SQL代码生成上还是很强大的。

由于自己写的代码生成器能够根据comment生成相关字段注释,所以,commnet还是非常重要的。以前是通过手动一条条的从Name得到到comment中去,字段比较少倒是没什么感觉,这次项目很多表都是在一百多个字段以上,所以,有点吃力。于是,在网上找了点资料,然后自己稍微加工了下,脚本如下:

[vb]  view plain  copy
  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 NothingThen  
  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 code 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.   
  24. Dim col 'running column  
  25. for each col in tab.columns  
  26. If (col.comment=""Then '已存在的comment则不更新  
  27. col.comment= col.name  
  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.comment = view.name  
  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  

这段代码也是从网上找的。主要是加了个如果comment的为空的情况下则从name复制,否则将不处理。

PowerDesigner里的脚本是VB写的。所以,如果对VB了解的话,还是可以编写很多东西的。

代码的使用,如下图:

PowerDesigner,根据name自动生成commnet的脚本_第1张图片

在这里需要注意下,运行脚本时要先在PowerDesigner选中需要处理的PDM。

你可能感兴趣的:(powerdesigner,自动生成comment,脚本,库,vb,数据库)