Flowable 发布版本报错解决方案
错误现象
FLowable deployment ‘xxx’ didn’t put process definition ‘xxx’ in the cache
错误原因
该错误是由于流程定义相关数据表之间的关联关系不完整导致的,一般是在数据迁移时数据不完整导致。主要涉及以下三张表:
表名 | 描述 |
---|---|
act_re_procdef | 存储流程定义信息 |
act_re_deployment | 存储流程部署信息 |
act_ge_bytearray | 存储二进制资源 |
关联关系要求:
act_re_procdef.deployment_id_
必须对应act_re_deployment.id_
act_re_deployment.id_
必须对应act_ge_bytearray.deployment_id_
解决方案
方案1:补全缺失数据
- 检查
act_ge_bytearray
表是否有缺失记录 - 补充缺失的记录
- 确保三表关联关系完整
方案2:清理不完整数据
- 备份相关表数据(必须!)
- 检查
act_re_procdef
表中不完整的记录 - 删除这些不完整记录
操作流程
-- 1. 先备份数据
-- 2. 查找不完整记录
SELECT * FROM act_re_procdef
WHERE deployment_id_ NOT IN (SELECT deployment_id_ FROM act_ge_bytearray);
-- 3. 删除不完整记录(谨慎操作)
DELETE FROM act_re_procdef
WHERE deployment_id_ NOT IN (SELECT deployment_id_ FROM act_ge_bytearray);