ChartDB — 数据库结构一键可视化工具

馒头酱

发布于321天前
你没事吧?我美式

ChartDB 是一款开源、以“单次查询(magic/smart query)→ 粘贴 JSON → 自动生成图”为核心体验的数据库架构可视化工具。它同时提供 Cloud 与 Self-Hosted 两种使用方式,并支持 AI 辅助的 DDL 导出与多种数据库(Postgres / MySQL / SQLite / SQL Server / MariaDB / ClickHouse / CockroachDB 等)。

https://appstore.lazycat.cloud/#/shop/detail/in.zhaoj.chartdb

演示

1.导入数据库结构

进入应用后,首先需要根据步骤导入你的数据库结构。【假定存在一个博客数据库,它包含如下2张表和1个视图】

  • users 表: 存储用户信息。

    • id (INT, PK, AUTO_INCREMENT)
    • username (VARCHAR(50), UNIQUE)
    • email (VARCHAR(100), NOT NULL)
    • created_at (TIMESTAMP, DEFAULT CURRENT_TIMESTAMP)
  • posts 表: 存储博客文章。

    • id (INT, PK, AUTO_INCREMENT)
    • title (VARCHAR(255), NOT NULL)
    • content (TEXT)
    • user_id (INT, FK a users.id ON DELETE CASCADE)
  • post_details (视图): 一个连接 posts 和 users 表的视图,用于显示文章标题和作者的用户名。

image.png

2. 生成可视化图表

进入应用后可以直观的看到页面呈现左右两部分,左侧为表信息展示,右侧则是表信息的可视化展示。如下图
image.png

3.表信息详解

左侧区域可以根据选项选择不同的展示,具体如下图所示
image.png
image.png
image.png

4.可视化内容信息

可视化内容信息主要展示表中的字段信息以及表跟表之间的关联关系。如下图所示
image.png

image.png

5. 导出SQL语句( AI-powered DDL 导出)

如果你是直接在应用内进行修改后,想要同步,可以使用该功能导出sql语句执行。这里支持6种类型的导出
image.png

场景(何时用、怎么用)

下面按团队角色列出典型场景与推荐做法。

场景 A:接手遗留数据库 / 新成员入职

  • 目标:快速理解数据模型(表、外键、视图依赖)。
  • 做法:用 magic query 快速生成 ER 图,使用颜色或分组标注关键业务域(如订单、用户、财务),导出图片做入职材料。优点是速度快、可编辑注释。

场景 B:数据库迁移(例如 MySQL → PostgreSQL)

  • 目标:评估差异、生成目标方言的 DDL 作为迁移起点。
  • 做法:在 ChartDB 中加载源 schema,使用 AI-powered DDL 导出目标方言脚本,先在测试库跑一次并手工调整不兼容点(索引、数据类型、约束表现等)。
  • 注意:AI 脚本是助力而非最终保证,需要人工复核。

Tips

  • 导入前备份:在生产库运行 magic query 本身是只读,但导出/测试脚本最好在测试环境验证。
  • 利用「布局/颜色/过滤器」把领域模型可视化(例:按服务划分颜色,便于分类)。
  • 导出图片用于文档:ChartDB 支持一键导出 PNG/SVG,方便写架构文档或嵌入 Confluence。

结语

ChartDB 是一款对开发团队非常友好的数据库可视化工具:入门快、自托管可扩展、并且结合了智能导出以加速迁移工作。它特别适合:快速探索遗留库、在迁移/重构过程中生成迁移草案、把 schema 可视化到 PR 与文档中,从而提高沟通效率。使用时要注意大型库的分批导入、AI 脚本的人工复核,以及自托管时的资源配置。

评论

0

暂无评论

说点什么呢~
收藏
0
0
0