网页正在组装中... ⚙️ (・ω・)ノ
导航

分享计算机图书阅读心得,交流编程知识与日常生活的技术博客

侧边栏
热门文章
暂无内容
阅读中
ES6标准入门
10分
JavascriptES6标准入门
2025年4月01日 0时 ~ 阅读中
已累计阅读2个月6天
Javascript ES6学习极其推荐的书籍!列出了ES6的很多特性和变化,以及一些ES7的提案
加密与解密
10分
逆向加密与解密
2025年4月07日 0时 ~ 阅读中
已累计阅读2个月
逆向必读书目,十分推荐!!!
攻略中
异星工场
超爱
9分???
PC-超喜欢游戏异星工场
2024年2月07日 0时 ~ 攻略中
已累计游玩1年4个月
就算不打折也超级值的工场经营游戏,就是价格有点感人(DLC-130 本体-130)o( ̄┰ ̄*)ゞ
最新评论
暂无内容

数据库工具推荐——DrawDB

作者:云书0v0时间:2025-05-18 14:44:53分类:Github项目推荐

介绍

icon-dark.pngDrawDB 是一个免费、基于浏览器的数据库实体关系图(ERD)编辑器和 SQL 生成器。允许用户通过创建表、关系和其他元素来直观地设计数据库模式,即可将这些设计导出为适用于各种数据库系统的 SQL 脚本。


功能

drawdb.png

DrawDB 使用户能够:

  • 使用可视化拖拽界面创建和编辑数据库模式
  • 定义表、列、关系和约束
  • 为多种数据库(MySQL、PostgreSQL、SQLite、MS SQL、Oracle 等)生成 SQL 导出脚本
  • 导入现有的 SQL 模式
  • 将图表导出为图片或文档
  • 无需创建账户即可本地保存图表


部署

根据需求,drawDB 可以以多种方式部署:

本地开发

要设置 drawDB 进行本地开发:

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

这将启动一个本地开发服务器,通常在 http://localhost:5173(具体端口号可能因环境而异)。

生产构建

为生产构建 drawDB:

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

这将在 dist 目录中生成优化的静态文件,可以被任何 Web 服务器提供。

Docker 部署

drawDB 可以使用 Docker 进行容器化:

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

构建 Docker 镜像并运行容器,在端口 3000 上提供 drawDB 服务。

注意

Nginx 应正确配置客户端路由:

server {
    listen 80;
    server_name _;
    root /usr/share/nginx/html;
    
    location / {
        try_files $uri /index.html;
    }
}

此配置将所有请求重定向到 index.html,允许 React Router 处理客户端路由。


架构

DrawDB 被构建为一个基于 React 的单页应用程序,采用组件化架构。

屏幕截图 2025-05-18 144942.png

技术栈

DrawDB 采用以下关键技术构建:

分类技术
核心框架React
UI 组件半 UI (@douyinfe/semi-ui)
状态管理React 上下文 API,自定义 Hook
本地存储Dexie.js(IndexedDB 包装器)
SQL 解析node-sql-parser, oracle-sql-parser
支持 DBML@dbml/core
代码编辑器Monaco 编辑器 (@monaco-editor/react)
导出格式文件导出(SQL,DBML,JSON,图片)
国际化i18next, react-i18next
部署Docker, Nginx