用于保存与流程引擎相关的资源,只要调用了 Activiti 存储服务的 API ,涉及的资源均会被转换为 byte 数组保存到这个表中。在资源表中设计了一个 BYTES宇段,用来保存资源的内容,因此理论上其可以用于保存任何类型的资源(文件或者其他来源的输入流)。一般情况下, Activiti 使用这个表来保存字符串、流程文件的内容、流程图片内容
字段 |
类型 |
null |
备注 |
ID_ |
varchar(64) |
NO |
|
REV_ |
int(11) |
YES |
数据版本, Activiti为一些有可能会被频繁修改的数据表,加入该字段,用来表示该数据被操作的次数 |
NAME_ |
varchar(255) |
YES |
资源名称 |
DEPLOYMENT_ID_ |
varchar(64) |
YES |
一次部署可以添加多个资源,该字段与部署表ACT_RE_DEPLOYMENT的主键相关联 |
BYTES_ |
longblob |
YES |
资源内容,最大可存储4G数据 |
GENERATED_ |
tinyint(4) |
YES |
是否由Activiti自动产生的资源,0 |
Activiti 将全部的属性抽象为 key-value 对,每个属性都有名称和值, 使用
ACT GE PROPERTY 来保存这些属性
字段 |
类型 |
null |
备注 |
NAME_ |
varchar(64) |
NO |
名称 |
VALUE_ |
varchar(300) |
YES |
值_ |
REV_ |
int(11) |
YES |
数据的版本号 |
在Acti vi ti 中,一次部署可以添加多个资源,资源会被保存到资源表中(act_ge_bytearray),而对于部署,则部署信息会被保存到部署表中
字段 |
类型 |
NULL |
备注 |
ID_ |
varchar(64) |
NO |
|
NAME_ |
varchar(255) |
YES |
部署的名称 |
CATEGORY_ |
varchar(255) |
YES |
|
KEY_ |
varchar(255) |
YES |
|
TENANT_ID_ |
varchar(255) |
YES |
|
DEPLOY_TIME_ |
timestamp |
YES |
部署的时间 |
ENGINE_VERSION_ |
varchar(255) |
YES |
|
Activiti 在部署添加资源时,如果发布部署的文件是流程文件( .bpnn 或者.BPMN 20.xml),
则除了会解析这些流程文件,将内容保存到资源表外,还会解析流程文件的内容,形成特定的流程定义数据,写入流程定义表( ACT_RE_PROCDEF )中
字段 |
类型 |
NULL |
备注 |
ID_ |
varchar(64) |
NO |
|
REV_ |
int(11) |
YES |
|
CATEGORY_ |
varchar(255) |
YES |
流程定义的分类 |
NAME_ |
varchar(255) |
YES |
流程定义名称 |
KEY_ |
varchar(255) |
NO |
流程定义的key |
VERSION_ |
int(11) |
NO |
|
DEPLOYMENT_ID_ |
varchar(64) |
YES |
流程定义对应的部署数据ID |
RESOURCE_NAME_ |
varchar(4000) |
YES |
流程定义对应的资源名称 |
DGRM_RESOURCE_NAME_ |
varchar(4000) |
YES |
流程定义对应的流程图资源名称 |
DESCRIPTION_ |
varchar(4000) |
YES |
|
HAS_START_FORM_KEY_ |
tinyint(4) |
YES |
|
HAS_GRAPHICAL_NOTATION_ |
tinyint(4) |
YES |
|
SUSPENSION_STATE_ |
int(11) |
YES |
表示流程定义的状态是激活还是终止,1:激活,2:终止,如果流程定义状态是终止状态则不能启动该流程 |
TENANT_ID_ |
varchar(255) |
YES |
|
ENGINE_VERSION_ |
varchar(255) |
YES |
|
Activiti 整个身份数据模块,可以独立于流程引擎而存在 有关身份数据的几张表没有保存与流程相关的数据及关联。身份表名称以 ACT_ID 开头,表名中的 是单词 identity的缩写。
字段 |
类型 |
NULL |
备注 |
ID_ |
varchar(64) |
NO |
|
REV_ |
int(11) |
YES |
|
FIRST_ |
varchar(255) |
YES |
人名 |
LAST_ |
varchar(255) |
YES |
姓式 |
EMAIL_ |
varchar(255) |
YES |
用户邮箱 |
PWD_ |
varchar(255) |
YES |
用户密码 |
PICTURE_ID_ |
varchar(64) |
YES |
用户图片,对应资源中的数据ID |
Activiti 将用户、用户账号和用户信息分为三种数据,其中用户表保存用户的数据,而用
户账号和用户信息,则被保存到 ACT_ID_INFO 表中
字段 |
类型 |
NULL |
备注 |
ID_ |
varchar(64) |
NO |
|
REV_ |
int(11) |
YES |
|
USER_ID_ |
varchar(64) |
YES |
对应用户表的数据ID(没有强制做外键关联) |
TYPE_ |
varchar(64) |
YES |
信息类型,当前可以设置用户账号(account)、用户信息(userinfo)和NULL三种值 |
KEY_ |
varchar(255) |
YES |
数据的键。可以根据改键来查找用户信息的值 |
VALUE_ |
varchar(255) |
YES |
数据的值 |
PASSWORD_ |
longblob |
YES |
用户账号的密码字段 |
PARENT_ID_ |
varchar(255) |
YES |
该信息的父信息ID,如果一条数据设置了父信息ID,则表示该数据是用户账号(信息)的明细数据,例如一个账号有激活日期,那么激活日期就是该账号的明细数据,此处使用了自关联来实现。 |
字段 |
类型 |
NULL |
备注 |
ID_ |
varchar(64) |
NO |
|
REV_ |
int(11) |
YES |
|
NAME_ |
varchar(255) |
YES |
用户组名称 |
TYPE_ |
varchar(255) |
YES |
用户组类型,类型不由activiti提供,但是在某些业务中, Activiti 会根据该字段的值进行查询,字段值由 Activiti 定如 Activiti webService |
一个用户组下有多个用户, 一个用户可以属于不同的用户组,那么这种多对多的关系,就
使用关系表来进行描述,关系表为 ACT ID ME IBERSHIP ,只有两个字段。需要注意的是, ACT_ID_MEMBERSHI的两个字段均做了外键约束 写入该表的数据,必须要有用户和用户组数据与之关联。
字段 |
类型 |
NULL |
备注 |
USER_ID_ |
varchar(64) |
NO |
|
GROUP_ID_ |
varchar(64) |
NO |
|
运行时数据表用来保存流程在运行过程中所产生的数据,例如流程实例、执行流、任务等
运行时数据表的名称以 ACT_RU 开头,“RU ”是单词 runtime 的缩写。
流程启动后,会产生一个流程实例,同时会产生相应的执行流,流程实例和执行流数据均
被保存在 ACT_RU_EXECUTION 表中,如果一个流程实例只有一条执行流,那么该表中只产
生一条数据,该数据既表示执行流,也表示流程实例。
字段 |
类型 |
NULL |
备注 |
ID_ |
varchar(64) |
NO |
|
REV_ |
int(11) |
YES |
|
PROC_INST_ID_ |
varchar(64) |
YES |
流程实例ID,一个流程实例可能产生多个执行流,该字段表示执行流所属的流程实例 |
BUSINESS_KEY_ |
varchar(255) |
YES |
启动流程时指定的业务主键 |
PARENT_ID_ |
varchar(64) |
YES |
父执行流的ID,一个流程实例可能会产生多个执行流,该字段表示父执行ID |
PROC_DEF_ID_ |
varchar(64) |
YES |
流程定义数据ID |
SUPER_EXEC_ |
varchar(64) |
YES |
|
ROOT_PROC_INST_ID_ |
varchar(64) |
YES |
|
ACT_ID_ |
varchar(255) |
YES |
当前执行流行为的ID,ID在流程文件中定义 |
IS_ACTIVE_ |
tinyint(4) |
YES |
该执行流是否活跃的标识 |
IS_CONCURRENT_ |
tinyint(4) |
YES |
执行流是否正在并行 |
IS_SCOPE_ |
tinyint(4) |
YES |
|
IS_EVENT_SCOPE_ |
tinyint(4) |
YES |
|
IS_MI_ROOT_ |
tinyint(4) |
YES |
|
SUSPENSION_STATE_ |
int(11) |
YES |
标识流程的中断状态 |
CACHED_ENT_STATE_ |
int(11) |
YES |
|
TENANT_ID_ |
varchar(255) |
YES |
|
NAME_ |
varchar(255) |
YES |
|
START_TIME_ |
datetime |
YES |
|
START_USER_ID_ |
varchar(255) |
YES |
|
LOCK_TIME_ |
timestamp |
YES |
|
IS_COUNT_ENABLED_ |
tinyint(4) |
YES |
|
EVT_SUBSCR_COUNT_ |
int(11) |
YES |
|
TASK_COUNT_ |
int(11) |
YES |
|
JOB_COUNT_ |
int(11) |
YES |
|
TIMER_JOB_COUNT_ |
int(11) |
YES |
|
SUSP_JOB_COUNT_ |
int(11) |
YES |
|
DEADLETTER_JOB_COUNT_ |
int(11) |
YES |
|
VAR_COUNT_ |
int(11) |
YES |
|
ID_LINK_COUNT_ |
int(11) |
YES |
|
流程在运行过程中所产生的任务数据保存在 ACT_RU_TASK 表中
字段 |
类型 |
NULL |
备注 |
ID_ |
varchar(64) |
NO |
|
REV_ |
int(11) |
YES |
|
EXECUTION_ID_ |
varchar(64) |
YES |
任务所在的执行流ID |
PROC_INST_ID_ |
varchar(64) |
YES |
对应的流程实例ID |
PROC_DEF_ID_ |
varchar(64) |
YES |
对应流程定义数据ID |
NAME_ |
varchar(255) |
YES |
任务名称,在流程文件中定义 |
PARENT_TASK_ID_ |
varchar(64) |
YES |
|
DESCRIPTION_ |
varchar(4000) |
YES |
任务描述,在流程文件中配置 |
TASK_DEF_KEY_ |
varchar(255) |
YES |
任务定义的ID值,在流程文件中定义 |
OWNER_ |
varchar(255) |
YES |
任务拥有人,没有做外键关联 |
ASSIGNEE_ |
varchar(255) |
YES |
被指派执行该任务的人,没有做外键关联 |
DELEGATION_ |
varchar(64) |
YES |
|
PRIORITY_ |
int(11) |
YES |
任务优先级数值 |
CREATE_TIME_ |
timestamp |
YES |
|
DUE_DATE_ |
datetime |
YES |
任务预定日期 |
CATEGORY_ |
varchar(255) |
YES |
|
SUSPENSION_STATE_ |
int(11) |
YES |
|
TENANT_ID_ |
varchar(255) |
YES |
|
FORM_KEY_ |
varchar(255) |
YES |
|
CLAIM_TIME_ |
datetime |
YES |
|
Activiti 提供了ACT_RU_VAEIABLE表来存放流程中的参数,这类参数包括流程实例参数、执行流参数和任务参数,参数有可能会有多种类型
字段 |
类型 |
NULL |
备注 |
ID_ |
varchar(64) |
NO |
|
REV_ |
int(11) |
YES |
|
TYPE_ |
varchar(255) |
NO |
参数类型,该字段值可以为:boolean、bytes、serializable、date、double、integer、jpa-entity、long、null、short、string,这些字段值均为activiti提供,还可以通过扩展来自定义参数类型 |
NAME_ |
varchar(255) |
NO |
参数名称 |
EXECUTION_ID_ |
varchar(64) |
YES |
该参数对应的执行ID,NULL |
PROC_INST_ID_ |
varchar(64) |
YES |
该参数对应的流程实例ID,NULL |
TASK_ID_ |
varchar(64) |
YES |
如果该参数是任务参数,就需要设置任务ID |
BYTEARRAY_ID_ |
varchar(64) |
YES |
如果参数值是序列化对象,那么可以将该对象作为资源保存到资源表中,该字段保存资源表中的数据ID |
DOUBLE_ |
double |
YES |
参数类型为double的话则值会保存在该字段中 |
LONG_ |
bigint(20) |
YES |
参数类型为long的话则值会保存在该字段中 |
TEXT_ |
varchar(4000) |
YES |
保存文本类型的参数 |
TEXT2_ |
varchar(4000) |
YES |
|
流程与身份关系,用户或者用户组与流程数据之间的关系
字段 |
类型 |
NULL |
备注 |
ID_ |
varchar(64) |
NO |
|
REV_ |
int(11) |
YES |
|
GROUP_ID_ |
varchar(255) |
YES |
该关系数据中的用户组ID |
TYPE_ |
varchar(255) |
YES |
该关系数据的类型,assignee(指派人或组),candidate(候选人或组),owner(拥有人) |
USER_ID_ |
varchar(255) |
YES |
关系数据中的用户ID |
TASK_ID_ |
varchar(64) |
YES |
关系数据中的任务ID |
PROC_INST_ID_ |
varchar(64) |
YES |
关系数据中的流程实例ID |
PROC_DEF_ID_ |
varchar(64) |
YES |
关系数据中的流程定义ID |
字段 |
类型 |
NULL |
备注 |
ID_ |
varchar(64) |
NO |
|
REV_ |
int(11) |
YES |
|
TYPE_ |
varchar(255) |
NO |
|
LOCK_EXP_TIME_ |
timestamp |
YES |
|
LOCK_OWNER_ |
varchar(255) |
YES |
|
EXCLUSIVE_ |
tinyint(1) |
YES |
|
EXECUTION_ID_ |
varchar(64) |
YES |
|
PROCESS_INSTANCE_ID_ |
varchar(64) |
YES |
|
PROC_DEF_ID_ |
varchar(64) |
YES |
|
RETRIES_ |
int(11) |
YES |
|
EXCEPTION_STACK_ID_ |
varchar(64) |
YES |
|
EXCEPTION_MSG_ |
varchar(4000) |
YES |
|
DUEDATE_ |
timestamp |
YES |
|
REPEAT_ |
varchar(255) |
YES |
|
HANDLER_TYPE_ |
varchar(255) |
YES |
|
HANDLER_CFG_ |
varchar(4000) |
YES |
|
TENANT_ID_ |
varchar(255) |
YES |
|
字段 |
类型 |
NULL |
备注 |
ID_ |
varchar(64) |
NO |
|
REV_ |
int(11) |
YES |
|
TYPE_ |
varchar(255) |
NO |
|
EXCLUSIVE_ |
tinyint(1) |
YES |
|
EXECUTION_ID_ |
varchar(64) |
YES |
|
PROCESS_INSTANCE_ID_ |
varchar(64) |
YES |
|
PROC_DEF_ID_ |
varchar(64) |
YES |
|
EXCEPTION_STACK_ID_ |
varchar(64) |
YES |
|
EXCEPTION_MSG_ |
varchar(4000) |
YES |
|
DUEDATE_ |
timestamp |
YES |
|
REPEAT_ |
varchar(255) |
YES |
|
HANDLER_TYPE_ |
varchar(255) |
YES |
|
HANDLER_CFG_ |
varchar(4000) |
YES |
|
TENANT_ID_ |
varchar(255) |
YES |
|
字段 |
类型 |
NULL |
备注 |
ID_ |
varchar(64) |
NO |
|
REV_ |
int(11) |
YES |
|
TYPE_ |
varchar(255) |
NO |
|
EXCLUSIVE_ |
tinyint(1) |
YES |
|
EXECUTION_ID_ |
varchar(64) |
YES |
|
PROCESS_INSTANCE_ID_ |
varchar(64) |
YES |
|
PROC_DEF_ID_ |
varchar(64) |
YES |
|
RETRIES_ |
int(11) |
YES |
|
EXCEPTION_STACK_ID_ |
varchar(64) |
YES |
|
EXCEPTION_MSG_ |
varchar(4000) |
YES |
|
DUEDATE_ |
timestamp |
YES |
|
REPEAT_ |
varchar(255) |
YES |
|
HANDLER_TYPE_ |
varchar(255) |
YES |
|
HANDLER_CFG_ |
varchar(4000) |
YES |
|
TENANT_ID_ |
varchar(255) |
YES |
|
字段 |
类型 |
NULL |
备注 |
ID_ |
varchar(64) |
NO |
|
REV_ |
int(11) |
YES |
|
TYPE_ |
varchar(255) |
NO |
|
LOCK_EXP_TIME_ |
timestamp |
YES |
|
LOCK_OWNER_ |
varchar(255) |
YES |
|
EXCLUSIVE_ |
tinyint(1) |
YES |
|
EXECUTION_ID_ |
varchar(64) |
YES |
|
PROCESS_INSTANCE_ID_ |
varchar(64) |
YES |
|
PROC_DEF_ID_ |
varchar(64) |
YES |
|
RETRIES_ |
int(11) |
YES |
|
EXCEPTION_STACK_ID_ |
varchar(64) |
YES |
|
EXCEPTION_MSG_ |
varchar(4000) |
YES |
|
DUEDATE_ |
timestamp |
YES |
|
REPEAT_ |
varchar(255) |
YES |
|
HANDLER_TYPE_ |
varchar(255) |
YES |
|
HANDLER_CFG_ |
varchar(4000) |
YES |
|
TENANT_ID_ |
varchar(255) |
YES |
|
如果流程到达某类事件节点, Activiti 会往ACT_RUN_EVENT_SUBSCR表中加入事件描述数据,这些事件描述数据将会决定流程事件的触发。
字段 |
类型 |
NULL |
备注 |
ID_ |
varchar(64) |
NO |
|
REV_ |
int(11) |
YES |
|
EVENT_TYPE_ |
varchar(255) |
NO |
事件类型,不同事件会产生不同类型的事件描述,并不是所有的事件都会产生时间描述 |
EVENT_NAME_ |
varchar(255) |
YES |
事件名称,在流程文件中定义 |
EXECUTION_ID_ |
varchar(64) |
YES |
事件所在的执行流ID |
PROC_INST_ID_ |
varchar(64) |
YES |
时间所在的流程实例ID |
ACTIVITY_ID_ |
varchar(64) |
YES |
具体事件的ID,在流程文件中定义 |
CONFIGURATION_ |
varchar(255) |
YES |
事件的配置属性,该字段中有可能存放流程定义ID,执行流ID,或者其他数据 |
CREATED_ |
timestamp |
NO |
|
PROC_DEF_ID_ |
varchar(64) |
YES |
|
TENANT_ID_ |
varchar(255) |
YES |
|
历史数据表就好像流程引擎的日志表,操作过的流程元素将会被记录到历史表中。
只要流程被启动,就会将流程实例的数据写入 ACT HI PROC ST 表中 。除了基本的流程字段外,与运行时数据表不同的是,历史流程实例表还会记录流程的开始活动ID,结束活动ID等信息
字段 |
类型 |
NULL |
备注 |
ID_ |
varchar(64) |
NO |
|
PROC_INST_ID_ |
varchar(64) |
NO |
|
BUSINESS_KEY_ |
varchar(255) |
YES |
|
PROC_DEF_ID_ |
varchar(64) |
NO |
|
START_TIME_ |
datetime |
NO |
|
END_TIME_ |
datetime |
YES |
|
DURATION_ |
bigint(20) |
YES |
|
START_USER_ID_ |
varchar(255) |
YES |
|
START_ACT_ID_ |
varchar(255) |
YES |
开始活动的 ID 一般是流程开始事件的ID,在流程文件中定义 |
END_ACT_ID_ |
varchar(255) |
YES |
流程最后一个活动的 ID一般是流程结束事件的ID,在流程文件中 定义。 |
SUPER_PROCESS_INSTANCE_ID_ |
varchar(64) |
YES |
|
DELETE_REASON_ |
varchar(4000) |
YES |
该流程实例被删除的原因 |
TENANT_ID_ |
varchar(255) |
YES |
|
NAME_ |
varchar(255) |
YES |
|
流程明细表(ACT HI DETAlL 会记录流程执行过程中的参数或者表单数据,由于在流
程执行过程中,会产生大量这类数据,因此默认情况下, Activiti 不会保存流程明细数据,除非将流程引擎的历史数据( hist。可〉配置为 full
字段 |
类型 |
NULL |
备注 |
ID_ |
varchar(64) |
NO |
|
TYPE_ |
varchar(255) |
NO |
|
PROC_INST_ID_ |
varchar(64) |
YES |
|
EXECUTION_ID_ |
varchar(64) |
YES |
|
TASK_ID_ |
varchar(64) |
YES |
|
ACT_INST_ID_ |
varchar(64) |
YES |
|
NAME_ |
varchar(255) |
NO |
|
VAR_TYPE_ |
varchar(255) |
YES |
|
REV_ |
int(11) |
YES |
|
TIME_ |
datetime |
NO |
|
BYTEARRAY_ID_ |
varchar(64) |
YES |
|
DOUBLE_ |
double |
YES |
|
LONG_ |
bigint(20) |
YES |
|
TEXT_ |
varchar(4000) |
YES |
|
TEXT2_ |
varchar(4000) |
YES |
|
字段 |
类型 |
NULL |
备注 |
ID_ |
varchar(64) |
NO |
|
PROC_DEF_ID_ |
varchar(64) |
YES |
|
TASK_DEF_KEY_ |
varchar(255) |
YES |
|
PROC_INST_ID_ |
varchar(64) |
YES |
|
EXECUTION_ID_ |
varchar(64) |
YES |
|
NAME_ |
varchar(255) |
YES |
|
PARENT_TASK_ID_ |
varchar(64) |
YES |
|
DESCRIPTION_ |
varchar(4000) |
YES |
|
OWNER_ |
varchar(255) |
YES |
|
ASSIGNEE_ |
varchar(255) |
YES |
|
START_TIME_ |
datetime |
NO |
|
CLAIM_TIME_ |
datetime |
YES |
|
END_TIME_ |
datetime |
YES |
|
DURATION_ |
bigint(20) |
YES |
|
DELETE_REASON_ |
varchar(4000) |
YES |
|
PRIORITY_ |
int(11) |
YES |
|
DUE_DATE_ |
datetime |
YES |
|
FORM_KEY_ |
varchar(255) |
YES |
|
CATEGORY_ |
varchar(255) |
YES |
|
TENANT_ID_ |
varchar(255) |
YES |
|
字段 |
类型 |
NULL |
备注 |
ID_ |
varchar(64) |
NO |
|
PROC_DEF_ID_ |
varchar(64) |
NO |
|
PROC_INST_ID_ |
varchar(64) |
NO |
|
EXECUTION_ID_ |
varchar(64) |
NO |
|
ACT_ID_ |
varchar(255) |
NO |
|
TASK_ID_ |
varchar(64) |
YES |
|
CALL_PROC_INST_ID_ |
varchar(64) |
YES |
|
ACT_NAME_ |
varchar(255) |
YES |
|
ACT_TYPE_ |
varchar(255) |
NO |
|
ASSIGNEE_ |
varchar(255) |
YES |
|
START_TIME_ |
datetime |
NO |
|
END_TIME_ |
datetime |
YES |
|
DURATION_ |
bigint(20) |
YES |
|
DELETE_REASON_ |
varchar(4000) |
YES |
|
TENANT_ID_ |
varchar(255) |
YES |
|
字段 |
类型 |
NULL |
备注 |
ID_ |
varchar(64) |
NO |
|
REV_ |
int(11) |
YES |
|
USER_ID_ |
varchar(255) |
YES |
附件对应的用户ID |
NAME_ |
varchar(255) |
YES |
附件名称 |
DESCRIPTION_ |
varchar(4000) |
YES |
附件描述 |
TYPE_ |
varchar(255) |
YES |
附件类型 |
TASK_ID_ |
varchar(64) |
YES |
附件对应的任务ID |
PROC_INST_ID_ |
varchar(64) |
YES |
对应的流程实例ID |
URL_ |
varchar(4000) |
YES |
链接到该附件的URL |
CONTENT_ID_ |
varchar(64) |
YES |
附件内容ID,附件内容会保存到资源表中,该字段记录资源数据ID |
TIME_ |
datetime |
YES |
数据产生的时间 |
表实际不只保存评论数据,它还会保存某些事件数据
字段 |
类型 |
NULL |
备注 |
ID_ |
varchar(64) |
NO |
|
TYPE_ |
varchar(255) |
YES |
评论的类型可以设值为event或comment表示事件记录数据或 者评论数据
|
TIME_ |
datetime |
NO |
数据产生的时间 |
USER_ID_ |
varchar(255) |
YES |
产生评论数据的用户ID |
TASK_ID_ |
varchar(64) |
YES |
评论数据的任务ID |
PROC_INST_ID_ |
varchar(64) |
YES |
评论数据对应的流程实例ID |
ACTION_ |
varchar(255) |
YES |
该评论数据的操作标识 |
MESSAGE_ |
varchar(4000) |
YES |
该评论数据的信息 |
FULL_MSG_ |
longblob |
YES |
该字段同样记录评论数据的信息 |