powerdesigner中name的导入丢失有关问题
powerdesigner中name的导入丢失问题
需求:原有数据库是sqlserver,需要转成postgresql数据库,对应的er图也要修改。遇到的问题:反向工程建好的table中的name都变成了code,丢失了原来的中文字段名称
步骤:
1.打开原有er图的pdm文件,选择database -》generate database,在弹出的窗口中,directory选择你导出的路径。selection选择默认即可
2.新建一个pdm(physical data model),file->reverse enginerr->database,选择刚才导出的sql语句。当然,sql语句要根据不同的数据库修改成对应的建表语句。
3.导入。
4.name变成了code,原来视图中的中文注释全部不显示。
5.PowerDesigner->Tools->Execute Commands->Edit/Run Scripts
当然,他的前提是你的common注释中有你的字段的中文名,否则的话,请参考
http://miaoyue.iteye.com/blog/1223003
感谢猫月
需求:原有数据库是sqlserver,需要转成postgresql数据库,对应的er图也要修改。遇到的问题:反向工程建好的table中的name都变成了code,丢失了原来的中文字段名称
步骤:
1.打开原有er图的pdm文件,选择database -》generate database,在弹出的窗口中,directory选择你导出的路径。selection选择默认即可
2.新建一个pdm(physical data model),file->reverse enginerr->database,选择刚才导出的sql语句。当然,sql语句要根据不同的数据库修改成对应的建表语句。
3.导入。
4.name变成了code,原来视图中的中文注释全部不显示。
5.PowerDesigner->Tools->Execute Commands->Edit/Run Scripts
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
当然,他的前提是你的common注释中有你的字段的中文名,否则的话,请参考
http://miaoyue.iteye.com/blog/1223003
感谢猫月