DrawDB 数据库图表工具
drawdb-io/drawdb
访问 GitHub ↗
一句话简介
一款免费直观的在线数据库实体关系图编辑工具,支持可视化设计表结构、导出 SQL 脚本与数据库建模。
标签
适用应用场景
- 快速绘制数据库 ER 图并导出 MySQL、PostgreSQL 等 SQL 建表语句
- 在团队协作中共享和评审数据库 schema 设计
- 将现有数据库反向生成为图形化结构以便理解与重构
- 教学场景中演示数据库表与外键关系的建模过程
README 中文摘要
项目概述
drawDB 是一款免费、轻量、直观的数据库模式(Schema)编辑器与 SQL 生成工具,完全运行在浏览器中。用户无需注册账号,即可通过可视化操作快速绘制数据库 ER 图、导出与导入 SQL 脚本、生成迁移语句,并对编辑器外观进行个性化定制。
核心特性
- 可视化 ER 图编辑:基于画布的拖拽式操作,快速建立表与字段之间的关联关系。
- SQL 脚本互转:支持将 ER 图导出为标准 SQL,同时可将已有 SQL 脚本导入并自动解析为图形结构。
- 迁移语句生成:根据模式变更生成对应的数据库迁移脚本,便于版本化管理。
- 编辑器定制:主题、布局等可配置项丰富,适应不同团队的使用习惯。
- 可选共享能力:通过部署配套服务端并配置环境变量,可启用文件共享功能。
技术架构
drawDB 是典型的前后端分离应用:
- 前端:使用 React 构建界面,借助 React Flow 处理画布渲染与节点连线,通过 JSZip / file-saver 等库完成文件打包与下载。
- 构建工具:基于 Vite 进行开发与打包,启动迅速。
- 服务端(可选):drawdb-server 单独提供,用于开启文件共享能力;本地模式下默认关闭。
本地开发
克隆项目后安装依赖并启动开发服务器:
git clone https://github.com/drawdb-io/drawdb
cd drawdb
npm install
npm run dev
开发服务器默认监听 Vite 指定端口(通常为 5173),可在浏览器中实时预览编辑效果。
生产构建
git clone https://github.com/drawdb-io/drawdb
cd drawdb
npm install
npm run build
构建产物输出至 dist/ 目录,可直接部署至任意静态托管服务(Nginx、GitHub Pages、Vercel 等)。
Docker 部署
docker build -t drawdb . # 构建镜像
docker run -p 3000:80 drawdb # 启动容器,宿主 3000 端口映射容器 80 端口
启动后访问 http://localhost:3000 即可使用。
环境变量与共享功能
默认情况下 drawDB 完全在本地运行,不依赖任何后端。若需启用文件共享功能,需:
- 部署配套的 drawdb-server;
- 在项目根目录参考
.env.sample创建.env文件,填写服务端地址、密钥等配置项。
贡献指南
项目欢迎社区参与。提交代码前请阅读 CONTRIBUTING.md,了解分支策略、提交规范与代码风格要求。
社区支持
- Discord 频道:用于功能讨论、问题反馈与经验交流,开发者与活跃用户常驻其中。
摘要更新于 2026-08-10 00:31:50
· 原文 2374 字符
· md5 9539ede77c8b…