`
lvxing607
  • 浏览: 77972 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

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



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
感谢猫月
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics