- 修改数据库连接配置说明 - 更新SSL密钥文件拷贝步骤 - 补充密码复杂度要求(包含数字、大小写字母、特殊字符)- 调整步骤编号以匹配最新安装流程 - 添加openGauss-workbench安装链接参考 |
||
|---|---|---|
| .. | ||
| lib | ||
| openGauss-datakit | ||
| openGauss-datakit-agent | ||
| plugins | ||
| .gitignore | ||
| README.md | ||
| build.sh | ||
| er-model-test-report.pdf | ||
| idea-debug-plugins-api-build.sh | ||
| pom.xml | ||
| run.sh | ||
README.md
ER-Model 插件
ER-Model 提供一个基于 Web 的 ER 模型设计器,支持 DBML 双向转换、实例元数据导入、可视化编辑与 SQL 执行。
功能特性
- DBML 编辑 / 可视化联动:左侧编辑器实时解析 DBML,右侧图形视图同步渲染表与关系。
- 实例连接与 Schema 管理:支持平台内已托管实例的选择、Schema 查询与创建、连接测试。
- 导入导出:可从 SQL 文件或数据库中加载结构;支持导出 SQL、PlantUML、PNG / PDF 等格式。
- 自动布局与可视化优化:内置多种布局方式、列 / 关系高亮、提示信息等交互体验。
- SQL 执行:可将当前 DBML 转换的 DDL 直接执行到选定实例 / Schema。
目录结构
plugins/er-model
├── src/main/java/org/opengauss/admin/plugin # 插件后端:控制器、服务、SQL 生成、翻译等
│ ├── controller # REST 接口:执行、导入导出、SPA 前置等
│ ├── dto # 数据传输对象(表/列/索引/实例请求等)
│ ├── service # 实例管理、SQL 执行、导出等业务服务
│ ├── sql # 方言适配的 SQL 生成器
│ └── translate # DBML → DTO / SQL 转换逻辑
├── src/main/resources # 插件资源文件
│ └── resources # 构建产物:前端静态资源、国际化等
└── web-ui # 前端工程(Quasar + Vue3)
├── src/components # 组件:图形视图、表格节点、工具提示等
├── src/pages # 页面:编辑器、只读展示、错误页等
├── src/store # Pinia 数据仓库:编辑器状态、图形状态等
├── src/utils # 工具:导出、布局、下载、认证等
└── src/css # 样式:ER 图主题、全局样式
er-model 安装与运行指南
一、环境配置
1. 安装 openGauss 数据库
请先安装并启动 openGauss 数据库。
参考文档: openGauss 参数配置说明
(特别注意数据库远程用户访问权限的设置)
2. 安装依赖环境
确保已安装以下组件:
- Java 17+
- Maven 3.9.0+
- Node.js v18+(含 npm)
并配置好:
- Maven 镜像源
- Node 镜像源
3. 安装 SpringBrick 组件
在本地编译并安装:
springboot-plugin-framework-parent
二、开发环境运行(建议)
构建步骤
-
修改
openGauss-datakit/visualtool-api目录下的application-dev.yml,配置数据库连接、用户名与密码(需为远程用户)。 -
按照
https://gitcode.com/opengauss/openGauss-workbench 安装步骤,将第五步生成 SSL 密钥的keystore.p12文件拷贝到openGauss-datakit/config/application-temp.yml的server:ssl:key-store`。保持生成keystore.p12文件的密码和接下来第三步和第七步的密码一致。 -
在
openGauss-datakit/config/application-temp.yml中配置server:ssl:key-store-password。需要与第七步 IDE 启动时环境变量的DATA_KIT_AES_KEY相同。(大于6位,包含数字、大小写字母、特殊字符) -
在项目根目录创建文件夹:
mkdir visualtool-plugin用于存放构建后的插件 jar 包。(如果 ER-Modeling 项目没有位于根目录,则需要在根目录创建
visualtool-plugin文件夹用于存放 jar 包。) -
执行构建脚本:
sh idea-debug-plugins-api-build.sh -
将
base-ops与er-model模块中target目录下的 jar 包拷贝至visualtool-plugin文件夹。 -
点击根目录的
pom.xml,选择将该项目添加为Maven项目。 -
启动主应用类:
openGauss-datakit/visualtool-api/src/main/java/org/opengauss/admin/AdminApplication.java
启动时配置环境变量DATA_KIT_AES_KEY=YourKey@123(示例,与第二步你设置的密码key-store-password相同)
启动与访问
-
默认账号密码:
用户名:admin 密码:admin123首次登录需修改密码。
三、服务器环境运行
-
构建安装包
sh build.sh成功后会生成:
openGauss-Datakit-All-7.0.0-RC3.tar.gz将该文件上传至服务器。
-
解压安装包
tar -xzf openGauss-Datakit-All-7.0.0-RC3.tar.gz cd openGauss-datakit -
创建目录
mkdir config files ssl logs -
修改配置文件 - 工作目录 编辑
application-temp.yml:system.defaultStoragePath: /ops/files server.ssl.key-store: /ops/ssl/keystore.p12 logging.file.path: /ops/logs将
/ops替换为实际安装目录(如/path/datakit_server), 然后将文件移动至config目录:mv application-temp.yml config/ -
修改配置文件 - 数据库连接 如使用 openGauss 数据库:
driver-class-name: org.opengauss.Driver url: jdbc:opengauss://ip:port/database?currentSchema=public&batchMode=off username: dbuser password: ****** -
生成 SSL 密钥
keytool -genkey -noprompt -dname "CN=opengauss, OU=opengauss, O=opengauss, L=Beijing, S=Beijing, C=CN" -alias opengauss -storetype PKCS12 -keyalg RSA -keysize 4096 -keystore /path/datakit_server/ssl/keystore.p12 -validity 365 -storepass ****** -ext "SAN=IP:x.x.x.x"-storepass值需与配置文件中server.ssl.key-store-password保持一致x.x.x.x替换为服务器实际 IP
-
启动与运维
sh ./run.sh start --aes-key xxxxxx # 启动 sh ./run.sh stop # 停止 sh ./run.sh restart --aes-key xxxxxx # 重启 sh ./run.sh status # 查看状态 -
访问服务 启动成功后,通过浏览器访问:
https://ip:9494/默认账号密码:
用户名:admin 密码:admin123
四、补充说明
- 若使用 openGauss 作为后台数据库,请确保已正确配置远程连接参数。
- 详细参数说明可参考:openGauss 参数配置文档。
License
本插件遵循 Mulan PSL v2 协议。