Skip to content

工作流达梦适配 ​

这篇解决什么 ​

达梦上 Flowable 为什么要报成 Oracle 方言、信创 profile 关了哪些自动建表。读完能对上 BpmFlowableConfiguration 里对 DM DBMS / DM 的映射,以及 application-xinchuang-dm8.yaml。

默认端口 48080。先把引擎跑起来见 流程功能设计。开发库默认仍是 MySQL,本篇只写切到达梦时要改的点。

示意图:按 JDBC 产品名改 Flowable 字典 SQL。达梦走 Oracle 兼容分页和元数据。

从哪改 ​

名称说明仓库路径
引擎装配读连接产品名再 setDatabaseTyperuoyi-office/yudao-module-bpm/.../flowable/config/BpmFlowableConfiguration.java
信创 profile驱动、schema、关自动升级ruoyi-office/yudao-server/src/main/resources/application-xinchuang-dm8.yaml
MyBatis 库类型DbTypeEnum.DM,产品名 DM DBMSyudao-spring-boot-starter-mybatis/.../DbTypeEnum.java
业务表单流程 key 与达梦无关业务表单开发

启动示例:--spring.profiles.active=prod,xinchuang-dm8。驱动 dm.jdbc.driver.DmDriver,JDBC 默认 jdbc:dm://127.0.0.1:5236?schema=RUOYI_OFFICE&keyWords=PERCENT,COMMENT。账号口令走 DB_USERNAME / DB_PASSWORD。

flowable.database-schema-update 在信创 profile 为 false,database-schema 默认 RUOYI_OFFICE(可用 FLOWABLE_DATABASE_SCHEMA 覆盖)。引擎表要先按交付脚本建好,不要在达梦上开自动升级碰已有库。

MyBatis 到达梦时 id-type: AUTO。FIND_IN_SET 数据权限片段 DbTypeEnum.DM 与 MySQL 同一写法。这是业务 SQL,不是 Flowable 方言。

applicationTaskExecutor 仍是 Flowable 作业线程池,和 XXL-Job 无关。

字段 ​

名称说明仓库路径
JDBC 产品名DM DBMS 或 DM 才映射 OracleBpmFlowableConfiguration
database-schema-update信创关闭application-xinchuang-dm8.yaml
database-schemaFlowable 元数据 schema同上
id-typeAUTOMyBatis 全局

不要再抄 Activiti 适配

本仓库引擎是 Flowable。达梦映射已经写在 BpmFlowableConfiguration,不要另接一套 Activiti 方言包。

产品名对不上就还当 MySQL

连上之后若 getDatabaseProductName() 既不是 DM DBMS 也不是 DM,这段 if 不会进。先查连接元数据,再改映射,不要先改业务单据。

示意图:先表后 profile。自动升级保持关闭。

配置与操作 ​

运维先按交付脚本建达梦引擎表,再 --spring.profiles.active=prod,xinchuang-dm8。database-schema-update 保持 false。连上后看 JDBC 产品名是不是 DM DBMS / DM,对不上这段映射不会进。

没有单独的「达梦配置」菜单。开发库继续用 MySQL local。流程 key、表单路径与库类型无关。

开启见 流程功能设计。达梦没有本系统界面可截,以启动日志里的 databaseType=oracle 为准。

相关篇 ​

联系我们

获取报价、演示和二开方案

微信咨询二维码

微信咨询

17156169080

添加时备注「RuoYi Office」

在线体验商业版