ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

用一条查询画出 8 种数据库的关系图:ChartDB 上手指南

2026/9/6 16:05:01 拓冰建站 浏览量
用一条查询画出 8 种数据库的关系图:ChartDB 上手指南 用一条查询画出 8 种数据库的关系图ChartDB 上手指南【免费下载链接】chartdbDatabase diagrams editor that allows you to visualize and design your DB with a single query.项目地址: https://gitcode.com/GitHub_Trending/ch/chartdb接手别人的项目外键到底指向哪张表翻了几十个 CREATE TABLE 还没理清窗口一关又是一片空白。ChartDB 就是为这类场景做的。ChartDB 是一个开源的数据库关系图编辑器把一条「智能查询」的 JSON 结果贴进浏览器整库的表结构就变成一张可编辑的 ER 图不需要安装客户端也不需要数据库密码。五分钟上手四步画出关系图克隆仓库并启动本地开发git clone https://gitcode.com/GitHub_Trending/ch/chartdb cd chartdb npm install npm run dev执行后终端会打印本地访问地址浏览器打开你会看到 ChartDB 的首页。点「New Diagram」选择你的数据库类型PostgreSQL、MySQL、SQL Server、Oracle、SQLite、MariaDB、ClickHouse、CockroachDB 都支持。选完左侧会生成一段现成的「智能查询」SQL你会看到一段可以直接复制去执行的查询。在数据库里执行这条查询把返回的 JSON 复制回输入框。输入框会自动识别内容类型并实时显示校验状态你会看到 JSON 被高亮、错误信息如果有出现在编辑器下方。点「Import」。画布上出现完整的数据库关系图每张表、每个字段、外键连线一目了然。智能查询为什么能免密码为什么难做可视化数据库通常要靠客户端连接那就绕不开密码而且各库的元数据存放位置完全不同——PostgreSQL 在 pg_catalogSQL Server 在 sys.tablesClickHouse 在 system.tables等于每种数据库都要单独写一套取数逻辑。ChartDB 的做法为每种数据库内置一条「智能查询」把表、字段、索引、外键、视图一次性聚合成一个 JSON。你只需用数据库工具执行它只读权限就够把结果贴回来全程不用交出密码。各库的取数脚本集中在 智能查询脚本目录。三种内容怎么粘进来JSON、DDL、DBML为什么难做DDL、DBML、JSON 粘进编辑器后都是「一堆文本」如果还要用户自己先选对模式就多了一个出错点。它的实现粘贴后按正则规则自动判断——出现Table xxx {、[pk]这类 DBML 标记就识别为 DBML出现CREATE TABLE等关键字就识别为 DDL否则按 JSON 处理逻辑见 detect-import-method.ts。DDL 还会按所选数据库的方言做语法校验可自动修复的语法问题会给出「Try auto-fix」一键修复按钮不用自己逐行找错。跨方言导出一张图变成目标库的 DDL为什么难做MySQL 和 PostgreSQL 的方言差异在细节里反引号对双引号、auto_increment 对 serial直接替换字符串很容易产出一段跑不通的脚本。它的实现ChartDB 为方言之间维护类型映射表做确定性转换目前内置 PostgreSQL 到 MySQL、MariaDB、SQL Server 的转换路径目标库不支持的特性不会静默丢弃而是以注释形式写进脚本提醒。代码在 跨方言导出模块另支持配置 API Key 后用 AI 生成目标库 DDL。场景一三分钟看懂新项目的 MySQL 表结构场景描述同事刚交接项目用 MySQL你写查询前需要理清表之间的关系。操作路径启动 ChartDB选 MySQL执行智能查询把 JSON 粘回输入框点 Import。你会得到的结果一张可拖拽、可缩放的关系图表名、字段、主外键都在图上外键关系一眼看全不用再对着建库脚本反复对照。场景二PostgreSQL 迁移 MySQL 前先出迁移脚本场景描述业务准备把 PostgreSQL 迁到 MySQL你需要交一份能直接在目标库执行的 DDL。操作路径导入 PostgreSQL 的关系图在「Export SQL」里把目标数据库选为 MySQL。你会得到的结果一份 MySQL 方言的 DDL 脚本其中目标库不支持的特性以注释标出哪些要手工处理一目了然交付前心里有数。避坑与技巧SSMS 截断SQL Server 在 SSMS 里跑查询时默认展示可能在 65535 字符处截断粘贴恰好这个长度的结果时 ChartDB 会弹提示按内置说明重新导出不截断的结果即可。超大 JSON内容超过 2MB 时编辑器会跳过自动格式化防止浏览器卡死JSON 有损坏时点 Check 按钮可自动修复。版本选择用 Supabase 或 Cloudflare D1 时记得选对应版本auth、storage 等系统表会被自动过滤图上不会出现一堆噪音表。AI 导出想让 AI 生成目标库 DDL需要构建时传入 OPENAI_API_KEY 环境变量不配置也能用内置的确定性导出路径。上手命令docker run -e OPENAI_API_KEYYOUR_OPEN_AI_KEY -p 8080:80 ghcr.io/chartdb/chartdb:latest执行后浏览器打开 http://localhost:8080你会看到 ChartDB 首页从导入第一张数据库关系图开始。把上面那行命令跑起来两分钟后就能看到自己数据库的第一张关系图。【免费下载链接】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),仅供参考