activiti7的数据表和字段的解释
activiti7版本有25张表,而activiti6有28张表,activiti5有27张表,绝大部分的表和字段的含义都是一样的,所以本次整理的activiti7数据表和字段的解释,也同样适用于activiti6和5。
1、总览
可分为四大类:
act_re_*:re代表Repository(仓库),存储流程部署、流程模型和流程定义相关的数据。对应的操作service为RepositoryService
act_ru_*:ru代表runtime(运行时),流程从启动到结束过程中的所有运行时数据,全放在运行时表中。对应的操作service为RuntimeService和TaskService
act_hi_*:hi代表history(历史),记录所有的历史信息,其中的表名和字段名,与运行时表相对应。对应的操作service为HistoryService
act_ge_:ge代表general(通用),记录一些通用的数据,如.bpmn文件内容。对应的操作service为ManagementService。*
常用的数据表:
act_re_model
act_re_deployment
act_ge_bytearray
act_re_procdef
act_ru_execution
act_ru_identitylink
act_ru_task
act_ru_variable
act_hi_actinst
act_hi_comment
act_hi_identitylink
act_hi_procinst
act_hi_taskinst
act_hi_varinst
2、具体
act_re_model:流程模型表
描述:存储每个流程最新的一个流程模型。可以通过api来手动操作(Model)
注意,这里的EDITOR_SOURCE_VALUE_ID_和EDITOR_SOURCE_EXTRA_VALUE_ID_,不是二进制资源表中和部署记录一一对应的blob的id,而是在此基础上增加内容后产生的两条新的二进制资源。
act_ge_bytearray:二进制资源表
描述:用于存储用户画的流程图的原始bpmn文件和图片文件
act_re_deployment :流程部署表
描述: 存储流程部署记录。同样的key不一样的内容多次部署产生多条部署记录。
值得注意的是:
当开发的流程功能,由开发环境上线到生产环境时,迁移流程图时移动上面三个表中相应流程的数据就行了。
act_re_procdef:流程定义表
备注:
VERSION_ 字段代表流程的版本,从1开始。当部署流程图时,**如果流程ID(流程定义key)一样,但是bpmn内容发生了改变,则部署时会部署成功,出现VERSION_ 字段为2的流程定义版本,启动流程时如果是 startProcessInstanceByKey 启动的,则会用最新的流程定义执行流程。**所以当流程发生改变,又不想删除旧流程的流程数据时,就可以让流程ID一样,流程图不一样就行了。
act_procdef_info:流程定义信息表
act_ge_property:引擎属性表
描述:除了activiti7自带的系统属性,还能自定义添加,然后,通过managementService.getProperties();获取
act_ru_execution:运行时执行实例表
描述:
act_ru_identitylink:运行时身份连接表
描述:存储运行时流程的参与者身份连接
act_ru_task:运行时任务表
act_ru_timer_job:运行时定时作业表
描述:存储通过activiti发起的定时作业的信息。
act_ru_variable:运行时流程变量表
act_ru_suspended_job:运行时挂起的定时作业表
act_ru_job:运行时作业表
act_ru_integration:运行时积分表
act_ru_event_subscr:运行时事件订阅表
act_ru_deadletter_job:运行时死信作业表
act_evt_log:事件日志表
描述:事件日志表,记录activiti引擎级别的事件日志,默认关闭。
ps:
1)配置启用事件日志:processEngineConfiguration.setEnableDatabaseEventLogging(true);
2)运行时启用事件日志:databaseEventLogger = new EventLogger(processEngineConfiguration.getClock());
runtimeService.addEventListener(databaseEventLogger);
3)基于Activiti引擎的事件机制,其思想是,来源于引擎的事件会被捕获,并创建一个包含了所有事件数据的映射,提供给org.activiti.engine.impl.event.logger.EventFlusher,由它将这些数据刷入其他地方。默认情况下,使用简单的基于数据库的事件处理/刷入,会使用Jackson将上述映射序列化为JSON,并将其作为EventLogEntryEntity接口存入数据库。如果不使用事件记录,可以删除这个表。
act_hi_actinst:历史活动信息表
描述:记录流程流转过的所有节点信息
act_hi_attachment:历史流程附件表
act_hi_comment:历史审批意见表
描述:
act_hi_detail:历史详情表
描述:提供历史变量的查询
act_hi_identitylink:历史身份连接表
描述:相同字段含义和运行时身份连接表一样
act_hi_procinst:历史流程实例表
act_hi_taskinst:历史任务表:记录历史和正在进行的任务
描述:
act_hi_varinst:历史流程变量表
描述:
对于不常用的,有需要的时候在研究吧。另外,activiti7的api也基本都是根据数据表的字段来设计的,熟悉了数据表,在找到对应的操作api就不难了。