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
,数据库连接的时候,选择刚刚新建的数据源即可。