SQL脚本生成ER图
最近在写毕设论文需要给每个表画ER图,于是就想找找有没有自动画图的东西或脚本,然后发现大部分要不然就是收费要不然就是要引流,我直接花了一个晚上写一个,然后开源!!
项目介绍
该脚本将Navicat导出的SQL脚本转换为单实体ER图,并保存为图片文件。项目基于Graphviz画图能力,通过解析Navicat导出的SQL脚本文件再通过Python调用Graphviz进行作图,逻辑比较简单,效果如下
项目开源地址
https://gitee.com/wonaren/SQLConvertER
使用方法
一、Graphviz画图环境
1.需要安装Graphviz画图环境并配置环境变量,安装包下载地址:Graphviz官网
2.解压到系统目录,如:D:\XWWWW\Graphviz-12.2.1-win64\bin
,并将bin目录添加到系统环境变量中。
3.检验环境变量是否配置成功。
二、python环境,安装Graphviz软件包
请确保python已安装Graphviz软件包,如果没有安装,可以使用以下命令安装。
pip install graphviz
三、准备Navicat 导出的SQL脚本
-
打开Navicat选择数据库,给表和表字段添加中文注释
-
导出SQL脚本,格式为“仅结构”,如:
-
将导出SQL脚本文件放入项目目录下,如
四、运行脚本生成ER图
-
检查SQL脚本格式
-
确认SQL文件名与代码中的文件名一致
-
运行结果查看
注意事项
- 入口文件为
entry.py
- 脚本文件默认文件名为
db_struct.sql
,目前仅适配了Navicat导出的“仅结构”格式SQL脚 - 数据库表与表内所有字段均要写中文注释,不然解析出来的内容就是表名。
- 你可以选择导出中文版ER图(需要中文注释),也可以导出英文版(表名)ER图,只需要修改
entry.py
中的is_chinese
变量。
版权申明
本项目仅供学习参考,请勿用于非法用途,否则一切后果与作者无关,转载请注明出处。
二次创作请保留本仓库地址,并注明出处。
联系作者
Email: shijin9000@163.com
Github: https://github.com/Abovepast
Gitee: https://gitee.com/wonaren