WorkNote_Day58:手动删除Activiti实例数据

背景:

公司的框架继承了Activiti流程引擎,当在开发环境修改了bpmn文件之后push到现场后,由于现场发布了新的流程,是不会重新读取修改后的bpmn文件到数据库,也就是现场的流程定义并没有被修改成功。

为了能重新加载bpmn文件,这是就需要删除发布的流程。

但是存在实例的流程是无法删除的,所以需要从实例开始删除。


删实例–> 删流程–>重载bpmn文件–>发布修改后的新流程

Activiti表简介

1) 所有的表名默认以“ACT_”开头。

2) ACT_GE_* : “GE”代表“General”(通用),用在各种情况下;

3) ACT_HI_* : “HI”代表“History”(历史),这些表中保存的都是历史数据,比如执行过的流程实例、变量、任务,等等。

4) ACT_ID_* : “ID”代表“Identity”(身份),这些表中保存的都是身份信息,如用户和组以及两者之间的关系。如果Activiti被集成在某一系统当中的话,这些表可以不用,可以直接使用现有系统中的用户或组信息;

5) ACT_RE_* : “RE”代表“Repository”(仓库),这些表中保存一些‘静态’信息,如流程定义和流程资源(如图片、规则等);

6) ACT_RU_* : “RU”代表“Runtime”(运行时),这些表中保存一些流程实例、用户任务、变量等的运行时数据。Activiti只保存流程实例在执行过程中的运行时数据,并且当流程结束后会立即移除这些数据

在这里插入图片描述

执行:

  1. 通过 表:ACT_RU_TASK 在 proc_def_id_ 找到具体的 proc_inst_id_

  2. 在 act_hi_* 和 act_ru_ * 的表中找到有数据的表 (具体的表在下面)

  3. 最后通过 批量修改,将select * 改为 delete 删除有数据的表即可

----找到对应proc_inst_id
SELECT proc_inst_id FROM
ACT_RU_TASK where proc_def_id_ = 'qjshlc_xqj' ;
/**
 proc_inst_id_ in('440013','440039','440073' ,'440100')
*/
select * from act_hi_actinst where  proc_inst_id_ in('440013',
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值