title: MongoDB转换MySQL导入PowerDesigner生成模型
date: 2019-11-06 23:11:06
categories:
- 工具
tags: - MongoDB
- MySQL
- PowerDesigner
准备工作:
选择使用脚本:MongoDB2MySQL,对作者表示感谢!
准备环境:我去阿里云上开了一台
4H 4G的抢占式实例,用完就可以删除掉。转换过程中大致资源占用情况如下:

根据自己实际情况斟酌,配置低一些可能数据量大的时候转换比较慢。
安装MySQL
安装MongoDB
安装脚本使用的Python依赖包:
代码里使用的python版本是python2,numpy和pandas支持2.7,不能安装最新版,要安装低版本:
pip install numpy==1.16.0 pandas==0.23.0
pip install MySQL-Python
遇到错误:
EnvironmentError: mysql_config not found----------------------------------------ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
解决方法:安装mysql-devel,yum install mysql-devel -y,如果还是不行,参考https://www.cnblogs.com/dupengcheng/p/8626512.html尝试一下。
pip install pymongo ConfigParser tqdm threadpool
根据自己情况修改配置
貌似一次只能转换一张表。
转换过程中出现错误:

可能是这个Collection中response这一列数据字符串太长了,先转换其他Collection
我的Python只是入门,就不去改代码了。但是因为我想要的是表结构,没有数据也是没有关系的,就暂时放过,有空再说。
PowerDesigner使用ODBC连接MySQL生成数据库模型,教程
按照文中的一步一步来就行,其中需要注意的是ODBC选择安装32位的,可能是因为powerdesigner是32位的。
最终成功达到目的,但是因为是MongoDB导出的MySQL的原因,模型是没有任何依赖关系的,只能自己添加了。
另一种解决方案
后来才想到,如果有MongoDB的ODBC驱动,是不是可以直接连接导入PowerDesigner?找了一下,果真有。
或者:蓝奏云 MongoDB ODBC Driver 下载 密码 : 3nvn
安装之后,一样进入管理工具,选择已安装的MongoDB ODBC Driver,新建数据源,保存。
打开PowerDesigner,建立PhysicalDataModel文件,DBMS项选择ODBC 3.0,数据库连接的时候,选择刚刚新建的数据源即可。
