日常问题:客户 dump 初始化后 Flowable 报 db version is null
生成日期:2026-08-22
用途:客户按文档先导 schema 再导 static_data,prod 启动失败;或开启 database-schema-update 后报重复字段。
现象
application-prod.yaml默认flowable.database-schema-update: false。导入
dump/latest/schema_*.sql+static_data_*.sql后启动:FlowableWrongDbException: version mismatch: library version is '8.0.0.0', db version is null按异常提示改成
true后,常见Duplicate column/ 重复字段(表已经存在,引擎又按「未初始化」去加列)。
开源库能启动,是因为那边 act_ge_property 里有 schema.version 等默认行。
根因
不是「schema 缺表」,而是 static_data 漏了 Flowable 引擎行。
- 白名单里写了
ACT_GE_PROPERTY/ACT_RE_*/FLW_*(大写)。 - 移动云 MySQL
lower_case_table_names=1,information_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-15 | 4bf38de 把导出默认库改成 移动云 36.140.151.10 |
| 2026-08-19 | 151e316 第一次在移动云刷 latest。移动云返回小写 act_ge_property,Set.has 失败,Flowable 数据整组漏掉 |
所以「以前都能导完整」是对的;不是客户操作问题,是换库后大小写对不上。
排查
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_property 无 schema.version | 启动必挂(prod 不自动写版本) |
act_re_* / act_ge_bytearray 为 0,但 bpm_* 有数据 | 即使补了版本能启动,流程也发不起来 |
开 database-schema-update=true 报重复列 | 结构已是 8.0.0.0,不要靠自动升级补数据 |
修复 / 规避
已导入的客户库(只求先启动)
执行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补丁。保持 prod 关闭自动改表。
表结构以 dump schema 为准;空属性表 + 自动更新 = 重复字段。正式交付
已修_export_static.mjs大小写匹配。重新导出客户包,确认static_data含:act_ge_property(7 行量级)act_id_propertyact_re_deployment/act_re_model/act_re_procdefact_ge_bytearrayflw_ev_databasechangeloglock
不要把
full_data_with_demo_*.sql整包当客户初始化。
关联路径
ruoyi-office-db/dump/_export_static.mjsruoyi-office/yudao-server/src/main/resources/application-prod.yamlruoyi-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_可选需确认/
