一个基于 Web 的 SQL ER 图生成器,可以将 SQL 建表语句转换为 ER 图,支持多种导出格式。
- 🎯 支持从 SQL CREATE TABLE 语句生成 ER 图
- 🌐 支持中文表名和字段名
- 📐 可调整表间距和字段到表的距离
- 📝 可选择是否显示数据类型
- 📊 支持生成 PNG 格式的 ER 图
- 📥 支持导出为 Draw.io 可编辑格式
- 🔗 支持直接在 Draw.io 在线编辑
- 🎨 简洁美观的界面设计
- 👀 实时预览生成的 ER 图
- Python 3.7+
- Graphviz
首先需要安装 Graphviz:
- Windows:
# 从 https://graphviz.org/download/ 下载并安装 - Mac:
brew install graphviz
- Linux:
sudo apt-get install graphviz
pip install -r requirements.txt- 克隆仓库:
git clone https://github.com/yourusername/sql-er-generator.git
cd sql-er-generator- 安装依赖:
pip install -r requirements.txt- 运行应用:
python app.py- 在浏览器中访问:
http://localhost:5000
- 在文本框中输入 CREATE TABLE 语句
- 调整配置选项(可选):
- 表间距:调整表之间的距离
- 字段到表距离:调整字段与表之间的距离
- 显示数据类型:选择是否显示字段的数据类型
- 选择操作:
- 点击"生成ER图":在右侧预览生成的图片
- 点击"下载Draw.io":下载可在 Draw.io 中编辑的文件
- 点击"在线打开":直接在 Draw.io 网站中打开并编辑
CREATE TABLE 客户表 (
客户ID INT PRIMARY KEY,
姓名 VARCHAR(100),
邮箱 VARCHAR(100),
电话 VARCHAR(20)
);
CREATE TABLE 订单表 (
订单ID INT PRIMARY KEY,
客户ID INT,
下单时间 TIMESTAMP,
总金额 DECIMAL(10,2)
);- 后端:
- Flask
- Graphviz
- Python
- 前端:
- HTML5
- CSS3
- JavaScript
- 确保系统已正确安装 Graphviz
- SQL 语句必须使用标准的 CREATE TABLE 语法
- 支持中文字符,使用 UTF-8 编码
- 建议使用现代浏览器(Chrome、Firefox、Edge 等)
-
如果遇到 "Command 'dot' not found" 错误:
- 检查是否已安装 Graphviz
- 确保 Graphviz 已添加到系统环境变量
-
如果生成的图片中文显示为方块:
- 检查系统是否安装了对应的中文字体
- 确保使用 UTF-8 编码
欢迎提交 Issue 和 Pull Request!
MIT License
[Tolerye]
- 初始版本发布
- 支持基本的 ER 图生成功能
- 支持 Draw.io 导出和在线编辑