【已解决】如果将MySQL数据库中的表生成PDM-方式一
- 工作小总结
- 时间:2023-07-17 23:09
- 2253人已阅读
🔔🔔🔔好消息!好消息!🔔🔔🔔
有需要的朋友👉:联系凯哥
有时候,我们需要MySQL数据库中的表生成对应的PDM文件,这里凯哥就讲讲第一种将MySQL数据库的表生成对应的PDM文件。
环境准备:
MySQL数据库连接客户端(可以使用sqlyong或者是navicat等这类客户都工具类)
PowerDesigner。这里凯哥使用的是PowerDesigner来生成PDM的。
注:本文是以PowerDesigner为案例来讲解的。如果您使用的是其他的工具,请自行查询
操作步骤:
①:打开MySQL客户端,连接到需要生成PDM的数据库,并将表导出成sql文件的。注意:这里只导出结构,不需要导出数据的。导入文件:kaigebbs.sql
②:打开PowerDesigner.选择 File—>Reverse Engineer—>Database.如下图:
③:重新命名你导出的表结构(这里主要是为了方便找到。可以不重新命名)。如果需要重新命名,修改好名字后,点击确定。
④:选择在第二步骤中我们导出的sql文件
⑤:点击确当,就可以生成对应的PDM文件了。生成后的如下图:
说明:自动生成的,不会添加表之间的关系。如果需要添加表结构之间的关系,需要自己在PowerDesigner中手动的去添加关联关系的。
通过上面方法生成的PDM,我们会发现,这个时候生成的数据库模型,是没有中文注释的。
填坑一:添加中文注释。步骤如下:
①:在PowerDesigner的导航栏中找到tools>> Execute Commands>>Edit/Run Script。如下图:
注:快捷键是:Ctrl + Shift + X
②:添加VB脚本。具体代码如下:
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 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 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
添加后的脚本如下图所示:
点击Run之后如下图:
这样就生成了中文注册的PDM了。
填坑二:pdm同时显示中文和英文
步骤如下:
①:在PowerDesigner的导航栏中找到tools>> Displayy Preferences...>>table。如下图:
②:选择Table后,点击Advanced
③:点击进行选择显示的内容。如上图中的放大镜
④:选择code并且置顶。就可以正常显示中英文的PDM啦
点击OK,在点击OK,接着点击OK之后,就可以看到。如下图的:中文英文都添加了。
至此Mysql数据库导出PDM文件方法一介绍完成了。还不快手动试试?如果有问题随时联系凯哥(kaigejava)