powerdesigner反向生成er图,给表名和字段,设置中文注释

本文介绍了如何快速从MySQL导出表结构到PowerDesigner,通过脚本批量修改表名和字段注释,并解决导入时表名无注释的问题。提供了从MySQL到PowerDesigner的优化步骤,包括利用SQL脚本和VBS脚本进行自动化处理。
摘要由CSDN通过智能技术生成

目录

 

1.推荐先从mysql导出表结构sql文件,速度快很多

2.先多选一列code这一列出来,用于改为注释

3.通过脚本修改表名注释,字段注释

4.发现bug,sql导入的er图,没有表名注释。。。

5. 于是猜测,我再导入一次 alter table comment脚本应该就可以了。测试ok了!!

6.把上面alter脚本全部保存成一个sql文件,再次导入,ok了。


 

1.推荐先从mysql导出表结构sql文件,速度快很多

然后再导入powerdesigner,这样速度快,比直接从odbc连接mysql快很多。。。

https://blog.csdn.net/csdn565973850/article/details/80812738

有个bug,参考:4.发现bug,sql导入的er图,没有表名注释。。。

 

2.先多选一列code这一列出来,用于改为注释

Tools---Display Preferences

选table,高级选项,column,筛选,勾选code。保存保存保存

 

3.通过脚本修改表名注释,字段注释

运行脚本:

表名改为:注释+英文

字段改为:注释/英文

下面是脚本,可以保存成vbs文件存起来,后面再次使用。

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
 
'This routine copy name into code for each table, each column and each view
'of the current folder
Private sub ProcessFolder(folder)
 
Dim Tab 'running table
for each Tab in folder.tables
if not tab.isShortcut then
if len(tab.comment) <> 0 then
'tab.name = tab.name
tab.name = tab.comment&"["&tab.name&"]"
end if
On Error Resume Next
Dim col 'running column
for each col in tab.columns
if len(col.comment) <>0 then
col.name =col.comment
end if
On Error Resume Next
next
end if
next
end sub

4.发现bug,sql导入的er图,没有表名注释。。。

左图:odbc导入,   右图:sql导入

  

双击,查看表结构,如下:

上图:odbc导入,   下图:sql导入

上图:odbc导入,   下图:sql导入

 

5. 于是猜测,我再导入一次 alter table comment脚本应该就可以了。测试ok了!!

批量生成alter脚本sql如下:

SELECT t1.table_name,t1.table_comment 
,CONCAT('alter table ',t1.table_name,' comment ''',t1.table_comment,''' ; ') AS comment_sql 
FROM information_schema.tables t1
 WHERE table_schema = 'egb_new'
AND t1.table_comment <>''  

 

6.把上面alter脚本全部保存成一个sql文件,再次导入,ok了。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值