Mysql 将表结构导入 Powerdesigner ,并将注释作为 name 列

本文介绍了如何在PowerDesigner中将MySQL数据库的表结构导入,并通过执行特定脚本实现注释与NAME列的相互转换。首先,需要下载并安装MySQL的ODBC驱动,配置ODBC连接,然后在PowerDesigner中逆向生成模型。接着,通过提供的两个VBA脚本,可以将表、列和视图的注释复制到NAME字段,或者反之,使NAME字段反映数据库中的注释。
摘要由CSDN通过智能技术生成

步骤一:

安装MYSQL的ODBC驱动

Connector/ODBC 5.1.10 下载地址:

http://dev.mysql.com/downloads/connector/odbc/5.1.html

选择win-32 MIS安装包,进行直接安装就可以了。

步骤二:

配置OBDC驱动连接

步骤三:

 打开PowerDesigner :

1)文件->新建新模型

2)数据库->connect to a Data Source

3)填写数据库连接信息

4)开始逆向生成

确定后等待生成就好了。

可参考:http://blog.csdn.net/chamtianjiao/article/details/7258316



==========================================================================

将注释和name列互相转换如下:

在PowerDesigner中使用方法为:

   PowerDesigner->Tools->Execute Commands->Edit/Run Scripts

将代码Copy进去执行就可以了,是对整个CDM或PDM进行操作

 

[vb]  view plain  copy
 print ?
  1. '代码一:将Name中的字符COPY至Comment中  
  2.   
  3.   
  4. Option   Explicit   
  5. ValidationMode   =   True   
  6. InteractiveMode   =   im_Batch  
  7.   
  8. Dim   mdl   '   the   current   model  
  9.   
  10. '   get   the   current   active   model   
  11. Set   mdl   =   ActiveModel   
  12. If   (mdl   Is   Nothing)   Then   
  13.       MsgBox   "There   is   no   current   Model "   
  14. ElseIf   Not   mdl.IsKindOf(PdPDM.cls_Model)   Then   
  15.       MsgBox   "The   current   model   is   not   an   Physical   Data   model. "   
  16. Else   
  17.       ProcessFolder   mdl   
  18. End   If  
  19.   
  20. '   This   routine   copy   name   into   comment   for   each   table,   each   column   and   each   view   
  21. '   of   the   current   folder   
  22. Private   sub   ProcessFolder(folder)   
  23.       Dim   Tab   'running     table   
  24.       for   each   Tab   in   folder.tables   
  25.             if   not   tab.isShortcut   then   
  26.                   tab.comment   =   tab.name   
  27.                   Dim   col   '   running   column   
  28.                   for   each   col   in   tab.columns   
  29.                         col.comment=   col.name   
  30.                   next   
  31.             end   if   
  32.       next  
  33.   
  34.       Dim   view   'running   view   
  35.       for   each   view   in   folder.Views   
  36.             if   not   view.isShortcut   then   
  37.                   view.comment   =   view.name   
  38.             end   if   
  39.       next  
  40.   
  41.       '   go   into   the   sub-packages   
  42.       Dim   f   '   running   folder   
  43.       For   Each   f   In   folder.Packages   
  44.             if   not   f.IsShortcut   then   
  45.                   ProcessFolder   f   
  46.             end   if   
  47.       Next   
  48. end   sub  


另外在使用REVERSE ENGINEER从数据库反向生成PDM的时候,PDM中的表的NAME和CODE事实上都是CODE,为了把NAME替换为数据库中Table或Column的中文Comment,可以使用以下脚本:

[vb]  view plain  copy
 print ? 在CODE上查看代码片 派生到我的代码片
  1. '代码二:将Comment中的字符COPY至Name中   
  2.   
  3. Option   Explicit   
  4. ValidationMode   =   True   
  5. InteractiveMode   =   im_Batch  
  6.   
  7. Dim   mdl   '   the   current   model  
  8.   
  9. '   get   the   current   active   model   
  10. Set   mdl   =   ActiveModel   
  11. If   (mdl   Is   Nothing)   Then   
  12.       MsgBox   "There   is   no   current   Model "   
  13. ElseIf   Not   mdl.IsKindOf(PdPDM.cls_Model)   Then   
  14.       MsgBox   "The   current   model   is   not   an   Physical   Data   model. "   
  15. Else   
  16.       ProcessFolder   mdl   
  17. End   If  
  18.   
  19. Private   sub   ProcessFolder(folder)   
  20. On Error Resume Next  
  21.       Dim   Tab   'running     table   
  22.       for   each   Tab   in   folder.tables   
  23.             if   not   tab.isShortcut   then   
  24.                   tab.name   =   tab.comment  
  25.                   Dim   col   '   running   column   
  26.                   for   each   col   in   tab.columns   
  27.                   if col.comment="" then  
  28.                   else  
  29.                         col.name=   col.comment   
  30.                   end if  
  31.                   next   
  32.             end   if   
  33.       next  
  34.   
  35.       Dim   view   'running   view   
  36.       for   each   view   in   folder.Views   
  37.             if   not   view.isShortcut   then   
  38.                   view.name   =   view.comment   
  39.             end   if   
  40.       next  
  41.   
  42.       '   go   into   the   sub-packages   
  43.       Dim   f   '   running   folder   
  44.       For   Each   f   In   folder.Packages   
  45.             if   not   f.IsShortcut   then   
  46.                   ProcessFolder   f   
  47.             end   if   
  48.       Next   
  49. end   sub  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值