在日常的开发工作中,无论是数据库设计或是生成数据库架构文档,还是与团队成员讨论复杂的数据库结构,或是进行数据库迁移,都会涉及到大量的图表和 SQL 代码生成工作。如果你也曾为此而烦恼,不妨试试 ChartDB,它可以让这些工作变得更加简单和高效。
项目简介
ChartDB 是一个功能强大的、基于网页的数据库图表编辑器。你只需要执行一个简单的 SQL 查询,就能立刻可视化你的数据库架构。无论你是为了文档整理、团队讨论,还是纯粹想更好地理解数据结构,ChartDB 都能帮助你轻松完成。

github项目地址:https://github.com/chartdb/chartdb
ChartDB 提供了丰富的功能,旨在帮助开发者更好地管理和展示数据库架构:
- 即时架构导入:只需运行一个查询,即可立即以 JSON 格式获取数据库架构,快速可视化数据结构,极大提高了理解和沟通的效率。
- AI 驱动的迁移导出:通过 AI 功能,ChartDB 允许你生成目标数据库的 DDL 脚本,支持 MySQL 到 PostgreSQL、SQLite 到 MariaDB 等多种数据库迁移,极大简化了数据库迁移过程。
- 交互式编辑:内置的直观编辑器可以让你轻松调整和注释数据库架构,帮助团队更好地理解复杂结构。
- 无需账户:你不需要注册账户就能访问所有功能,轻松开始使用。
ChartDB 支持以下主流数据库:
- PostgreSQL(包括 Supabase 和 Timescale)
- MySQL
- SQL Server
- MariaDB
- SQLite
- ClickHouse
项目安装与使用
在这里介绍一下使用 npm 方式本地部署。
首先,你需要安装 Node.js。然后使用 npm 安装项目依赖:
npm install
之后运行以下命令启动本地开发服务器:
npm run dev
如果你希望启用 AI 功能,可以配置 OpenAI API 密钥:
npm install
VITE_OPENAI_API_KEY=<YOUR_OPEN_AI_KEY> npm run build
运行Docker容器
docker run -e OPENAI_API_KEY=<YOUR_OPEN_AI_KEY> -p 8080:80 ghcr.io/chartdb/chartdb:latest
在本地构建并运行
docker build -t chartdb .
docker run -e OPENAI_API_KEY=<YOUR_OPEN_AI_KEY> -p 8080:80 chartdb
使用自定义推理服务器
# Build
docker build \
--build-arg VITE_OPENAI_API_ENDPOINT=<YOUR_ENDPOINT> \
--build-arg VITE_LLM_MODEL_NAME=<YOUR_MODEL_NAME> \
-t chartdb .
# Run
docker run \
-e OPENAI_API_ENDPOINT=<YOUR_ENDPOINT> \
-e LLM_MODEL_NAME=<YOUR_MODEL_NAME> \
-p 8080:80 chartdb
注意:您必须配置选项1 (OpenAI API密钥)或选项2(自定义端点和模型名称),以使AI能力工作。不要把这两个选项混在一起。
然后,访问 http://localhost:8080 即可开始使用 ChartDB。
本地vLLM服务器配置示例:
VITE_OPENAI_API_ENDPOINT=http://localhost:8000/v1
VITE_LLM_MODEL_NAME=Qwen/Qwen2.5-32B-Instruct-AWQ
进入到首页,我们可以看到选择数据库类型的界面:

选择 MySQL,然后点击 continue 按钮,在新的页面上复制 SQL 语句,在你的 MySQL 数据库中执行,获取到数据库关系的 JSON 格式信息,粘贴回来。

之后就可以开始可视化和编辑你的数据库架构了。
对于已有的数据库,ChartDB 提供了一键导入功能,用于只需要执行一个智能查询就可以生成数据库 ER 图。

ChartDB 提供了基于 AI 的数据库脚本导出功能,可以实现不同数据库之间的表结构迁移,例如从 MySQL 迁移到 PostgreSQL。

ChartDB 提供了表结构导出为图片功能,支持 PNG、JPG、SVG 格式。

ChartDB 适用于数据库设计、数据库迁移以及文档生成,以下是它的在线使用地址:
总结
ChartDB 是一个非常直观且功能强大的数据库架构可视化工具,它不仅让数据库设计和管理变得更加简单,还提供了 AI 驱动的数据库迁移支持,极大地提高了开发和运维的效率。最棒的是,它是开源的,任何人都可以免费使用和贡献,帮助改善这个项目。
ChartDB 无论是通过云端使用,还是本地部署,都能让你的数据库设计工作变得轻松愉快。
原创文章,作者:howkunet,如若转载,请注明出处:https://www.intoep.com/database/65324.html