目录:
- 数据库的反向生成模型
- 模型的Cooment注释显示
步骤一:下载odbc驱动并进行安装:
(1)下载
mysql-connector-odbc-5.3.4-win32
注意:不管电脑是32位,还是64位,统一安装32位即可。
(2)安装
步骤二:odbcad32.exe添加数据源
找到C:\Windows\SysWOW64目录下找到odbcad32.exe这个文件
双击打开,弹出ODBC数据源管理界面
点击添加按钮,在弹出的窗口中选中,安装好的驱动:
点击完成,弹出数据库信息创建窗体:
点击后Ok后,即可以看到新增加了选项:
配置完成。
步骤三:数据库导出为Sql脚本文件
步骤四:打开PowerDesigner软件,进行导入生成模型
A、选择菜单,导入数据源
B.选择数据库版本
C.点击添加Sql文件
D.点击确定后,即可进行转换,生成想要的数据库模型
步骤五,设置显示备注信息:
A、双击表,进入编辑模式,注意:表和列记得添加注释,如下图所示:
点击下图按钮:
B、勾选Comment的多选框
C、打开执行脚本编辑窗口
D、执行以下VBS脚本:
Option Explicit ValidationMode = True InteractiveMode = im_Batch Dim blankStr blankStr = Space(1) Dim mdl ' the current model<span style="color: #008000;">'</span><span style="color: #008000;"> get the current active model </span> <span style="color: #0000ff;">Set</span> mdl =<span style="color: #000000;"> ActiveModel </span><span style="color: #0000ff;">If</span> (mdl <span style="color: #0000ff;">Is</span> <span style="color: #0000ff;">Nothing</span>) <span style="color: #0000ff;">Then</span> <span style="color: #0000ff;">MsgBox</span> <span style="color: #800000;">"</span><span style="color: #800000;">There is no current Model </span><span style="color: #800000;">"</span> <span style="color: #0000ff;">ElseIf</span> <span style="color: #0000ff;">Not</span> mdl.IsKindOf(PdPDM.cls_Model) <span style="color: #0000ff;">Then</span> <span style="color: #0000ff;">MsgBox</span> <span style="color: #800000;">"</span><span style="color: #800000;">The current model is not an Physical Data model. </span><span style="color: #800000;">"</span> <span style="color: #0000ff;">Else</span><span style="color: #000000;"> ProcessFolder mdl </span><span style="color: #0000ff;">End</span> <span style="color: #0000ff;">If</span> <span style="color: #0000ff;">Private</span> <span style="color: #0000ff;">sub</span><span style="color: #000000;"> ProcessFolder(folder) </span><span style="color: #0000ff;">On</span> <span style="color: #0000ff;">Error</span> <span style="color: #0000ff;">Resume</span> <span style="color: #0000ff;">Next</span> <span style="color: #0000ff;">Dim</span> <span style="color: #0000ff;">Tab</span> <span style="color: #008000;">'</span><span style="color: #008000;">running table </span> <span style="color: #0000ff;">for</span> <span style="color: #0000ff;">each</span> <span style="color: #0000ff;">Tab</span> <span style="color: #0000ff;">in</span><span style="color: #000000;"> folder.tables </span><span style="color: #0000ff;">if</span> <span style="color: #0000ff;">not</span> <span style="color: #0000ff;">tab</span>.isShortcut <span style="color: #0000ff;">then</span> <span style="color: #0000ff;">tab</span>.name = <span style="color: #0000ff;">tab</span><span style="color: #000000;">.comment </span><span style="color: #0000ff;">Dim</span> col <span style="color: #008000;">'</span><span style="color: #008000;"> running column </span> <span style="color: #0000ff;">for</span> <span style="color: #0000ff;">each</span> col <span style="color: #0000ff;">in</span> <span style="color: #0000ff;">tab</span><span style="color: #000000;">.columns </span><span style="color: #0000ff;">if</span> col.comment = <span style="color: #800000;">""</span> <span style="color: #0000ff;">or</span> <span style="color: #0000ff;">replace</span>(col.comment,<span style="color: #800000;">"</span> <span style="color: #800000;">"</span>, <span style="color: #800000;">""</span>)=<span style="color: #800000;">""</span> <span style="color: #0000ff;">Then</span><span style="color: #000000;"> col.name </span>=<span style="color: #000000;"> blankStr blankStr </span>= blankStr & <span style="color: #0000ff;">Space</span>(<span style="color: #800080;">1</span><span style="color: #000000;">) </span><span style="color: #0000ff;">else</span><span style="color: #000000;"> col.name </span>=<span style="color: #000000;"> col.comment </span><span style="color: #0000ff;">end</span> <span style="color: #0000ff;">if</span> <span style="color: #0000ff;">next</span> <span style="color: #0000ff;">end</span> <span style="color: #0000ff;">if</span> <span style="color: #0000ff;">next</span> <span style="color: #0000ff;">Dim</span> view <span style="color: #008000;">'</span><span style="color: #008000;">running view </span> <span style="color: #0000ff;">for</span> <span style="color: #0000ff;">each</span> view <span style="color: #0000ff;">in</span><span style="color: #000000;"> folder.Views </span><span style="color: #0000ff;">if</span> <span style="color: #0000ff;">not</span> view.isShortcut <span style="color: #0000ff;">then</span><span style="color: #000000;"> view.name </span>=<span style="color: #000000;"> view.comment </span><span style="color: #0000ff;">end</span> <span style="color: #0000ff;">if</span> <span style="color: #0000ff;">next</span> <span style="color: #008000;">'</span><span style="color: #008000;"> go into the sub-packages </span> <span style="color: #0000ff;">Dim</span> f <span style="color: #008000;">'</span><span style="color: #008000;"> running folder </span> <span style="color: #0000ff;">For</span> <span style="color: #0000ff;">Each</span> f <span style="color: #0000ff;">In</span><span style="color: #000000;"> folder.Packages </span><span style="color: #0000ff;">if</span> <span style="color: #0000ff;">not</span> f.IsShortcut <span style="color: #0000ff;">then</span><span style="color: #000000;"> ProcessFolder f </span><span style="color: #0000ff;">end</span> <span style="color: #0000ff;">if</span> <span style="color: #0000ff;">Next</span> <span style="color: #0000ff;">end</span> <span style="color: #0000ff;">sub</span> </pre>
E、执行后,即可发现注释已经正常现示:
步骤六:显示原字段名
点击Ok后,会弹出确认框,默认选择确定后即可看到效果:
步骤七:更改显示的顺序:
调整后效果:
数据库反向生成模型结束!