drawdb README

The project's README from github.com/drawdb-io/drawdb. As one markdown file: README.md.

drawDB logo

drawDB

Free, simple, and intuitive database schema editor and SQL generator.

drawDB Discord Follow us on X

drawDB screenshot demo

DrawDB is a robust and user-friendly database entity relationship diagram (ERD) editor right in your browser. Build diagrams with a few clicks, export and import SQL scripts, generate migrations, customize your editor, and more without creating an account. See the full set of features on here.

Getting Started

Local Development

git clone https://github.com/drawdb-io/drawdb
cd drawdb
npm install
npm run dev

Build

git clone https://github.com/drawdb-io/drawdb
cd drawdb
npm install
npm run build

Docker Build

docker build -t drawdb .
docker run -p 3000:80 drawdb

If you want to enable sharing, set up the server and environment variables according to .env.sample. This is optional unless you need to share files.

Contributing

Please see CONTRIBUTING.md for guidelines on how to contribute to this project.

Support

drawdb (drawdb-io/drawdb)

Searching Database…

40K ·GitHub
这是什么东西?DrawDB 是一个免费的在线数据库实体关系图编辑器:你可以在浏览器里直观地画出数据库结构,然后把它转换成 SQL。不需要注册账号。
它是个网站,还是需要安装的软件?它是一个在浏览器里运行的网页应用,日常使用不需要安装任何东西。开发者也可以用 Vite 在本地运行(npm run dev),或者用 Docker 部署。
我怎么把它跑起来?日常使用的话,直接在浏览器里打开就能开始画图。想自己搭建的话,可以按照文档里的本地开发方式(npm run dev,基于 Vite),或者使用提供的 Docker 构建。
用的时候需要注册账号或 API 密钥吗?不需要账号——不用注册就能画图、导入导出 SQL 脚本、生成迁移文件,README 里也没有要求任何 API 密钥。
有什么限制吗——我能和同事分享我的图吗?分享功能是可选的,默认关闭:你需要自己搭建服务器,并按照 .env.sample 配置好环境变量。否则你的工作内容只保存在你自己的浏览器里。
它能生成哪些数据库的 SQL?支持 PostgreSQL、MySQL、MariaDB、SQLite、SQL Server 和 Oracle(都在它的仓库标签里列出),README 也确认支持 SQL 脚本的导入导出以及迁移文件的生成。
它能导入现有的数据库结构,还是只能新建图表?SQL 导入和导出都是内置功能,而且项目依赖 @dbml/core——这是 DBML(一种流行的数据库结构标记语言)的官方参考解析器,所以也支持 DBML。
它是用什么做的?一个用 Vite 打包的 React 应用:使用 Semi UI 组件、用于编辑 SQL 的 Monaco 编辑器、实现图表拖拽编辑的 dnd-kit,以及用 Dexie 在浏览器里进行 IndexedDB 存储。
这个项目成熟吗?比较成熟:创建于 2023 年 7 月,在 GitHub 上约有 4 万颗星,有用于构建和 Docker 镜像的 CI 工作流,还有 Discord 服务器提供社区支持。
Creator
drawdb-io
Size
7.7 MB
Stars
40K
Updated
CommitOct 15
Age
3y
Commits · 90 Days