用 ChartDB 把数据库设计从"写 DDL"变成"画图纸"
【免费下载链接】chartdbDatabase diagrams editor that allows you to visualize and design your DB with a single query.项目地址: https://gitcode.com/GitHub_Trending/ch/chartdb
ChartDB 是一款开源的数据库图表编辑器:对现有库跑一条智能查询,就能自动提取表、字段、索引、外键,生成可编辑的数据库可视化设计图;设计完还能导出 DBML 和多种方言的 SQL 脚本,从 MySQL 迁到 PostgreSQL 时语法差异自动帮你翻。
先说场景:你大概在哪一刻想用它
接手一个没有文档的老库,翻几百行迁移脚本和注释是场折磨,想要一张图在半小时内把结构摸清楚。
团队里好几个人同时改表结构,靠 DDL diff 和口头沟通很容易漏,最好能拿着一张图直接指着外键关系讨论。
项目要从 MySQL 切到 PostgreSQL,方言差异是最大风险,需要有人自动把类型和语法翻过去,而不是靠手。
拆开看:它到底帮你做了什么
一条查询摸透现有库。ChartDB 的核心是"智能查询":你选数据库类型(PostgreSQL、MySQL、SQL Server、MariaDB、SQLite、ClickHouse 都在支持列表里),它在库里跑一段预置 SQL,把表、字段、主外键、索引、约束一次性抽成 JSON,粘贴结果进去,整个库的数据库可视化设计图就出来了,不用手工录入任何一条 CREATE TABLE。
DBML 双向转换。画布上随便拖表、改字段、画关系,随时导出 DBML 存进版本库;DBML 改完也能导回来接着画。复合主键、检查约束、多 schema 这类细节在导入导出时都有对应测试用例兜底,实现可以看 src/lib/dbml/ 目录。
跨方言出 SQL。设计定稿后导出 DDL 脚本,目标方言可选,跨数据库迁移时类型映射、语法差异自动处理,省掉手翻方言的坑;大库里还能把表按业务域分组,几百张表也能画清楚。
跑一遍:从 0 到看见第一张图
打开 ChartDB,选你的数据库类型,或者直接从模板示例库里挑一个看看效果。
按提示在库里执行那条智能查询,把返回的 JSON 粘贴进输入框。
几秒钟后画布上出现完整的表结构、外键线和索引信息,这就是你第一张数据库可视化设计图。
用起来之后你会顺手做的事
把导出的 DBML 文件提交到 Git:改结构前先 review 一份文本 diff,比对着 SQL 逐行 diff 快得多,新人也能靠它直接读懂库。
在 CI 里加一步 DBML 语法校验:坏结构在合并前就被拦下来,避免有人手抖提交了一份解析不了的模型。
它适合接手老库、频繁改表、跨数据库迁移这三类场景;不适合你需要图形化执行 DML、做存储过程级管控的团队——它管的是结构,不是数据。项目采用 AGPLv3 协议开源,DBML 解析、导出、应用三条链路的源码都在 src/lib/dbml/ 下,想改什么行为可以直接看实现,也欢迎提 PR。
【免费下载链接】chartdbDatabase diagrams editor that allows you to visualize and design your DB with a single query.项目地址: https://gitcode.com/GitHub_Trending/ch/chartdb
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考