一、基本环境
- Sybase PowerDesigner版本号:16.5.0.3982
- JDK版本号:jdk-8u201-windows-i586 下载地址
- PostgreSQL版本号:12.6
- postgressql jdbc驱动jar包:postgresql-8.1-415.jdbc3.jar 下载地址
二、打开PowerDesigner新建一个空白物理数据模型
点击PowerDesigner菜单栏“File” -> “New Model” -> “Model types”
选择左侧“PhysicalDataModel”,在“Model name”输入新建模型的名称,在“DBMS”选择数据库类型,点击“确定”完成新建。
三、配置连接数据源
点击PowerDesigner菜单栏“Database” ->configure connections->connection profiles->add data source
四、让PDM图形列表显示name和code等需要的信息
点击菜单”TOOLS” —〉显示参数设置(DISPLAY PREFERENCES) , 在弹出来的框中选中Content—〉Table —> 点右下角那个Advanced 按钮 —> 在弹出的框中选中 Columns —>点ListColumns右边的按钮 —> 在弹出的框中找到Code 和 Name ,在它后面的小框中打上勾
五、进行反向工程
点击“Database”->"Update Model from Database",弹出窗口“Database Reverse Engineering Options”
六、PowerDesigner pdm name和comment列显示互转的方法
PowerDesigner不支持显示comment备注列,所以很多时候我们的pdm中的table是name和comment用一样的中文名称,而code用英文名称。
但是在用sql或数据库转过来的pdm name和code都是英文字段名,这时候只有把comment转成name列才能显示中文。
打开PowerDesigner 运行命令窗口
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