简介
erd-editor 是一款实体关系图(Entity-Relationship Diagram)编辑器。
提供 Web 应用、VS Code 扩展、IntelliJ 插件,以及可嵌入自有页面的 <erd-editor> 自定义元素等多种形式。
所有形式都是同一个编辑器,并使用相同的文档格式。
获取方式
| 平台 | 安装 | 提供内容 |
|---|---|---|
| Web 应用 | erd-editor.io | 可安装的 PWA、支持离线使用、实时协同编辑 |
| VS Code | Marketplace | 在自定义编辑器中打开 .erd.json 文件 |
| IntelliJ | JetBrains Marketplace | 同一个编辑器,适用于基于 IntelliJ 的 IDE |
| 自有页面 | npm install @dineug/erd-editor | 不依赖框架的 <erd-editor> 自定义元素,参见安装 |
若要在 IDE 中试用,创建一个扩展名为 .erd.json 的空文件并打开即可。
主要功能
- 在画布上绘制表、列和备注,并用
Zero One、Zero N、One Only、One N四种关系类型将它们连接起来。参见开始编辑。索引在表的属性面板中定义。参见 Indexes。 - 支持从
JSON、Schema SQL、GraphQL、DBML或AML导入已有的 schema。参见导入与导出文件。 - 将图导出为
JSON、Schema SQL或PNG。 - 按照 Databricks、MSSQL、MariaDB、MySQL、Oracle、PostgreSQL、Snowflake 和 SQLite 八种数据库厂商的语法编写 Schema SQL。参见表相关功能。
- 为 C#、Go、Java、Kotlin、Scala、TypeScript、Drizzle、JPA、Sequelize、SQLAlchemy、TypeORM、AML、DBML 和 GraphQL 十四种目标生成代码。参见代码生成。
- 在可视化中以力导向图的形式查看 schema。
- 通过快速搜索可以在任意位置查找表或执行命令,通过 Undo, Redo 可以逐步浏览编辑历史。
- 支持实时协同编辑(实验性)。会话基于点对点连接并进行端到端加密,因此不会有任何服务器保存 schema,参与者之间可以看到彼此的光标、焦点和选中内容。在自有页面中,
getSharedStore()可以在任意传输方式上提供相同的操作流。
建议从编辑指南开始。
项目缘起
已有的建模工具没有提供我期望的用户体验。
因此,我发起了这个项目,希望带来极致的用户体验。
本项目的首要目标就是用户的编辑体验。
它将为你带来令人惊喜的编辑体验。