drawDB:免费在线数据库设计器,画图即建表
项目是什么
drawDB 是一个跑在浏览器里的数据库实体关系图(ERD)编辑器,GitHub 上 38950 stars,AGPL-3.0 开源。它做的事情非常聚焦:让你用拖拽的方式画数据表、填字段、连外键,画完直接导出建表 SQL。全程不需要注册账号,图纸存在本地 IndexedDB 里,关掉页面再打开也不丢。
官网 drawdb.app 打开即用,零安装。想自己部署也行,npm run dev 本地起一套,或者 Docker 一条命令跑起来。前端是 React + Tailwind CSS,代码结构清晰,二次开发门槛不高。
三个最惊艳的功能
画图即建表。 左侧拖一张表进来,右侧填字段名、类型、是否主键,表与表之间用连线表达关联,一对一、一对多、多对多一目了然。它支持 PostgreSQL、MySQL、SQL Server、SQLite、MariaDB、Oracle 六种方言,画完一键导出对应方言的 CREATE TABLE 语句。
双向 SQL 转换。 不只是「图转 SQL」,也能「SQL 转图」。把一份现成的建表脚本粘进去,它反向解析成一张关系图。接手一个陌生库的时候,几千行 DDL 变成一张能看懂的结构图,这个功能的价值远超想象。
零摩擦协作。 图纸就是一个文件,导出 JSON 或 SQL 丢给别人就能继续改,不用建账号、不用开权限。需要真·多人协作时,官方提供了独立的 drawdb-server,自己托管一套即可。
白物集实际怎么用
白物集的内容管线后端跑在 Supabase 上,Supabase 底层就是 PostgreSQL。过去几个月,管线里陆续长出三张核心表:
articles存文章,content_md、content_html、category、tags、published_at一应俱全;knowledge_cards存采集来的热点卡片,从title到tags铺开;article_performance存反馈数据,views、baidu_indexed、zhihu_likes、favorites、comments、wechat、douyin逐个字段落地。
每次加表都要先想清楚字段怎么设计、和现有表怎么关联。article_performance 和 articles 是一对一,knowledge_cards 和文章之间靠 url 对齐——这些关系用文字描述很绕,画成 ER 图一眼就能看出哪里缺索引、哪里该补外键。
drawDB 的价值正在这里:先在图上把结构理顺,再导出 SQL 贴进 Supabase 的 SQL Editor 执行,比手写 CREATE TABLE 少犯很多低级错误。它不连真实数据库、图纸留在本地,恰好符合「设计阶段先在纸上推演」的习惯。
适合什么场景,不适合什么场景
适合: 设计新表结构、接手老库要梳理关系、给自己或团队留一份可视化的 schema 文档、写迁移脚本前先推演一遍。
不适合: 分析 SQL 执行性能(它画的是结构,不是执行计划);需要强权限管控的生产库在线编辑;把现有数据库实时可视化监控。这些是别的工具的活。
快速上手
git clone https://github.com/drawdb-io/drawdb
cd drawdb
npm install
npm run dev
浏览器打开本地地址,左侧选数据库方言,拖表、填字段、连线、导出 SQL,五步之内出第一张 ER 图。
不想开本地环境,直接打开 drawdb.app,同样的功能,零安装。
结尾
数据库设计是内容管线里最容易被忽略的一环。等表多了、关联乱了再回头梳理,成本是指数级上升的。drawDB 把一个本该严肃的工程环节变成了拖拖拽拽的轻量操作,这大概是它 3.9 万星的真正原因——把正确的事变得足够简单。