examples/ER-Modeling
wangziqi 430cc3908e docs(ER-Modeling): 更新开发环境运行步骤
- 修改数据库连接配置说明
- 更新SSL密钥文件拷贝步骤
- 补充密码复杂度要求(包含数字、大小写字母、特殊字符)- 调整步骤编号以匹配最新安装流程
- 添加openGauss-workbench安装链接参考
2025-10-30 03:00:51 +08:00
..
lib chore(deps): 更新依赖版本并调整构建配置- 升级 @babel/eslint-parser 和 @quasar/app-webpack 版本- 添加 overrides 配置以锁定关键 babel 依赖版本 2025-10-30 01:24:04 +08:00
openGauss-datakit 新增 ER-Modeling 项目: 2025-10-29 21:05:54 +08:00
openGauss-datakit-agent 新增 ER-Modeling 项目: 2025-10-29 21:05:54 +08:00
plugins chore(deps): 更新依赖版本并调整构建配置- 升级 @babel/eslint-parser 和 @quasar/app-webpack 版本- 添加 overrides 配置以锁定关键 babel 依赖版本 2025-10-30 01:24:04 +08:00
.gitignore 新增 ER-Modeling 项目: 2025-10-29 21:05:54 +08:00
README.md docs(ER-Modeling): 更新开发环境运行步骤 2025-10-30 03:00:51 +08:00
build.sh 新增 ER-Modeling 项目: 2025-10-29 21:05:54 +08:00
er-model-test-report.pdf 新增 ER-Modeling 项目: 2025-10-29 21:05:54 +08:00
idea-debug-plugins-api-build.sh 新增 ER-Modeling 项目: 2025-10-29 21:05:54 +08:00
pom.xml 新增 ER-Modeling 项目: 2025-10-29 21:05:54 +08:00
run.sh 新增 ER-Modeling 项目: 2025-10-29 21:05:54 +08:00

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


二、开发环境运行(建议)

构建步骤

  1. 修改 openGauss-datakit/visualtool-api 目录下的 application-dev.yml,配置数据库连接、用户名与密码(需为远程用户)。

  2. 按照https://gitcode.com/opengauss/openGauss-workbench 安装步骤,将第五步生成 SSL 密钥的keystore.p12文件拷贝到openGauss-datakit/config/application-temp.ymlserver:ssl:key-store`。保持生成keystore.p12文件的密码和接下来第三步和第七步的密码一致。

  3. openGauss-datakit/config/application-temp.yml 中配置server:ssl:key-store-password。需要与第七步 IDE 启动时环境变量的 DATA_KIT_AES_KEY 相同。大于6位包含数字、大小写字母、特殊字符

  4. 在项目根目录创建文件夹:

    mkdir visualtool-plugin
    

    用于存放构建后的插件 jar 包。(如果 ER-Modeling 项目没有位于根目录,则需要在根目录创建 visualtool-plugin 文件夹用于存放 jar 包。)

  5. 执行构建脚本:

    sh idea-debug-plugins-api-build.sh
    
  6. base-opser-model 模块中 target 目录下的 jar 包拷贝至 visualtool-plugin 文件夹。

  7. 点击根目录的pom.xml选择将该项目添加为Maven项目。

  8. 启动主应用类:

    openGauss-datakit/visualtool-api/src/main/java/org/opengauss/admin/AdminApplication.java
    

启动时配置环境变量DATA_KIT_AES_KEY=YourKey@123(示例,与第二步你设置的密码key-store-password相同)

启动与访问

  • 默认账号密码:

    用户名admin
    密码admin123
    

    首次登录需修改密码。


三、服务器环境运行

  1. 构建安装包

    sh build.sh
    

    成功后会生成:

    openGauss-Datakit-All-7.0.0-RC3.tar.gz
    

    将该文件上传至服务器。

  2. 解压安装包

    tar -xzf openGauss-Datakit-All-7.0.0-RC3.tar.gz
    cd openGauss-datakit
    
  3. 创建目录

    mkdir config files ssl logs
    
  4. 修改配置文件 - 工作目录 编辑 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/
    
  5. 修改配置文件 - 数据库连接 如使用 openGauss 数据库:

    driver-class-name: org.opengauss.Driver
    url: jdbc:opengauss://ip:port/database?currentSchema=public&batchMode=off
    username: dbuser
    password: ******
    
  6. 生成 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
  7. 启动与运维

    sh ./run.sh start --aes-key xxxxxx    # 启动
    sh ./run.sh stop                      # 停止
    sh ./run.sh restart --aes-key xxxxxx  # 重启
    sh ./run.sh status                    # 查看状态
    
  8. 访问服务 启动成功后,通过浏览器访问:

    https://ip:9494/
    

    默认账号密码:

    用户名admin
    密码admin123
    

四、补充说明

  • 若使用 openGauss 作为后台数据库,请确保已正确配置远程连接参数。
  • 详细参数说明可参考:openGauss 参数配置文档

License

本插件遵循 Mulan PSL v2 协议。