sublime Text 通过插件实现数据库建模:用 YAML 描述 Schema → SchemaDraw 渲染 ER 图(需 Graphviz)→ sqlTools 或脚本生成 DDL;适合中小项目轻量建模与文档化,不支持拖拽且需手动声明外键、索引等。

sublime text 本身不内置数据库建模功能,但通过插件可实现轻量级 Schema 设计、ER 图可视化与 DDL 生成。核心思路是:用结构化文本(如 YAML/jsON 或自定义 DSL)描述表关系 → 插件解析 → 输出 ER 图(PNG/svg)和标准 SQL DDL。以下为实用路径:
选对插件:SchemaDraw + SQLTools 组合最可行
目前 Sublime 上稳定支持 Schema 到 ER 图+DDL 的插件极少,推荐组合使用:
- SchemaDraw:基于 YAML 描述实体、字段、外键,实时渲染 SVG 格式 ER 图(需本地安装 Graphviz);
- SQLTools(配合 sqlite/postgresql 连接):反向生成 DDL,或配合手动编写的 Schema 模板导出建表语句;
- 替代方案:Plantuml 插件 + 手写 PUML 语法,适合熟悉 UML 的用户,可导出 PNG/SVG 并生成基础 DDL(需额外模板)。
用 YAML 定义 Schema(SchemaDraw 要求格式)
新建 schema.yaml,按约定写清实体、属性与关系。例如:
entities: users: fields: - id: integer primary key - name: varchar(50) not null - email: varchar(100) posts: fields: - id: integer primary key - title: varchar(200) - user_id: integer relations: - field: user_id ref: users.id type: many-to-one
保存后右键 → SchemaDraw: Render Diagram,自动生成 SVG 图并打开预览。
从图/定义一键生成 SQL DDL
SchemaDraw 不直接输出 SQL,需配合简单脚本或手动映射。更高效的做法是:
- 用 SQLTools 创建同名连接(如 PostgreSQL),在命令面板执行 SQLTools: Generate DDL from Schema(需提前在数据库中创建对应结构,或使用其“Scaffold”功能);
- 或写个 python 小脚本读取 YAML,按目标方言(mysql/PostgreSQL)拼接
CREATE table语句(开源模板可在 gitHub 搜yaml-to-sql-ddl); - 部分团队会把 SchemaDraw YAML 当唯一真相源,CI 流程中自动触发 DDL 生成并校验,避免手工误改。
注意事项与避坑点
这类工作流轻便但有边界,用前须知:
- 不支持交互式拖拽建模(如 PowerDesigner),纯代码优先;
- 外键约束、索引、注释等高级特性需在 YAML 中显式声明,否则不会出现在 DDL 中;
- Graphviz 是 SchemaDraw 渲染依赖,Mac 用
brew install graphviz,windows 需下载安装包并配置 PATH; - 中文字段名/注释可能在 SVG 中乱码,建议用英文定义,再在数据库 COMMENT 中补充中文说明。
基本上就这些。适合中小项目快速对齐前后端数据模型,也适合作为文档嵌入 README。不复杂但容易忽略环境依赖和格式细节。