Activiti删除测试数据(存储过程,手动SQL两种方法)

不用多说:Activiti 测试会出现很多垃圾数据使用如下两种方式均可删除掉Activiti表中的数据。直接接干货吧

CREATE OR REPLACE 
PROCEDURE "ACP_DEL_ACTINFO" (--删除流程信息(不包括部署信息)
  vs_procInst_id in VARCHAR2,
  SUCESS_FLAG OUT NUMBER,
  SUCESS_MSG OUT VARCHAR2
)
AS
 BUSINESS_KEY VARCHAR2(4000);
Begin
 SUCESS_MSG := '查询所有待删除Exe_ID';
 SELECT "TO_CHAR"(WM_CONCAT("TO_CHAR"("TO_CHAR"(BUSINESS_KEY_)))) INTO BUSINESS_KEY FROM ACT_HI_PROCINST WHERE INSTR(','||vs_procInst_id||',',','||PROC_INST_ID_||',') > 0;
 DELETE FROM ACT_HI_VARINST WHERE INSTR(','||vs_procInst_id||',',','||PROC_INST_ID_||',') > 0;
 DELETE FROM ACT_RU_VARIABLE WHERE INSTR(','||vs_procInst_id||',',','||PROC_INST_ID_||',') > 0;
 DELETE FROM ACT_RU_IDENTITYLINK WHERE INSTR(','||vs_procInst_id||',',','||PROC_INST_ID_||',') > 0;
 DELETE FROM ACT_HI_TASKINST WHERE INSTR(','||vs_procInst_id||',',','||PROC_INST_ID_||',') > 0;
 DELETE FROM ACT_HI_IDENTITYLINK WHERE INSTR(','||vs_procInst_id||',',','||PROC_INST_ID_||',') > 0;
 DELETE FROM ACT_HI_DETAIL WHERE INSTR(','||vs_procInst_id||',',','||PROC_INST_ID_||',') > 0;
 DELETE FROM ACT_HI_COMMENT WHERE INSTR(','||vs_procInst_id||',',','||PROC_INST_ID_||',') > 0;
 DELETE FROM ACT_HI_ATTACHMENT WHERE INSTR(','||vs_procInst_id||',',','||PROC_INST_ID_||',') > 0;
 DELETE FROM ACT_HI_ACTINST WHERE INSTR(','||vs_procInst_id||',',','||PROC_INST_ID_||',') > 0;
 DELETE FROM ACT_RU_JOB WHERE INSTR(','||vs_procInst_id||',',','||PROCESS_INSTANCE_ID_||',') > 0;
 DELETE FROM ACT_RU_TASK WHERE INSTR(','||vs_procInst_id||',',','||PROC_INST_ID_||',') > 0;
 DELETE FROM ACT_RU_EXECUTION WHERE INSTR(','||vs_procInst_id||',',','||PROC_INST_ID_||',') > 0;
 DELETE FROM ACT_HI_PROCINST WHERE INSTR(','||vs_procInst_id||',',','||PROC_INST_ID_||',') > 0;
 SUCESS_FLAG := 1;
Exception
    When others then
    SUCESS_FLAG := 0;
    SUCESS_MSG := '存储过程发生异常,断点在:'||SUCESS_MSG||',错误信息为:'||SQLERRM;
       Rollback;
End ACP_DEL_ACTINFO; 


------------------------------------------------------------------------华丽的分割线------------------------------------------------------------------------------------------------


MySQL手工删除数据
 
SELECT DISTINCT table_name,column_name FROM information_schema.columns
WHERE column_name = 'PROC_INST_ID_';
 
--手工删除工作流引擎数据
 
delete from act_ru_execution where PROC_INST_ID_= '9c881069b3fc4ec1987748df589d9bce';
delete from act_hi_actinst where PROC_INST_ID_ = '9c881069b3fc4ec1987748df589d9bce';
delete from act_hi_attachment where PROC_INST_ID_= '9c881069b3fc4ec1987748df589d9bce';
delete from act_hi_comment where PROC_INST_ID_= '9c881069b3fc4ec1987748df589d9bce';
delete from act_hi_detail where PROC_INST_ID_= '9c881069b3fc4ec1987748df589d9bce';
delete from act_hi_identitylink where PROC_INST_ID_= '9c881069b3fc4ec1987748df589d9bce';
delete from act_hi_procinst where PROC_INST_ID_= '9c881069b3fc4ec1987748df589d9bce';
delete from act_hi_taskinst where PROC_INST_ID_= '9c881069b3fc4ec1987748df589d9bce';
delete from act_hi_varinst where PROC_INST_ID_= '9c881069b3fc4ec1987748df589d9bce';
delete from act_ru_event_subscr where PROC_INST_ID_= '9c881069b3fc4ec1987748df589d9bce';
delete from act_ru_identitylink where PROC_INST_ID_= '9c881069b3fc4ec1987748df589d9bce';
delete from act_ru_task where PROC_INST_ID_= '9c881069b3fc4ec1987748df589d9bce';
delete from act_ru_variable where PROC_INST_ID_= '9c881069b3fc4ec1987748df589d9bce';


 

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Activiti是一个开源的工作流引擎,用于管理和执行业务流程。在进行Activiti单元测试时,可以使用JUnit框架来编写测试用例。 在进行Activiti单元测试时,需要先准备好测试环境,包括配置数据库连接、创建流程定义等。然后可以编写测试用例来验证流程的正确性。 以下是一些常见的Activiti单元测试的步骤和技巧: 1. 配置测试环境:在测试类中,可以使用@Before注解来初始化测试环境,例如创建ProcessEngineConfiguration对象、创建ProcessEngine对象等。 2. 部署流程定义:使用RepositoryService对象的方法来部署流程定义,可以通过读取classpath下的流程定义文件或者直接使用字符串形式的BPMN文件。 3. 启动流程实例:使用RuntimeService对象的方法来启动流程实例,可以传入业务参数或者设置流程变量。 4. 执行任务:使用TaskService对象的方法来执行任务,例如完成任务、查询任务等。 5. 验证结果:使用HistoryService对象的方法来查询历史数据,例如查询已完成的流程实例、查询任务历史等,以验证流程的正确性。 在编写测试用例时,可以使用断言来验证期望结果与实际结果是否一致。例如,可以使用assertEquals方法来比较两个值是否相等。 另外,还可以使用Mockito等工具来模拟外部依赖,例如模拟用户任务的处理逻辑、模拟外部系统的调用等,以便更好地进行单元测试。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值