PowerDesigner逆向工程,同时将comm注释转化为name显示

本文介绍了一种利用PowerDesigner从现有数据库中导出并整理数据的方法。通过编写和运行脚本,实现数据库表名和字段名由注释转换,帮助理解和重构业务逻辑。

心情不好,强忍着内心的烦躁写下这份笔记;

公司网络不好,意外发现以前的csdn的标签无法请求,让我意识到别人的笔记永远是别人的,我的才是自己的;

年前被安排了一项目,我内心各种不情愿,然而还是无法反抗, 一起开发的同事,草草的建了一份数据库,就简单的开了个会,然后他2天内就写出了这么个数据库,挺佩服他两天内就可以整理好这么些业务,但很多细节还是需要我来填补,丢给我项目思维导图,和数据库,. 他就请假 结婚了,这份数据库里面注释还可以,但还是不习惯没有原型的数据库,故此导出数据至powerDesigner中,用以整理业务和思路;

好了,话不多少,直接上教程;

选择数据库资源

114447_AN0I_1995134.png

任性的随便起一个模型名,后面可以改

114659_toxE_1995134.png

选择链接书库路径odbc 

没有配置过得同学需要配置, 百度powerDesigner配置odbc有教程,后续我有时间,可以会更新至博客中

 

114643_ULeQ_1995134.png

这一步很重要,请注意顺序

1.默认allusers (所有数据库) , 取消打勾

2.下拉选择单个数据库

3.全选该数据库中表 (打勾) ,其他的乱七八糟的选项暂时不管

 

115042_b9o9_1995134.png

点击ok

看数据库大小,一般5-10分钟; 最后是这样显示的;此时,没有commt注释很不爽;

115735_BhR8_1995134.png

点击工具

115824_dHYE_1995134.png

运行script脚步

120016_Gutl_1995134.png

这里附上 表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    
  
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 

 

最终展示效果

120249_AZTZ_1995134.png

转载于:https://my.oschina.net/java1314/blog/816484

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值