SQL 一键转经典 Chen 风格 ER 图:开源 CLI + 在线工具 + Agent Skill
做数据库设计、写课程作业、给需求出表结构时,经常要画 ER 图。很多人还在用 Visio / ProcessOn 一点点拖,或者把 SQL 丢进各种「半成品」工具里,版式乱、中文糊、还导不出设计文档。
我把平时在用的能力整理成了一套开源方案:sql-to-er ------从 CREATE TABLE 直接生成经典 Chen 风格 ER 图,并支持 Word 三线表设计文档。
能做什么
| 能力 | 说明 |
|---|---|
| 多方言 SQL | MySQL / PostgreSQL / SQL Server / Oracle 常见 DDL |
| 经典 Chen 图 | 实体矩形、属性椭圆、关系菱形,标注 1 / N |
| 渲染策略 | 有 Graphviz 用 Graphviz;没有则自动 matplotlib 黑白回退 |
| 文档导出 | Word 三线表「数据库设计文档」 |
| 其它格式 | Mermaid、GoJS JSON(按需) |
| Agent Skill | 可挂到 AI Agent,给 SQL 或自然语言需求直接出图 |
解析优先走 yanleaf 公开接口,失败会本地回退,不强制联网才能画图。
快速开始
环境:Python 3.9+
bash
pip install sqlparse pyyaml python-docx pillow matplotlib graphviz
(国内可将 pip 源换成清华等镜像。)
bash
# 只要 ER 图
python scripts/sql_to_erd.py your.sql --out erd --format png
# 只要 Word 设计文档
python scripts/sql_to_erd.py your.sql --out design --format word
# 图 + 文档 + Mermaid 全套
python scripts/sql_to_erd.py your.sql --out erd --format all
系统 Graphviz(可选,装了图更稳):
- Windows:官网安装包或
winget install Graphviz.Graphviz - macOS:
brew install graphviz - Ubuntu:
sudo apt install graphviz
装不上也没关系,会自动走 matplotlib。
SkillHub 一键安装
若使用支持 SkillHub 的 AI 助手,可发送:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_0695bb88/sql-to-er。
安装完成后,提供 SQL 或业务描述,即可生成经典 Chen 风格 ER 图。
和「只支持一种库 / 只能看图」的工具差在哪
- Chen 记号:不是只有方框表结构,而是教学和论文里常见的实体---属性---关系画法。
- 能出 Word 三线表:交作业、写设计说明更直接。
- 可脚本化 / 可进 Agent:适合批量 SQL、CI 或和 AI 工作流集成。
- 在线版补齐交互:需要拖拽、AI 辅助建模时,用 https://yanleaf.com/tools/sql-to-er 即可。
作为 Agent Skill
仓库内带有 SKILL.md,拷到 Agent 的 skills 目录后:
- 用户丢一段 SQL → 解析并出 ER 图
- 用户说「做一个学生选课的 ER 图」→ 由当前模型设计表结构再渲染(不消耗在线站的 AI 额度)
约定是:用户要什么就出什么(只说「画图」就只出 PNG,不要默认全套导出)。
说明与规划
- 当前聚焦
CREATE TABLE与主外键关系,不做完整 DDL 仿真器。 - 表很多、字段很多时,可只保留主键/外键等关键字段,避免图不可读。
- 后续会按反馈继续打磨布局与方言细节。
欢迎 Star、提 Issue,或直接在线试用: