ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

ChartDB快速上手指南:一条Smart Query如何把8种主流数据库变成可视化ER图

ChartDB快速上手指南:一条Smart Query如何把8种主流数据库变成可视化ER图 ChartDB快速上手指南一条Smart Query如何把8种主流数据库变成可视化ER图【免费下载链接】chartdbDatabase diagrams editor that allows you to visualize and design your DB with a single query.项目地址: https://gitcode.com/GitHub_Trending/ch/chartdb当你要接手一个陌生数据库、却只能对着满屏 DDL 逐行猜表关系时ChartDB 能省掉这份体力活。它是一个开源的数据库关系图编辑器不连库、不要数据库密码跑一条智能查询拿到 JSON 粘进去整个 schema 就以 ER 图形式铺开在你眼前。一条查询数据库秒变可视化 ER 图。 先看到结果一个完整 schema 长什么样这张图是 BookStack一个开源知识管理系统的真实库结构。注意三处细节每个表头是表名字段行带上类型标注表与表之间的连线是外键关系一眼看出主从依赖不同业务模块用颜色分组圈住。整套图不写一行配置来源只是一次查询结果。对需要写架构文档、做团队评审的人来说这种开箱即成图的效果就是它最大的卖点。 它能接住哪些场景对象状态亮点适合谁PostgreSQL支持含 Supabase、Timescale 两个变体选项用 PG 做主库的 Web 项目MySQL支持单独提供 5.7 变体避开 8.0 语法差异传统业务系统、电商SQL Server支持提供 2016 及更早版本选项针对 SSMS 输出截断有专门引导微软技术栈团队MariaDB支持与 MySQL 分开配置元数据查询从 MySQL 平滑迁移的团队SQLite支持文件库零配置含 Cloudflare D1 变体移动端、小型与边缘项目ClickHouse支持独立元数据查询脚本适配列式库大数据分析平台CockroachDB支持分布式表与关系单独识别云原生分布式应用Oracle支持独立方言解析器与导入脚本金融、政务存量系统边界要说清楚跨库迁移的确定性转换目前只覆盖 PostgreSQL → MySQL / MariaDB / SQL Server 三个方向见 src/lib/data/sql-export/cross-dialect/index.ts其他方向组合暂不在支持列表内不要默认任意到任意。 上手路径三个关键动作本地起一个编辑器两种方式任选其一npm install npm run dev不想装 Node 环境的话也可以用 Docker 一行拉官方镜像浏览器打开http://localhost:8080即可。选准数据库类型和变体在新建图里先选数据库类型再视情况选变体。变体不是摆设Supabase 和 Timescale 的元数据查询、MySQL 5.7 的类型定义、Cloudflare D1 的客户端Wrangler都不一样选错会直接影响后面拿到的结构是否完整。所有类型定义集中在 src/lib/domain/database-type.ts 这个枚举里共 8 种真实数据库加一个通用兜底项。一条查询拉出全部结构进入导入界面后有三条路可选最常用的是 Smart Query它给你一条针对所选数据库生成的查询语句你在自己的数据库客户端DBeaver、SSMS 等里执行把返回的 JSON 整段粘进编辑器全部表、字段、索引、外键一次到位本质是批量导入。拿不准手头内容是哪种格式时不用纠结——粘贴的瞬间detect-import-method.ts 会自动判断这是查询结果 JSON、DDL 脚本还是 DBML并切换到对应解析模式连手动切换都省了。如果你走的是 SQL Server SSMS 这条路界面上有专门的操作引导照着截图逐步导出即可编辑、整理与导出图导入后就是一个可交互画布拖动排版、补表补字段、加分组色块和便签改动都有撤销重做兜底。定稿后导出三条路生成目标数据库的 SQL 脚本、导出 DBML数据库建模标记语言用文本描述表与关系、导出图片用于文档。迁移场景下选个目标方言就能拿到改写后的建库脚本。深水区几类特殊场景怎么处理SSMS 把查询结果截断了怎么办真正的麻烦在这SSMS 的网格输出上限是 65535 字符大库跑 Smart Query 经常被静默截断粘进去后 JSON 不完整。ChartDB 的处理很直接——当粘贴长度恰好停在 65535 时它会主动弹出 SSMS 信息弹窗引导你改用结果导出方式拿到完整数据避免你拿着一半的 JSON 排查半天。换库迁移的脚本怎么生成把 PostgreSQL 的图画好后切到 MySQL 目标方言导出类型映射、索引转换由确定性的转换模块完成不会靠运气。转换过程中无法直接映射的特性不会被悄悄丢掉而是以内联注释和警告头明的形式保留在脚本里见 cross-dialect/unsupported-features执行前你至少知道哪些地方要人工确认。粘进来的内容坏了怎么修三种内容各有修复通道JSON 有检查脚本结果按钮自动修复常见格式问题并重新格式化DDL 检测到可修复的语法错误时出现 Try auto-fix 按钮一键替换为修正后的脚本DBML 会逐行校验出错直接把光标跳到出错行高亮定位。输入脏、输出稳这是它作为协作工具能落地的前提。立竿见影的效率习惯粘贴内容自动识别格式JSON / DDL / DBML别再手动切模式大库导入优先用 Smart Query 一次拿全而不是逐表粘贴CtrlZ/CtrlShiftZ撤销重做画布操作大胆试Ctrl0一键回全屏布局走丢的表一下找回来CtrlF打开过滤面板按名字只看关心的表CtrlB收起侧栏CtrlM切换深浅主题CtrlS存图CtrlO打开已有图不确定方言时导出 SQL 前先在目标库版本上试跑一遍50 现成模板在 src/templates-data/templates/ 里改着改着就比从零画快界面支持 20 多种语言团队里非中文成员也能直接用 把项目变成你的想支持一个新数据库或补一个新模板路径是清晰可枚举的在 src/lib/domain/database-type.ts 里给枚举加一个新类型已有模板可直接照抄 employee-db.ts 的结构。在 src/lib/data/import-metadata/scripts/ 下写该库的元数据查询脚本挂进importMetadataScripts映射表Smart Query 就能用了。在src/lib/data/sql-import/dialect-importers/加 DDL 解析器与validators/校验器DDL 导入通道即通。按仓库CONTRIBUTING.md提 PR社区对大小贡献都欢迎。git clone https://gitcode.com/GitHub_Trending/ch/chartdb对后端开发它是读懂陌生库的最快入口对 DBA 和架构师它是把数据库结构图变成团队公共资产的免费工具。【免费下载链接】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),仅供参考
RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进