互相学习交流
当我们使用activiti开发工作流时,项目上线后可能修改需求导致修改流程图也是很常见的情况。但是activiti更新流程图后,以前的流程实例并不会也跟着更新,activiti会保存每一份的流程图版本,只有新发起的流程实例才会使用最新的流程图版本,若以前的流程实例也需要更新的话就需要手动割接数据了。下面介绍具体步骤。
一、找到已部署的流程定义记录表
找到通过NAME_字段找到目标流程定义,再通过VERSION_字段定位到最新的图版本。
找到ID_,例如:demand:87:6d3d07db-c8fd-11ec-8f51-9a43fa94ed14(其他表的PROC_DEF_ID_字段)。
二、 找到需要修改的实例的PROC_INST_ID_
通过act_hi_procinst表的BUSINESS_KEY_值(业务启动流程时的唯一编码)找到PROC_INST_ID_值。
三、通过PROC_INST_ID_值定位需要修改的值
act_hi_actinst、act_hi_taskinst、act_ru_execution、act_ru_task,修改如上四张表的数据。
例如act_hi_actinst表修改:
通过PROC_INST_ID_值定位到需要修改的记录,将PROC_DEF_ID_改为第一步找到的最新的PROC_DEF_ID_,如上面的demand:87:6d3d07db-c8fd-11ec-8f51-9a43fa94ed14即可。