Skip to content

日常问题:客户 dump 初始化后 Flowable 报 db version is null

生成日期:2026-08-22
用途:客户按文档先导 schema 再导 static_data,prod 启动失败;或开启 database-schema-update 后报重复字段。

现象

  1. application-prod.yaml 默认 flowable.database-schema-update: false

  2. 导入 dump/latest/schema_*.sql + static_data_*.sql 后启动:

    FlowableWrongDbException: version mismatch: library version is '8.0.0.0', db version is null

  3. 按异常提示改成 true 后,常见 Duplicate column / 重复字段(表已经存在,引擎又按「未初始化」去加列)。

开源库能启动,是因为那边 act_ge_property 里有 schema.version 等默认行。

根因

不是「schema 缺表」,而是 static_data 漏了 Flowable 引擎行

  • 白名单里写了 ACT_GE_PROPERTY / ACT_RE_* / FLW_*(大写)。
  • 移动云 MySQL lower_case_table_names=1information_schema 返回 act_ge_property
  • _export_static.mjs 用大小写敏感 Set.has,这组表被跳过,只留下空表。
  • _clear_test_data.mjs 早已大小写不敏感,导出脚本当时没对齐。

20260819第一份从移动云导出的客户包。此前从 182 导出的包(含 20260811)都有 ACT_GE_PROPERTY 等大写表名数据。

时间线:

日期事件
2026-03-24导出改成「information_schema 全表 ∩ 白名单 Set.has」。白名单写大写 ACT_*,隐患埋下
2026-03 ~ 2026-08-11默认连 182。那边 information_schema 返回 ACT_GE_PROPERTY,和白名单对得上,客户包完整
2026-08-154bf38de 把导出默认库改成 移动云 36.140.151.10
2026-08-19151e316 第一次在移动云刷 latest。移动云返回小写 act_ge_propertySet.has 失败,Flowable 数据整组漏掉

所以「以前都能导完整」是对的;不是客户操作问题,是换库后大小写对不上。

排查

sql
SELECT NAME_, VALUE_, REV_ FROM act_ge_property;
SELECT COUNT(*) FROM act_re_procdef;
SELECT COUNT(*) FROM act_ge_bytearray;
SELECT COUNT(*) FROM bpm_process_definition_info;
结果含义
act_ge_propertyschema.version启动必挂(prod 不自动写版本)
act_re_* / act_ge_bytearray 为 0,但 bpm_* 有数据即使补了版本能启动,流程也发不起来
database-schema-update=true 报重复列结构已是 8.0.0.0,不要靠自动升级补数据

修复 / 规避

  1. 已导入的客户库(只求先启动)
    执行 ruoyi-office-db/update/202608/20260822_update/02_optional_可选需确认/205100_seed_flowable_engine_property_8_0_0_0.sql
    版本必须写成 8.0.0.0。不要用 20260416 那份 7.2.0.2 补丁。

  2. 保持 prod 关闭自动改表。
    表结构以 dump schema 为准;空属性表 + 自动更新 = 重复字段。

  3. 正式交付
    已修 _export_static.mjs 大小写匹配。重新导出客户包,确认 static_data 含:

    • act_ge_property(7 行量级)
    • act_id_property
    • act_re_deployment / act_re_model / act_re_procdef
    • act_ge_bytearray
    • flw_ev_databasechangeloglock
  4. 不要把 full_data_with_demo_*.sql 整包当客户初始化。

关联路径

  • ruoyi-office-db/dump/_export_static.mjs
  • ruoyi-office/yudao-server/src/main/resources/application-prod.yaml
  • ruoyi-office-db/update/202608/20260822_update/04_note_说明勿执行/205110_note_flowable_static_export_case_mismatch.md
  • 客户侧另一类根因(Linux 大小写敏感,小写/大写两张表):ruoyi-office-doc/docs/kb/deployment/Flowable启动空指针-表名大小写.md
  • 2026-08-25 起客户 dump 在导出时把 ACT_* / FLW_* 改写成大写(dump/_export_static.mjs),不再改开发库 lower_case_table_names
  • 2026-08-26 起补齐 QRTZ_*。8 月 25 日包在 Linux 上会报 Table '….QRTZ_LOCKS' doesn't exist,已导入库见 update/202608/20260826_update/02_optional_可选需确认/
联系我们

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

微信咨询二维码

微信咨询

17156169080

添加时备注「RuoYi Office」

在线体验商业版