Activiti 数据库表结构
——文档适用于 Activiti 5-6
Activiti 数据库表结构设计说明
Activiti 工作流总共包含 23 张数据表(现在是25张,新增了 ACT_EVT_LOG 和 ACT_PROCDEF_INFO )
Activiti 7 的数据库表结构设计
# Activiti 7 的数据库表结构设计
ACT_EVT_LOG, ACT_GE_BYTEARRAY, ACT_GE_PROPERTY, ACT_HI_ACTINST, ACT_HI_ATTACHMENT, ACT_HI_COMMENT, ACT_HI_DETAIL, ACT_HI_IDENTITYLINK, ACT_HI_PROCINST, ACT_HI_TASKINST, ACT_HI_VARINST, ACT_PROCDEF_INFO, ACT_RE_DEPLOYMENT, ACT_RE_MODEL, ACT_RE_PROCDEF, ACT_RU_DEADLETTER_JOB, ACT_RU_EVENT_SUBSCR, ACT_RU_EXECUTION, ACT_RU_IDENTITYLINK, ACT_RU_INTEGRATION, ACT_RU_JOB, ACT_RU_SUSPENDED_JOB, ACT_RU_TASK, ACT_RU_TIMER_JOB, ACT_RU_VARIABLE
Activiti 各大版本表对比
以下只是对表名做了简单的对比,并没有涉及到数据库表字段及数据类型
| 编号 | 表名 | Activiti 5.23.0 | Acticiti 6.0.0 | Activiti 7.1.0.M6 |
|---|---|---|---|---|
| 1 | ACT_EVT_LOG | ☑ | ☑ | ☑ |
| 2 | ACT_GE_BYTEARRAY | ☑ | ☑ | ☑ |
| 3 | ACT_GE_PROPERTY | ☑ | ☑ | ☑ |
| 4 | ACT_HI_ACTINST | ☑ | ☑ | ☑ |
| 5 | ACT_HI_ATTACHMENT | ☑ | ☑ | ☑ |
| 6 | ACT_HI_COMMENT | ☑ | ☑ | ☑ |
| 7 | ACT_HI_DETAIL | ☑ | ☑ | ☑ |
| 8 | ACT_HI_IDENTITYLINK | ☑ | ☑ | ☑ |
| 9 | ACT_HI_PROCINST | ☑ | ☑ | ☑ |
| 10 | ACT_HI_TASKINST | ☑ | ☑ | ☑ |
| 11 | ACT_HI_VARINST | ☑ | ☑ | ☑ |
| 12 | ACT_ID_GROUP | ☑ | ☑ | |
| 13 | ACT_ID_INFO | ☑ | ☑ | |
| 14 | ACT_ID_MEMBERSHIP | ☑ | ☑ | |
| 15 | ACT_ID_USER | ☑ | ☑ | |
| 16 | ACT_PROCDEF_INFO | ☑ | ☑ | ☑ |
| 17 | ACT_RE_DEPLOYMENT | ☑ | ☑ | ☑ |
| 18 | ACT_RE_MODEL | ☑ | ☑ | ☑ |
| 19 | ACT_RE_PROCDEF | ☑ | ☑ | ☑ |
| 20 | ACT_RU_DEADLETTER_JOB | ☑ | ☑ | |
| 21 | ACT_RU_EVENT_SUBSCR | ☑ | ☑ | ☑ |
| 22 | ACT_RU_EXECUTION | ☑ | ☑ | ☑ |
| 23 | ACT_RU_IDENTITYLINK | ☑ | ☑ | ☑ |
| 24 | ACT_RU_INTEGRATION | ☑ | ||
| 25 | ACT_RU_JOB | ☑ | ☑ | ☑ |
| 26 | ACT_RU_SUSPENDED_JOB | ☑ | ☑ | |
| 27 | ACT_RU_TASK | ☑ | ☑ | ☑ |
| 28 | ACT_RU_TIMER_JOB | ☑ | ☑ | |
| 29 | ACT_RU_VARIABLE | ☑ | ☑ | ☑ |
表名规则
Activiti 使用到的表都是 ACT_ 开头的。表名的第二部分用两个字母表明表的用途。
- ACT_GE_ (
GE) 表示 general 全局通用数据及设置,各种情况都使用的数据。 - ACT_HI_ (
HI) 表示 history 历史数据表,包含着程执行的历史相关数据,如结束的流程实例,变量,任务,等等 - ACT_ID_ (
ID) 表示 identity 组织机构,用户记录,流程中使用到的用户和组。这些表包含标识的信息,如用户,用户组,等等。 - ACT_RE_ (
RE) 表示 repository 存储,包含的是静态信息,如,流程定义,流程的资源(图片,规则等)。 - ACT_RU_ (
RU) 表示 runtime 运行时,运行时的流程变量,用户任务,变量,职责(job)等运行时的数据。Activiti 只存储实例执行期间的运行时数据,当流程实例结束时,将删除这些记录。这就保证了这些运行时的表小且快。
25 张表详情
一般数据 (ACT_GE_)
通用数据表
| 表名 | 解释 |
|---|---|
| ACT_GE_BYTEARRAY | 二进制数据表,存储通用的流程定义和流程资源。 |
| ACT_GE_PROPERTY | 系统相关属性,属性数据表存储整个流程引擎级别的数据,初始化表结构时,会默认插入三条记录。 |
流程历史记录 (ACT_HI_)
| 表名 | 解释 |
|---|---|
| ACT_HI_ACTINST | 历史节点表 |
| ACT_HI_ATTACHMENT | 历史附件表 |
| ACT_HI_COMMENT | 历史意见表 |
| ACT_HI_DETAIL | 历史详情表,提供历史变量的查询 |
| ACT_HI_IDENTITYLINK | 历史流程人员表 |
| ACT_HI_PROCINST | 历史流程实例表 |
| ACT_HI_TASKINST | 历史任务实例表 |
| ACT_HI_VARINST | 历史变量表 |
用户用户组表 (ACT_ID_)
身份数据表
| 表名 | 解释 |
|---|---|
| ACT_ID_GROUP | 用户组信息表 |
| ACT_ID_INFO | 用户扩展信息表 |
| ACT_ID_MEMBERSHIP | 用户与用户组对应信息表 |
| ACT_ID_USER | 用户信息表 |
流程定义表 (ACT_RE_)
流程存储数据表
| 表名 | 解释 |
|---|---|
| ACT_RE_DEPLOYMENT | 部署信息表 |
| ACT_RE_MODEL | 流程设计模型部署表 |
| ACT_RE_PROCDEF | 流程定义数据表 |
运行实例表 (ACT_RU_)
| 表名 | 解释 |
|---|---|
| ACT_RU_EVENT_SUBSCR | 运行时事件 throwEvent、catchEvent 时间监听信息表 |
| ACT_RU_EXECUTION | 运行时流程执行实例 |
| ACT_RU_IDENTITYLINK | 运行时流程人员表,主要存储任务节点与参与者的相关信息 |
| ACT_RU_JOB | 运行时定时任务数据表 |
| ACT_RU_TASK | 运行时任务节点表 |
| ACT_RU_VARIABLE | 运行时流程变量数据表 |
其它
| 表名 | 解释 |
|---|---|
| ACT_EVT_LOG | 事件日志 |
| ACT_PROCDEF_INFO | 流程定义的动态变更信息 |
一般数据 (ACT_GE_)
ACT_GE_BYTEARRAY 二进制数据表
二进制数据表,存储通用的流程定义和流程资源。(act_ge_bytearray)
保存流程定义图片和xml、Serializable(序列化)的变量,即保存所有二进制数据,特别注意类路径部署时候,不要把svn等隐藏文件或者其他与流程无关的文件也一起部署到该表中,会造成一些错误(可能导致流程定义无法删除)
用于保存与流程引擎相关的资源,只要调用了 Activiti 存储服务的 API ,涉及的资源均会被转换为 byte 数组保存到这个表中。在资源表中设计了一个 BYTES宇段,用来保存资源的内容,因此理论上其可以用于保存任何类型的资源(文件或者其他来源的输入流)。一般情况下, Activiti 使用这个表来保存字符串、流程文件的内容、流程图片内容
| 字段名称 | 字段描述 | 数据类型 | 主键 | 为空 | 取值说明 |
|---|---|---|---|---|---|
| ID_ | ID_ | nvarchar(64) | Y | 主键ID | |
| REV_ | 乐观锁 | int | Y | Version(版本) | |
| NAME_ | 名称 | nvarchar(255) | Y | 部署的文件名称,如:leave.bpmn.png,leave.bpmn20.xml | |
| DEPLOYMENT_ID_ | 部署ID | nvarchar(64) | Y | 部署表ID | |
| BYTES_ | 字节 | varbinary(max) | Y | 部署文件 | |
| GENERATED_ | 是否是引擎生成 | tinyint | Y | 0为用户生成,1为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 |
ACT_GE_PROPERTY 属性数据表
属性数据表(act_ge_property)
属性数据表。存储整个流程引擎级别的数据。
Activiti 将全部的属性抽象为 key-value 对,每个属性都有名称和值, 使用
ACT GE PROPERTY 来保存这些属性
| 字段名称 | 字段描述 | 数据类型 | 主键 | 为空 | 取值说明 |
|---|---|---|---|---|---|
| NAME_ | 名称 | nvarchar(64) | √ | schema.versionschema.historynext.dbid | |
| VALUE_ | 值 | nvarchar(300) | √ | 5.create(5.) | |
| REV_ | 乐观锁 | int | √ | version |
| 字段 | 类型 | NULL | 备注 |
|---|---|---|---|
| NAME_ | varchar(64) | NO | 名称 |
| VALUE_ | varchar(300) | YES | 值 |
| REV_ | int(11) | YES | 数据的版本号 |
流程历史记录 (ACT_HI_)
历史数据表就好像流程引擎的日志表,操作过的流程元素将会被记录到历史表中。
ACT_HI_ACTINST 历史节点表
历史节点表(act_hi_actinst)
历史活动信息。这里记录流程流转过的所有节点,与HI_TASKINST不同的是,taskinst只记录usertask内容
| 字段名称 | 字段描述 | 数据类型 | 主键 | 为空 | 取值说明 |
|---|---|---|---|---|---|
| ID_ | ID_ | nvarchar(64) | √ | ||
| PROC_DEF_ID_ | 流程定义ID | nvarchar(64) | |||
| PROC_INST_ID_ | 流程实例ID | nvarchar(64) | |||
| EXECUTION_ID_ | 执行实例ID | nvarchar(64) | |||
| ACT_ID_ | 节点ID | nvarchar(225) | 节点定义ID | ||
| TASK_ID_ | 任务实例ID | nvarchar(64) | √ | 任务实例ID 其他节点类型实例ID在这里为空 | |
| CALL_PROC_INST_ID_ | 调用外部的流程实例ID | nvarchar(64) | √ | 调用外部流程的流程实例ID’ | |
| ACT_NAME_ | 节点名称 | nvarchar(225) | √ | 节点定义名称 | |
| ACT_TYPE_ | 节点类型 | nvarchar(225) | 如startEvent、userTask | ||
| ASSIGNEE_ | 签收人 | nvarchar(64) | √ | 节点签收人 | |
| START_TIME_ | 开始时间 | datetime | 2013-09-15 11:30:00 | ||
| END_TIME_ | 结束时间 | datetime | √ | 2013-09-15 11:30:00 | |
| DURATION_ | 耗时 | numeric(19,0) | √ | 毫秒值 |
| 字段 | 类型 | 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 |
ACT_HI_ATTACHMENTA 历史附件表
历史附件表( act_hi_attachment )
| 字段名称 | 字段描述 | 数据类型 | 主键 | 为空 | 取值说明 |
|---|---|---|---|---|---|
| ID_ | ID_ | nvarchar(64) | √ | 主键ID | |
| REV_ | 乐观锁 | integer | √ | Version | |
| USER_ID_ | 用户ID | nvarchar(255) | √ | 用户ID | |
| NAME_ | 名称 | nvarchar(255) | √ | 附件名称 | |
| DESCRIPTION_ | 描述 | nvarchar(4000) | √ | 描述 | |
| TYPE_ | 类型 | nvarchar(255) | √ | 附件类型 | |
| TASK_ID_ | 任务实例ID | nvarchar(64) | √ | 节点实例ID | |
| PROC_INST_ID_ | 流程实例ID | nvarchar(64) | √ | 流程实例ID | |
| URL_ | URL_ | nvarchar(4000) | √ | 附件地址 | |
| CONTENT_ID_ | 字节表的ID | nvarchar(64) | √ | ACT_GE_BYTEARRAY的ID |
| 字段 | 类型 | 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 | 数据产生的时间 |
ACT_HI_COMMENT 历史意见表
历史意见表( act_hi_comment )
表实际不只保存评论数据,它还会保存某些事件数据
| 字段名称 | 字段描述 | 数据类型 | 主键 | 为空 | 取值说明 |
|---|---|---|---|---|---|
| ID_ | ID_ | nvarchar(64) | √ | 主键ID | |
| TYPE_ | 类型 | nvarchar(255) | √ | 类型:event(事件)comment(意见) | |
| TIME_ | 时间 | datetime | 填写时间’ | ||
| USER_ID_ | 用户ID | nvarchar(64) | √ | 填写人 | |
| TASK_ID_ | 节点任务ID | nvarchar(64) | √ | 节点实例ID | |
| PROC_INST_ID_ | 流程实例ID | nvarchar(255) | √ | 流程实例ID | |
| ACTION_ | 行为类型 | nvarchar(64) | √ | 见备注1 | |
| MESSAGE_ | 基本内容 | nvarchar(4000) | √ | 用于存放流程产生的信息,比如审批意见 | |
| FULL_MSG_ | 全部内容 | varbinary(max) | √ | 附件地址 |
| 字段 | 类型 | 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 | 该字段同样记录评论数据的信息 |
ACT_HI_DETAIL 流程明细表
历史详情表( act_hi_detail )
流程中产生的变量详细,包括控制流程流转的变量,业务表单中填写的流程需要用到的变量等。
流程明细表(ACT HI DETAlL 会记录流程执行过程中的参数或者表单数据,由于在流程执行过程中,会产生大量这类数据,因此默认情况下, Activiti 不会保存流程明细数据,除非将流程引擎的历史数据( hist。可〉配置为 full
| 字段名称 | 字段描述 | 数据类型 | 主键 | 为空 | 取值说明 |
|---|---|---|---|---|---|
| ID_ | ID_ | nvarchar(64) | √ | 主键 | |
| TYPE_ | 类型 | nvarchar(255) | 见备注2 | ||
| PROC_INST_ID_ | 流程实例ID | nvarchar(64) | √ | 流程实例ID | |
| EXECUTION_ID_ | 执行实例ID | nvarchar(64) | √ | 执行实例ID | |
| TASK_ID_ | 任务实例ID | nvarchar(64) | √ | 任务实例ID | |
| ACT_INST_ID_ | 节点实例ID | nvarchar(64) | √ | ACT_HI_ACTINST表的ID | |
| NAME_ | 名称 | nvarchar(255) | 名称 | ||
| VAR_TYPE_ | 参数类型 | nvarchar(255) | √ | 见备注3 | |
| REV_ | 乐观锁 | int | √ | Version | |
| TIME_ | 时间戳 | datetime | 创建时间 | ||
| BYTEARRAY_ID_ | 字节表ID | nvarchar | √ | ACT_GE_BYTEARRAY表的ID | |
| DOUBLE_ | DOUBLE_ | double precision | √ | 存储变量类型为Double | |
| LONG_ | LONG_ | numeric | √ | 存储变量类型为long | |
| TEXT_ | TEXT_ | nvarchar | √ | 存储变量值类型为String | |
| TEXT2_ | TEXT2_ | nvarchar | √ | 此处存储的是JPA持久化对象时,才会有值。此值为对象ID |
| 字段 | 类型 | 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 |
ACT_HI_IDENTITYLINK 历史流程人员表
历史流程人员表( act_ru_identitylink )
任务参与者数据表。主要存储历史节点参与者的信息
| 字段名称 | 字段描述 | 数据类型 | 主键 | 为空 | 取值说明 |
|---|---|---|---|---|---|
| ID_ | ID_ | nvarchar(64) | √ | ID_ | |
| GROUP_ID_ | 组ID | nvarchar(255) | √ | 组ID | |
| TYPE_ | 类型 | nvarchar(255) | √ | 备注4 | |
| USER_ID_ | 用户ID | nvarchar(255) | √ | 用户ID | |
| TASK_ID_ | 节点实例ID | nvarchar(64) | √ | 节点实例ID | |
| PROC_INST_ID_ | 流程实例ID | nvarchar(64) | √ | 流程实例ID |
ACT_HI_PROCINST 流程实例表
历史流程实例表(act_hi_procinst)
只要流程被启动,就会将流程实例的数据写入 ACT HI PROC ST 表中 。除了基本的流程字段外,与运行时数据表不同的是,历史流程实例表还会记录流程的开始活动ID,结束活动ID等信息
| 字段名称 | 字段描述 | 数据类型 | 主键 | 为空 | 取值说明 |
|---|---|---|---|---|---|
| ID_ | ID_ | nvarchar(64) | √ | 主键ID | |
| PROC_INST_ID_ | 流程实例ID | nvarchar(64) | 流程实例ID | ||
| BUSINESS_KEY_ | 业务主键 | nvarchar(255) | √ | 业务主键,业务表单的ID | |
| PROC_DEF_ID_ | 流程定义ID | nvarchar(64) | 流程定义ID | ||
| START_TIME_ | 开始时间 | datetime | 开始时间 | ||
| END_TIME_ | 结束时间 | datetime | √ | 结束时间 | |
| DURATION_ | 耗时 | Numeric(19) | √ | 耗时 | |
| START_USER_ID_ | 起草人 | nvarchar(255) | √ | 起草人 | |
| START_ACT_ID_ | 开始节点ID | nvarchar(255) | √ | 起草环节ID | |
| END_ACT_ID_ | 结束节点ID | nvarchar(255) | √ | 结束环节ID | |
| SUPER_PROCESS_INSTANCE_ID_ | 父流程实例ID | nvarchar(64) | √ | 父流程实例ID | |
| DELETE_REASON_ | 删除原因 | nvarchar(4000) | √ | 删除原因 |
| 字段 | 类型 | 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_TASKINST 历史任务表
历史任务实例表( act_hi_taskinst )
| 字段名称 | 字段描述 | 数据类型 | 主键 | 为空 | 取值说明 |
|---|---|---|---|---|---|
| ID_ | ID_ | nvarchar(64) | √ | 主键ID | |
| PROC_DEF_ID_ | 流程定义ID | nvarchar(64) | √ | 流程定义ID | |
| TASK_DEF_KEY_ | 节点定义ID | nvarchar(255) | √ | 节点定义ID | |
| PROC_INST_ID_ | 流程实例ID | nvarchar(64) | √ | 流程实例ID | |
| EXECUTION_ID_ | 执行实例ID | nvarchar(64) | √ | 执行实例ID | |
| NAME_ | 名称 | varchar(255) | √ | 名称 | |
| PARENT_TASK_ID_ | 父节点实例ID | nvarchar(64) | √ | 父节点实例ID | |
| DESCRIPTION_ | 描述 | nvarchar(400) | √ | 描述 | |
| OWNER_ | 实际签收人 任务的拥有者 | nvarchar(255) | √ | 签收人(默认为空,只有在委托时才有值) | |
| ASSIGNEE_ | 签收人或被委托 | nvarchar(255) | √ | 签收人或被委托 | |
| START_TIME_ | 开始时间 | datetime | 开始时间 | ||
| CLAIM_TIME_ | 提醒时间 | datetime | √ | 提醒时间 | |
| END_TIME_ | 结束时间 | datetime | √ | 结束时间 | |
| DURATION_ | 耗时 | numeric(19) | √ | 耗时 | |
| DELETE_REASON_ | 删除原因 | nvarchar(4000) | √ | 删除原因(completed,deleted) | |
| PRIORITY_ | 优先级别 | int | √ | 优先级别 | |
| DUE_DATE_ | 过期时间 | datetime | √ | 过期时间,表明任务应在多长时间内完成 | |
| FORM_KEY_ | 节点定义的formkey | nvarchar(255) | √ | desinger节点定义的form_key属性 |
| 字段 | 类型 | 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 |
ACT_HI_VARINST 历史变量表
历史变量表( act_hi_varinst )
| 字段名称 | 字段描述 | 数据类型 | 主键 | 为空 | 取值说明 |
|---|---|---|---|---|---|
| ID_ | ID_ | nvarchar(64) | √ | ID_ | |
| PROC_INST_ID_ | 流程实例ID | nvarchar(64) | √ | 流程实例ID | |
| EXECUTION_ID_ | 执行实例ID | nvarchar(255) | √ | 执行实例ID | |
| TASK_ID_ | 任务实例ID | nvarchar(64) | √ | 任务实例ID | |
| NAME_ | 名称 | nvarchar(64) | 参数名称(英文) | ||
| VAR_TYPE_ | 参数类型 | varchar(255) | √ | 备注5 | |
| REV_ | 乐观锁 | nvarchar(64) | √ | 乐观锁 Version | |
| BYTEARRAY_ID_ | 字节表ID | nvarchar(400) | √ | ACT_GE_BYTEARRAY表的主键 | |
| DOUBLE_ | DOUBLE_ | nvarchar(255) | √ | 存储DoubleType类型的数据 | |
| LONG_ | LONG_ | nvarchar(255) | √ | 存储LongType类型的数据 | |
| TEXT_ | TEXT_ | datetime | √ | 备注6 | |
| TEXT2_ | TEXT2_ | datetime | √ | 此处存储的是JPA持久化对象时,才会有值。此值为对象ID |
用户用户组表 (ACT_ID_)
Activiti 整个身份数据模块,可以独立于流程引擎而存在 有关身份数据的几张表没有保存与流程相关的数据及关联。身份表名称以 ACT_ID 开头,表名中的 是单词 identity的缩写。
ACT_ID_GROUP 用户组信息表
用户组信息表( act_id_group )
| 字段名称 | 字段描述 | 数据类型 | 主键 | 为空 | 取值说明 |
|---|---|---|---|---|---|
| ID_ | ID_ | nvarchar(64) | √ | 主键ID | |
| REV_ | 乐观锁 | int | √ | 乐观锁Version | |
| NAME_ | 名称 | nvarchar(255) | √ | 组名称 | |
| TYPE_ | 类型 | nvarchar(255) | √ | 类型 |
| 字段 | 类型 | NULL | 备注 |
|---|---|---|---|
| ID_ | varchar(64) | NO | |
| REV_ | int(11) | YES | |
| NAME_ | varchar(255) | YES | 用户组名称 |
| TYPE_ | varchar(255) | YES | 用户组类型,类型不由activiti提供,但是在某些业务中, Activiti 会根据该字段的值进行查询,字段值由 Activiti 定如 Activiti webService |
ACT_ID_INFO 用户扩展信息表
用户扩展信息表( act_id_info )
Activiti 将用户、用户账号和用户信息分为三种数据,其中用户表保存用户的数据,而用
户账号和用户信息,则被保存到 ACT_ID_INFO 表中
| 字段名称 | 字段描述 | 数据类型 | 主键 | 为空 | 取值说明 |
|---|---|---|---|---|---|
| ID_ | ID_ | nvarchar(64) | √ | 主键ID | |
| REV_ | 乐观锁 | int | √ | 乐观锁Version | |
| USER_ID_ | 用户ID | nvarchar(64) | √ | ||
| TYPE_ | 类型 | nvarchar(64) | √ | ||
| KEY_ | nvarchar(255) | √ | |||
| VALUE_ | nvarchar(255) | √ | |||
| PASSWORD_ | Image | √ | |||
| PARENT_ID_ | nvarchar(255) | √ |
| 字段 | 类型 | 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,则表示该数据是用户账号(信息)的明细数据,例如一个账号有激活日期,那么激活日期就是该账号的明细数据,此处使用了自关联来实现。 |
ACT_ID_MEMBERSHIP 用户与分组对应信息表
用户与分组对应信息表( act_id_membership )
用来保存用户的分组信息。
一个用户组下有多个用户, 一个用户可以属于不同的用户组,那么这种多对多的关系,就
使用关系表来进行描述,关系表为 ACT ID ME IBERSHIP ,只有两个字段。需要注意的是, ACT_ID_MEMBERSHI的两个字段均做了外键约束 写入该表的数据,必须要有用户和用户组数据与之关联。
| 字段名称 | 字段描述 | 数据类型 | 主键 | 为空 | 取值说明 |
|---|---|---|---|---|---|
| USER_ID | 用户ID | nvarchar(64) | √ | ||
| GROUP_ID | 用户组ID | nvarchar(64) | √ |
| 字段 | 类型 | NULL | 备注 |
|---|---|---|---|
| USER_ID_ | varchar(64) | NO | |
| GROUP_ID_ | varchar(64) | NO |
ACT_ID_USER 用户信息表
用户信息表( act_id_user )
| 字段名称 | 字段描述 | 数据类型 | 主键 | 为空 | 取值说明 |
|---|---|---|---|---|---|
| ID_ | ID_ | nvarchar(64) | √ | 主键ID | |
| REV_ | 乐观锁 | int | √ | 乐观锁Version | |
| FIRST_ | 姓 | nvarchar(255) | √ | ||
| LAST_ | 名 | nvarchar(255) | √ | ||
| EMAIL_ | EMAIL_ | nvarchar(255) | √ | ||
| PWD_ | 密码 | nvarchar(255) | √ | ||
| PICTURE_ID_ | 图片ID | nvarchar(64) | √ |
| 字段 | 类型 | 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 |
流程定义表 (ACT_RE_)
ACT_RE_DEPLOYMENT 流程部署表
部署信息表( act_re_deployment )
部署流程定义时需要被持久化保存下来的信息。
在 Activiti 中,一次部署可以添加多个资源,资源会被保存到资源表中(act_ge_bytearray),而对于部署,则部署信息会被保存到部署表中
| 字段名称 | 字段描述 | 数据类型 | 主键 | 为空 | 取值说明 |
|---|---|---|---|---|---|
| ID_ | ID_ | nvarchar(64) | √ | 主键ID | |
| NAME_ | 部署名称 | nvarchar(255) | √ | 部署文件名 | |
| CATEGORY_ | 分类 | nvarchar(255) | √ | 类别 | |
| DEPLOY_TIME_ | 部署时间 | datetime | √ | 部署时间 |
| 字段 | 类型 | 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 |
ACT_RE_MODEL 流程设计模型部署表
流程设计模型部署表( act_re_model )
流程设计器设计流程后,保存数据到该表。
| 字段名称 | 字段描述 | 数据类型 | 主键 | 为空 | 取值说明 |
|---|---|---|---|---|---|
| ID_ | ID_ | nvarchar(64) | √ | ID_ | |
| REV_ | 乐观锁 | int | √ | 乐观锁 | |
| NAME_ | 名称 | nvarchar(255) | √ | 名称 | |
| KEY_ | KEY_ | nvarchar(255) | √ | 分类 | |
| CATEGORY_ | 分类 | nvarchar(255) | √ | 分类 | |
| CREATE_TIME_ | 创建时间 | datetime | √ | 创建时间 | |
| LAST_UPDATE_TIME_ | 最新修改时间 | datetime | √ | 最新修改时间 | |
| VERSION_ | 版本 | int | √ | 版本 | |
| META_INFO_ | META_INFO_ | nvarchar(255) | √ | 以json格式保存流程定义的信息 | |
| DEPLOYMENT_ID_ | 部署ID | nvarchar(255) | √ | 部署ID | |
| EDITOR_SOURCE_VALUE_ID_ | datetime | √ | |||
| EDITOR_SOURCE_EXTRA_VALUE_ID_ | datetime | √ |
ACT_RE_PROCDEF 流程定义表
流程定义数据表( act_re_procdef )
业务流程定义数据表。此表和 ACT_RE_DEPLOYMENT 是多对一的关系,即,一个部署的bar包里可能包含多个流程定义文件,每个流程定义文件都会有一条记录在 ACT_REPROCDEF 表内,每个流程定义的数据,都会对于 ACT_GE_BYTEARRAY 表内的一个资源文件和 PNG 图片文件。和 ACT_GE_BYTEARRAY 的关联是通过程序用ACT_GE_BYTEARRAY.NAME 与 ACT_RE_PROCDEF.NAME 完成的,在数据库表结构中没有体现。
Activiti 在部署添加资源时,如果发布部署的文件是流程文件( .bpnn 或者.BPMN 20.xml),
则除了会解析这些流程文件,将内容保存到资源表外,还会解析流程文件的内容,形成特定的流程定义数据,写入流程定义表( ACT_RE_PROCDEF )中
| 字段名称 | 字段描述 | 数据类型 | 主键 | 为空 | 取值说明 |
|---|---|---|---|---|---|
| ID_ | ID_ | nvarchar(64) | √ | ID_ | |
| REV_ | 乐观锁 | int | √ | 乐观锁 | |
| CATEGORY_ | 分类 | nvarchar(255) | √ | 流程定义的Namespace就是类别 | |
| NAME_ | 名称 | nvarchar(255) | √ | 名称 | |
| KEY_ | 定义的KEY | nvarchar(255) | 流程定义ID | ||
| VERSION_ | 版本 | int | 版本 | ||
| DEPLOYMENT_ID_ | 部署表ID | nvarchar(64) | √ | 部署表ID | |
| RESOURCE_NAME_ | bpmn文件名称 | nvarchar(4000) | √ | 流程bpmn文件名称 | |
| DGRM_RESOURCE_NAME_ | png图片名称 | nvarchar(4000) | √ | 流程图片名称 | |
| DESCRIPTION_ | 描述 | nvarchar(4000) | √ | 描述 | |
| HAS_START_FORM_KEY_ | 是否存在开始节点formKey | tinyint | √ | start节点是否存在formKey 0否 1是 | |
| SUSPENSION_STATE_ | 是否挂起 | tinyint | √ | 1 激活 2挂起 |
| 字段 | 类型 | 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 |
运行实例表 (ACT_RU_)
运行时数据表用来保存流程在运行过程中所产生的数据,例如流程实例、执行流、任务等
运行时数据表的名称以 ACT_RU 开头,“RU ”是单词 runtime 的缩写。
ACT_RU_EVENT_SUBSCR 事件描述表
事件描述表( act_ru_event_subscr )
如果流程到达某类事件节点, Activiti 会往ACT_RUN_EVENT_SUBSCR表中加入事件描述数据,这些事件描述数据将会决定流程事件的触发。
| 字段名称 | 字段描述 | 数据类型 | 主键 | 为空 | 取值说明 |
|---|---|---|---|---|---|
| ID_ | 事件ID | nvarchar(64) | √ | 事件ID | |
| REV_ | 版本 | int | √ | 乐观锁Version | |
| EVENT_TYPE_ | 事件类型 | nvarchar(255) | 事件类型 | ||
| EVENT_NAME_ | 事件名称 | nvarchar(255) | √ | 事件名称 | |
| EXECUTION_ID_ | 执行实例ID | nvarchar(64) | √ | 执行实例ID | |
| PROC_INST_ID_ | 流程实例ID | nvarchar(64) | √ | 流程实例ID | |
| ACTIVITY_ID_ | 活动实例ID | nvarchar(64) | √ | 活动实例ID | |
| CONFIGURATION_ | 配置 | nvarchar(255) | √ | 配置 | |
| CREATED_ | 是否创建 | datetime | 默认值 当前系统时间戳CURRENT_TIMESTAMP |
| 字段 | 类型 | 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_RU_EXECUTION 运行时流程执行实例表
运行时流程执行实例表( act_ru_execution )
流程启动后,会产生一个流程实例,同时会产生相应的执行流,流程实例和执行流数据均
被保存在 ACT_RU_EXECUTION 表中,如果一个流程实例只有一条执行流,那么该表中只产
生一条数据,该数据既表示执行流,也表示流程实例。
| 字段名称 | 字段描述 | 数据类型 | 主键 | 为空 | 取值说明 |
|---|---|---|---|---|---|
| ID_ | ID_ | nvarchar(64) | √ | ID_ | |
| REV_ | 乐观锁 | int | √ | 乐观锁 | |
| PROC_INST_ID_ | 流程实例ID | nvarchar(64) | 流程实例ID | ||
| BUSINESS_KEY_ | 业务主键ID | nvarchar(255) | √ | 业务主键ID | |
| PARENT_ID_ | 父节点实例ID | nvarchar(64) | √ | 父节点实例ID | |
| PROC_DEF_ID_ | 流程定义ID | nvarchar(64) | √ | 流程定义ID | |
| SUPER_EXEC_ | SUPER_EXEC_ | nvarchar(64) | √ | SUPER_EXEC_ | |
| ACT_ID_ | 节点实例ID | nvarchar(255) | √ | 节点实例ID即ACT_HI_ACTINST中ID | |
| IS_ACTIVE_ | 是否存活 | tinyint | √ | 是否存活 | |
| IS_CONCURRENT_ | 是否并行 | tinyint | √ | 是否为并行(true/false) | |
| IS_SCOPE_ | IS_SCOPE_ | tinyint | √ | IS_SCOPE_ | |
| IS_EVENT_SCOPE_ | IS_EVENT_SCOPE_ | tinyint | √ | IS_EVENT_SCOPE_ | |
| SUSPENSION_STATE_ | 是否挂起 | tinyint | √ | 挂起状态 1激活 2挂起 | |
| CACHED_ENT_STATE_ | int | √ |
| 字段 | 类型 | 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_IDENTITYLINK 运行时流程人员表
运行时流程人员表( act_ru_identitylink )
任务参与者数据表。主要存储当前节点参与者的信息。
流程与身份关系,用户或者用户组与流程数据之间的关系
| 字段名称 | 字段描述 | 数据类型 | 主键 | 为空 | 取值说明 |
|---|---|---|---|---|---|
| ID_ | ID_ | nvarchar(64) | √ | ID_ | |
| REV_ | 乐观锁 | int | √ | 乐观锁 | |
| GROUP_ID_ | 组ID | nvarchar(64) | √ | 组ID | |
| TYPE_ | 类型 | nvarchar(255) | √ | 备注7 | |
| USER_ID_ | 用户ID | nvarchar(64) | √ | 用户ID | |
| TASK_ID_ | 节点实例ID | nvarchar(64) | √ | 节点实例ID | |
| PROC_INST_ID_ | 流程实例ID | nvarchar(64) | √ | 流程实例ID | |
| PROC_DEF_ID_ | 流程定义ID | nvarchar(255) | √ | 流程定义ID |
| 字段 | 类型 | 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 |
ACT_RU_JOB 运行时定时任务数据表
运行时定时任务数据表( act_ru_job )
| 字段名称 | 字段描述 | 数据类型 | 主键 | 为空 | 取值说明 |
|---|---|---|---|---|---|
| ID_ | 标识 | nvarchar(64) | √ | 标识 | |
| REV_ | 版本 | int | √ | 版本 | |
| TYPE_ | 类型 | nvarchar(255) | 类型 | ||
| LOCK_EXP_TIME_ | 锁定释放时间 | datetime | √ | 锁定释放时间 | |
| LOCK_OWNER_ | 挂起者 | nvarchar(255) | √ | 挂起者 | |
| EXCLUSIVE_ | bit | √ | |||
| EXECUTION_ID_ | 执行实例ID | nvarchar(64) | √ | 执行实例ID | |
| PROCESS_INSTANCE_ID_ | 流程实例ID | nvarchar(64) | √ | 流程实例ID | |
| PROC_DEF_ID_ | 流程定义ID | nvarchar(64) | √ | 流程定义ID | |
| RETRIES_ | int | √ | |||
| EXCEPTION_STACK_ID_ | 异常信息ID | nvarchar(64) | √ | 异常信息ID | |
| EXCEPTION_MSG_ | 异常信息 | nvarchar(4000) | √ | 异常信息 | |
| DUEDATE_ | 到期时间 | datetime | √ | 到期时间 | |
| REPEAT_ | 重复 | nvarchar(255) | √ | 重复 | |
| HANDLER_TYPE_ | 处理类型 | nvarchar(255) | √ | 处理类型 | |
| HANDLER_CFG_ | nvarchar(4000) | √ | 标识 |
| 字段 | 类型 | 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 |
ACT_RU_TASK 运行时任务节点表
运行时任务节点表( act_ru_task )
流程在运行过程中所产生的任务数据保存在 ACT_RU_TASK 表中
| 字段名称 | 字段描述 | 数据类型 | 主键 | 为空 | 取值说明 |
|---|---|---|---|---|---|
| ID_ | ID_ | nvarchar(64) | √ | ID_ | |
| REV_ | 乐观锁 | int | √ | 乐观锁 | |
| EXECUTION_ID_ | 执行实例ID | nvarchar(64) | √ | 执行实例ID | |
| PROC_INST_ID_ | 流程实例ID | nvarchar(64) | √ | 流程实例ID | |
| PROC_DEF_ID_ | 流程定义ID | nvarchar(64) | √ | 流程定义ID | |
| NAME_ | 节点定义名称 | nvarchar(255) | √ | 节点定义名称 | |
| PARENT_TASK_ID_ | 父节点实例ID | nvarchar(64) | √ | 父节点实例ID | |
| DESCRIPTION_ | 节点定义描述 | nvarchar(4000) | √ | 节点定义描述 | |
| TASK_DEF_KEY_ | 节点定义的KEY | nvarchar(255) | √ | 任务定义的ID | |
| OWNER_ | 实际签收人 | nvarchar(255) | √ | 拥有者(一般情况下为空,只有在委托时才有值) | |
| ASSIGNEE_ | 签收人或委托人 | nvarchar(255) | √ | 签收人或委托人 | |
| DELEGATION_ | 委托类型 | nvarchar(64) | √ | 备注8 | |
| PRIORITY_ | 优先级别 | int | √ | 优先级别,默认为:50 | |
| CREATE_TIME_ | 创建时间 | datetime | √ | 创建时间 | |
| DUE_DATE_ | 过期时间 | datetime | √ | 耗时 | |
| SUSPENSION_STATE_ | 是否挂起 | int | √ | 1代表激活 2代表挂起 |
| 字段 | 类型 | 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 |
ACT_RU_VARIABLE 运行时流程变量数据表
运行时流程变量数据表( act_ru_variable )
Activiti 提供了ACT_RU_VAEIABLE表来存放流程中的参数,这类参数包括流程实例参数、执行流参数和任务参数,参数有可能会有多种类型
| 字段名称 | 字段描述 | 数据类型 | 主键 | 为空 | 取值说明 |
|---|---|---|---|---|---|
| ID_ | ID_ | nvarchar(64) | √ | 主键标识 | |
| REV_ | 乐观锁 | int | √ | 乐观锁 | |
| TYPE_ | 类型 | nvarchar(255) | 备注9 | ||
| NAME_ | 名称 | nvarchar(255) | 变量名称 | ||
| EXECUTION_ID_ | 执行实例ID | nvarchar(64) | √ | 执行的ID | |
| PROC_INST_ID_ | 流程实例ID | nvarchar(64) | √ | 流程实例ID | |
| TASK_ID_ | 节点实例ID | nvarchar(64) | √ | 节点实例ID(Local) | |
| BYTEARRAY_ID_ | 字节表ID | nvarchar(64) | √ | 字节表的ID(ACT_GE_BYTEARRAY) | |
| DOUBLE_ | DOUBLE_ | float | √ | 存储变量类型为Double | |
| LONG_ | LONG_ | numeric(19) | √ | 存储变量类型为long | |
| TEXT_ | TEXT_ | nvarchar(4000) | √ | ‘存储变量值类型为String 如此处存储持久化对象时,值jpa对象的class | |
| TEXT2_ | TEXT2_ | nvarchar(4000) | √ | 此处存储的是JPA持久化对象时,才会有值。此值为对象ID |
| 字段 | 类型 | 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 |
工作数据表(以下表结构暂时未整理)
ACT_RU_DEADLETTER 无法执行工作表
| 字段 | 类型 | 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 |
ACT_RU_SUSPENDED 中断工作表
| 字段 | 类型 | 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 |
ACT_RU_TIMER_JOB 定时器工作表
| 字段 | 类型 | 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 |
其他
ACT_EVT_LOG 事件日志表
Activiti 事件日志表( act_evt_log )
| 字段名称 | 字段描述 | 数据类型 | 为空 | 取值说明 |
|---|---|---|---|---|
| LOG_NR_ | 主键 | bigint(20) | NO | 自增长 |
| TYPE_ | 类型 | varchar(64) | YES | 类型 |
| PROC_DEF_ID_ | 流程定义ID | varchar(64) | YES | 流程定义ID |
| PROC_INST_ID_ | 流程实例ID | varchar(64) | YES | 流程实例ID |
| EXECUTION_ID_ | 执行实例ID | varchar(64) | YES | 执行实例ID |
| TASK_ID_ | 节点实例ID | varchar(64) | YES | 节点实例ID |
| TIME_STAMP_ | 时间戳 | timestamp(3) | NO | 时间戳 |
| USER_ID_ | 用户ID | varchar(255) | YES | 用户ID |
| DATA_ | 一些额外参数 | longblob | YES | 例如 IP地址 等。 |
| LOCK_OWNER_ | 挂起者 | varchar(255) | YES | 暂时没有用到 |
| LOCK_TIME_ | 挂起时间 | timestamp(3) | YES | 暂时没有用到 |
| IS_PROCESSED_ | 是否处理过了 | tinyint(4) | YES | 暂时没有用到 |
ACT_PROCDEF_INFO 流程定义扩展表
关联ACTGE_BYTEARRAY与PROC_DEF_ID表。
| 字段名称 | 字段描述 | 数据类型 | 为空 | 取值说明 |
|---|---|---|---|---|
| ID_ | 主键 | varchar(64) | NO | 主键ID |
| PROC_DEF_ID_ | 流程定义ID | varchar(64) | NO | 流程定义ID |
| REV_ | 乐观锁 | int(11) | YES | 默认值 NULL,version版本 |
| INFO_JSON_ID_ | 主键 | varchar(64) | YES | ACT_GE_BYTEARRAY的ID |
DMN规则引擎数据表
决策部署表,act_dmn_deployment
保存决策数据,类似于流程定义部署,每一次部署,可以添加多份决策文件,向部署表中写入一条部署数据。
只启动流程引擎,并不会创建规则引擎表。
| 字段 | 注释 |
|---|---|
| NAME_ | 部署名称 |
| CATEGORY_ | 部署的目录名称 |
| PARENT_DEPLOYMENT_ID_ | 父部署ID |
决策表,act_dmn_decision_table
可以先将决策看做流程定义,决策文件中保存着决策表,部署时会解析决策文件中的决策模型并将其保存到act_dmn_decision_table中。
| 字段 | 注释 |
|---|---|
| KEY_ | 决策业务主键 |
| DEPLOYMENT_ID_ | 所属的部署数据ID |
部署资源表,act_dmn_deployment_resource
规则引擎相关的资源,例如决策文件、图片等,被保存在act_dmn_deployment_resource表中,该表类似于流程引擎的资源表。
| 字段 | 注释 |
|---|---|
| NAME_ | 资源名称 |
| DEPLOYMENT_ID_ | 所属的部署数据ID |
| RESOURCE_BYTES_ | 资源内容,longblob类型。 |
结语
Activiti6.0的表相较于Activiti5有所不同,但核心的内容实质上还是一样,数据库这一块没有太大差别,对于这么多表,大体过一遍有个印象即可,Activiti6.0的重点仍在核心API。
No Comments