-- =====================================================================
|
-- 修复 ACT_RE_MODEL.REV_ 为 NULL 导致流程模型保存报 500「系统异常」
|
--
|
-- 现象:
|
-- 流程模型 → 修改 → 保存 / 发布,报「操作流程失败,原因:你不是该流程(xxx)的管理员」,
|
-- 或保存时 500「系统异常」(日志为 FlowableOptimisticLockingException)。
|
--
|
-- 根因:
|
-- 1) managerUserIds 为空(NULL / [])时,后端 validateModelManager 任何人都校验不过,
|
-- 模型彻底变成「无主」,谁都无法修改(死锁)→ 由后端代码放宽为「超级管理员始终放行」。
|
-- 2) ACT_RE_MODEL.REV_ 是 Flowable 的乐观锁版本列,为 NULL 时
|
-- UPDATE ... WHERE REV_ = NULL 永远匹配不到,抛乐观锁异常 → 需要把 NULL 补成 1。
|
--
|
-- 影响范围(修复前实测):
|
-- 北方科技 mom-bfkj:21 个模型中 14 个 REV_ 为 NULL
|
-- 蓝羽纸业 mom-lyzy:24 个模型中 14 个 REV_ 为 NULL
|
--
|
-- 执行本脚本的库:mom-bfkj、mom-lyzy(两家都要执行)
|
-- =====================================================================
|
|
-- 修复乐观锁版本号为 NULL 的记录
|
UPDATE ACT_RE_MODEL SET REV_ = 1 WHERE REV_ IS NULL;
|
|
-- 验证:不应再出现 NULL
|
SELECT ifnull(cast(REV_ as char), '<NULL>') AS REV, COUNT(*) AS 条数
|
FROM ACT_RE_MODEL
|
GROUP BY REV_
|
ORDER BY REV_;
|