admin 管理员组文章数量: 1184232
2024年3月20日发(作者:开放api接口)
Activiti数据表结构
Activiti数据表结构
目录
1
ACTIVITI数据库表结构 ----------------------------------------------------------------------------------------------- 2
1.1
数据库表名说明 ------------------------------------------------------------------------------------------------ 2
1.2
数据库表结构---------------------------------------------------------------------------------------------------- 3
1.2.1
Activiti
数据表清单
: ---------------------------------------------------------------------------------------- 3
1.2.2
表名
:ACT_GE_BYTEARRAY
(通用的流程定义和流程资源)
-------------------------------- 3
1.2.3
表名
:ACT_GE_PROPERTY
(系统相关属性)
----------------------------------------------------- 4
1.2.4
表名
:ACT_HI_ACTINST
(历史节点表)
------------------------------------------------------------ 5
1.2.5
表名
:ACT_HI_ATTACHMENT
(附件信息)
-------------------------------------------------------- 6
1.2.6
表名
:ACT_HI_COMMENT
(历史审批意见表)
-------------------------------------------------- 6
1.2.7
表名
:ACT_HI_DETAIL
(历史详细信息)
----------------------------------------------------------- 7
1.2.8
表名
:ACT_HI_IDENTITYLINK
(历史流程人员表)
---------------------------------------------- 8
1.2.9
表名
:ACT_HI_PROCINST
(历史流程实例信息)核心表
---------------------------------------- 8
1.2.10
表名
:ACT_HI_TASKINST
(历史任务流程实例信息)核心表
------------------------------ 9
1.2.11
表名
:ACT_HI_VARINST
(历史变量信息)
------------------------------------------------------ 9
1.2.12
表名
:ACT_ID_GROUP
(用户组表)
------------------------------------------------------------ 10
1.2.13
表名
:ACT_ID_INFO
(用户扩展信息表)
---------------------------------------------------- 10
1.2.14
表名
:ACT_ID_MEMBERSHIP
(用户用户组关联表)
-------------------------------------- 11
1.2.15
表名
:ACT_ID_USER
(用户信息表)
------------------------------------------------------------ 11
1.2.16
表名
:ACT_RE_DEPLOYMENT
(部署信息表)
------------------------------------------------ 12
1.2.17
表名
:ACT_RE_MODEL (
流程设计模型部署表
) ----------------------------------------------- 12
1.2.18
表名
:ACT_RE_PROCDEF
(流程定义表)
---------------------------------------------------- 13
1.2.19
表名
:ACT_RU_EVENT_SUBSCR (
运行时事件
) ------------------------------------------------- 14
1.2.20
表名
:ACT_RU_EXECUTION
(运行时流程执行实例)
----------------------------------- 15
1.2.21
表名
:ACT_RU_IDENTITYLINK
(身份联系)
--------------------------------------------------- 15
1.2.22
表名
:ACT_RU_JOB
(运行中的任务)
---------------------------------------------------------- 16
1.2.23
表名
:ACT_RU_TASK(
运行时任务数据表
) ------------------------------------------------------ 16
1.2.24
表名
:ACT_RU_VARIABLE(
运行时流程变量数据表
) ----------------------------------------- 17
2
ACTIVITI中主要对象的关系 -------------------------------------------------------------------------------------- 18
Activiti数据表结构
1 Activiti数据库表结构
1.1 数据库表名说明
Activiti工作流总共包含23张数据表,所有的表名默认以“ACT_”开头。
并且表名的第二部分用两个字母表明表的用例,而这个用例也基本上跟Service
API匹配。
ACT_GE_* : “GE”代表“General”(通用),用在各种情况下;
ACT_HI_* : “HI”代表“History”(历史),这些表中保存的都是历史数
据,比如执行过的流程实例、变量、任务,等等。Activit默认提供了4种
历史级别:
none: 不保存任何历史记录,可以提高系统性能;
➢
activity:保存所有的流程实例、任务、活动信息;
➢
audit:也是Activiti的默认级别,保存所有的流程实例、任务、活动、
表单属性;
➢
full: 最完整的历史记录,除了包含audit级别的信息之外还能保存详
细,例如:流程变量。
对于几种级别根据对功能的要求选择,如果需要日后跟踪详细可以开启full。
➢
ACT_ID_* : “ID”代表“Identity”(身份),这些表中保存的都是身份
信息,如用户和组以及两者之间的关系。如果Activiti被集成在某一系统
当中的话,这些表可以不用,可以直接使用现有系统中的用户或组信息;
ACT_RE_* : “RE”代表“Repository”(仓库),这些表中保存一些 ‘静
态’信息,如流程定义和流程资源(如图片、规则等);
ACT_RU_* : “RU”代表“Runtime”(运行时),这些表中保存一些流程实
例、用户任务、变量等的运行时数据。Activiti只保存流程实例在执行过程
中的运行时数据,并且当流程结束后会立即移除这些数据,这是为了保证运
行时表尽量的小并运行的足够快;
Activiti数据表结构
1.2 数据库表结构
1.2.1 Activiti数据表清单:
表分类 表名
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_ID_GROUP
历史的流程运行过程中用户关系
历史的流程实例
历史的任务实例
历史的流程运行中的变量信息
身份信息-组信息
身份信息-组信息
用户用户组表
ACT_ID_INFO
ACT_ID_MEMBERSHIP
ACT_ID_USER
身份信息-用户和组关系的中间表
身份信息-用户信息
ACT_RE_DEPLOYMENT部署单元信息
模型信息
流程定义表
ACT_RE_MODEL
ACT_RE_PROCDEF已部署的流程定义
ACT_RU_EVENT_SUBSCR
ACT_RU_EXECUTION
运行时事件
运行时流程执行实例
运行实例表
ACT_RU_IDENTITYLINK
ACT_RU_JOB
运行时用户关系信息
运行时作业
ACT_RU_TASK运行时任务
ACT_RU_VARIABLE运行时变量表
1.2.2 表名:ACT_GE_BYTEARRAY (
通用的流程定义和流程资源
)
用来保存部署文件的大文本数据。
Activiti数据表结构
保存流程定义图片和xml、Serializable(序列化)的变量,即保存所有二进
制数据,特别注意类路径部署时候,不要把svn等隐藏文件或者其他与流程无关
的文件也一起部署到该表中,会造成一些错误(可能导致流程定义无法删除)。
ACT_GE_BYTEARRAY(act_ge_bytearray)
是否
主键
字段名 字段描述 数据类型 可空
约
束
缺省值
取值说明
是 ID_ 主键ID,资源文件编号,VARCHAR(64)
自增长
REV_
NAME_
版本号
部署的文件名称,
INT(11)
VARCHAR(255)
是
是
Version
、
、
DEPLOYMENT_ID_ 来自于父表
ACT_RE_DEPLOYMENT的主
键
VARCHAR(64) 是 部署的ID
BYTES_ 大文本类型,存储文本字LONGBLOB
节流
是
GENERATED_ 是否是引擎生成。
TINYINT(4) 是 0为用户生成
1为Activiti生成
1.2.3 表名:ACT_GE_PROPERTY (
系统相关属性
)
属性数据表。存储这个流程引擎级别的数据。
ACT_GE_PROPERTY(act_ge_property)
是否
主键
字段名 字段描述
属性名称
数据类型 长度 可空 约束 缺省值
取值说明
n
y
VALUE_ 属性值
REV_INT 版本号 INT(11) 11 是
VARCHAR(300) 300 是 5.*
create(5.*)
是 NAME_ VARCHAR(64) 64
Activiti数据表结构
1.2.4 表名:ACT_HI_ACTINST (历史节点表)
历史活动信息。这里记录流程流转过的所有节点,与HI_TASKINST不同的是,
taskinst只记录usertask内容。
ACT_HI_ACTINST(act_hi_actinst)
是否
字段名
主键
是 ID_
PROC_DEF_ID_
PROC_INST_ID_
EXECUTION_ID_
ACT_ID_
字段描述
ID_
流程定义ID
流程实例ID
流程执行ID
活动ID
数据类型
VARCHAR(64)
VARCHAR(64)
VARCHAR(64)
VARCHAR(64)
VARCHAR(255)
可空 约束
节点定义ID
TASK_ID_ 任务ID VARCHAR(64) 是
任务实例ID 其他节点
类型实例ID在这里为
空
CALL_PROC_INST_ID_ 请求流程实例ID VARCHAR(64) 是
调用外部流程的流程
实例ID'
ACT_NAME_ 活动名称 VARCHAR(255) 是
节点定义名称
ACT_TYPE_ 活动类型 VARCHAR(255)
如startEvent、
userTask
ASSIGNEE_ 代理人员 VARCHAR(64) 是
节点签收人
START_TIME_ 开始时间 DATETIME
2013-09-15
11:30:00
END_TIME_ 结束时间 DATETIME 是
2013-09-15
11:30:00
DURATION_ 时长,耗时 BIGINT(20) 是
毫秒值
取值说明
Activiti数据表结构
1.2.5 表名:ACT_HI_ATTACHMENT (附件信息)
ACT_HI_ATTACHMENT(act_hi_attachment)
是否
字段名
主键
是 ID_
REV_
USER_ID_
NAME_
DESCRIPTION_
TYPE_
TASK_ID_
PROC_INST_ID_
URL_
CONTENT_ID_
字段描述
ID_
REV_
用户id
名称
描述
类型
任务Id
流程实例ID
连接
内容Id
字节表的ID
数据类型 长度 可空 约束 缺省值
取值说明
主键ID
Version
用户ID
附件名称
描述
附件类型
节点实例ID
流程实例ID
附件地址
ACT_GE_BYTEARRAY
的ID
VARCHAR(64) 64
INT(11) 11 是
是
是
是
是
是
是
是
是
VARCHAR(255) 255
VARCHAR(255) 255
VARCHAR(4000) 4000
VARCHAR(255) 255
VARCHAR(64) 64
VARCHAR(64) 64
VARCHAR(4000) 4000
VARCHAR(64) 64
1.2.6 表名:ACT_HI_COMMENT (历史审批意见表)
ACT_HI_COMMENT(act_hi_comment)
是否
字段名
主键
是 ID_
TYPE_
字段描述
ID_
数据类型 长度 可空 约束 缺省值
取值说明
主键ID
类型:event(事件)
comment(意见)
填写时间
填写人
节点实例ID
流程实例ID
值为下列内容中的
一种:
AddUserLink、
DeleteUserLink、
AddGroupLink、
DeleteGroupLink、
AddComment、
AddAttachment、
DeleteAttachment
VARCHAR(64) 64
TIME_
USER_ID_
TASK_ID_
意见记录类型,为VARCHAR(255) 255
comment时,为处
理意见
记录时间 DATETIME
用户Id
任务Id
VARCHAR(255) 255
VARCHAR(64) 64
VARCHAR(64) 64
是
是
是
是
是
PROC_INST_ID_ 流程实例Id
ACTION_ 行为类型。 VARCHAR(255) 255
为addcomment
时,为处理意见
Activiti数据表结构
MESSAGE_ 处理意见 VARCHAR(4000) 4000 是 用于存放流程产生
的信息,比如审批意
见
FULL_MSG_ 全部消息 LONGBLOB 是
1.2.7 表名:ACT_HI_DETAIL (历史详细信息)
历史详情表:流程中产生的变量详细,包括控制流程流转的变量,业务表单
中填写的流程需要用到的变量等。
ACT_HI_DETAIL(act_hi_detail)
是
否
字段名
主
键
是 ID_
TYPE_
字段描述
ID_
数据类型
数据类型 长度 可空 约束 缺省值
取值说明
主键
类型:
FormProperty, //
表单
VariableUpdate //
参数
流程实例ID
执行实例ID
任务实例ID
ACT_HI_ACTINST表
的ID
名称
参见VAR_TYPE_类型
说明
Version
创建时间
ACT_GE_BYTEARRAY
表的ID
存储变量类型为
Double
存储变量类型为
long
存储变量值类型为
String
此处存储的是JPA持
久化对象时,才会有
值。此值为对象ID
VARCHAR(64) 64
VARCHAR(255) 255
PROC_INST_ID_ 流程实例ID
EXECUTION_ID_ 执行实例Id
TASK_ID_
ACT_INST_ID_
NAME_
VAR_TYPE_
REV_
TIME_
任务Id
活动实例Id
名称
变量类型
REV_
创建时间
VARCHAR(64) 64
VARCHAR(64) 64
VARCHAR(64) 64
VARCHAR(64) 64
VARCHAR(255) 255
VARCHAR(255) 255
INT(11)
DATETIME
11
是
是
是
是
是
是
是
是
是
是
是
BYTEARRAY_ID_ 字节数组Id
DOUBLE_
LONG_
TEXT_
TEXT2_
DOUBLE_
LONG_
值
值2
VARCHAR(64) 64
DOUBLE
BIGINT(20)
20
VARCHAR(4000) 4000
VARCHAR(4000) 4000
备注:VAR_TYPE_类型说明
: jpa-entity、boolean、bytes、serializable(可序列化)、自定义
type(根据你自身配置)、 CustomVariableType、date、double、integer、long、null、
short、string
Activiti数据表结构
1.2.8 表名:ACT_HI_IDENTITYLINK (历史流程人员表)
任务参与者数据表。主要存储历史节点参与者的信息。
ACT_HI_IDENTITYLINK(act_hi_identitylink)
是否
字段名
主键
是 ID_
GROUP_ID_
TYPE_
字段描述
ID_
用户组ID
用户组类型
缺省
长度 可空 约束
值
VARCHAR(64) 64
数据类型
VARCHAR(255) 255
VARCHAR(255) 255
是
是
取值说明
ID_
组ID
类型,主要分为以下
几种:
assignee、
candidate、
owner、starter 、
participant
用户ID
节点实例ID
流程实例ID
USER_ID_
TASK_ID_
PROC_INST_ID_
用户ID
任务Id
流程实例Id
VARCHAR(255) 255
VARCHAR(64) 64
VARCHAR(64) 64
是
是
是
1.2.9 表名:ACT_HI_PROCINST(历史流程实例信息)核心表
ACT_HI_PROCINST(act_hi_procinst)
是否
字段名
主键
是 ID_
PROC_INST_ID_
BUSINESS_KEY_
PROC_DEF_ID_
START_TIME_
END_TIME_
DURATION_
START_USER_ID_
START_ACT_ID_
END_ACT_ID_
字段描述
ID_
流程实例ID
业务Key
流程定义Id
开始时间
结束时间
时长
发起人员Id
开始节点
结束节点
数据类型
VARCHAR(64)
VARCHAR(64)
长度
64
64
可约缺省备
空 束 值 注
VARCHAR(255) 255 是
VARCHAR(64)
DATETIME
DATETIME
BIGINT(20)
64
20
是
是
VARCHAR(255) 255 是
VARCHAR(255) 255 是
VARCHAR(255) 255 是
VARCHAR(64) 64 是 SUPER_PROCESS_INSTANCE_ID_ 超级流程实例Id
DELETE_REASON_ 删除理由 VARCHAR(4000) 4000 是
Activiti数据表结构
1.2.10 表名:ACT_HI_TASKINST(历史任务流程实例信息)
核心表
ACT_HI_TASKINST(act_hi_taskinst)
是
否
主
键
是 ID_
PROC_DEF_ID_
ID_
流程定义Id
VARCHAR(64) 64
VARCHAR(64) 64
VARCHAR(255) 255
VARCHAR(64) 64
VARCHAR(64) 64
VARCHAR(255) 255
VARCHAR(64) 64
VARCHAR(4000) 4000
是
是
是
是
是
是
是
是
主键ID
流程定义ID
节点定义ID
流程实例ID
执行实例ID
名称
父节点实例ID
描述
签收人(默认为空,只
有在委托时才有值)
VARCHAR(255) 255
DATETIME
DATETIME
DATETIME
BIGINT(20)
20
是
是
是
是
是
签收人或被委托
开始时间
提醒时间
结束时间
耗时
删除原因
(completed,deleted)
PRIORITY_
DUE_DATE_
优先级
应完成时间
INT(11)
DATETIME
11
是
是
优先级别
过期时间,表明任务应
在多长时间内完成
FORM_KEY_ 表单key VARCHAR(255) 255 是 desinger节点定义的
form_key属性
字段名 字段描述 数据类型 长度 可空 约束 缺省值 备注
TASK_DEF_KEY_ 任务定义Key
PROC_INST_ID_ 流程实例ID
EXECUTION_ID_ 执行ID
NAME_ 名称
PARENT_TASK_ID_ 父任务iD
DESCRIPTION_
OWNER_
描述
实际签收人 任务VARCHAR(255) 255
的拥有者
ASSIGNEE_
START_TIME_
CLAIM_TIME_
END_TIME_
DURATION_
代理人
开始时间
提醒时间
结束时间
时长
DELETE_REASON_ 删除理由 VARCHAR(4000) 4000
1.2.11 表名:ACT_HI_VARINST(历史变量信息)
ACT_HI_VARINST(act_hi_varinst)
Activiti数据表结构
是否
字段名
主键
是 ID_
缺省
长度 可空 约束 备注
值
64 ID_
64
64
64
是
是
是
流程实例ID
执行实例ID
任务实例ID
参数名称(英文)
参见VAR_TYPE_类型说明
Version
ACT_GE_BYTEARRAY表的主键
存储DoubleType类型的数
据
存储LongType类型的数据
存储变量值类型为String,
如此处存储持久化对象时,
值jpa对象的class
此处存储的是JPA持久化对
象时,才会有值。此值为对
象ID
字段描述
ID_
数据类型
VARCHAR(64)
VARCHAR(64)
VARCHAR(64)
VARCHAR(64)
PROC_INST_ID_ 流程实例ID
EXECUTION_ID_ 执行ID
TASK_ID_
NAME_
VAR_TYPE_
REV_
任务Id
名称
变量类型
REV_
VARCHAR(255) 255
VARCHAR(100) 100 是
INT(11)
VARCHAR(64)
DOUBLE
BIGINT(20)
11
64
20
是
是
是
是
BYTEARRAY_ID_ 字节数组ID
DOUBLE_
LONG_
TEXT_
DOUBLE_
LONG_
TEXT_ VARCHAR(4000) 4000 是
TEXT2_ TEXT2_ VARCHAR(4000) 4000 是
1.2.12 表名:ACT_ID_GROUP(用户组表)
用来存储用户组信息。
ACT_ID_GROUP(act_id_group)
是否
字段名
主键
是 ID_
REV_
NAME_
TYPE_
字段描述
用户组ID
版本号
用户组描述信息
用户组类型
数据类型 长度 可空 约束 缺省值
是
是
是
备注
VARCHAR(64) 64
INT(11) 11
VARCHAR(255) 255
VARCHAR(255) 255
1.2.13 表名:ACT_ID_INFO (用户扩展信息表)
用户扩展信息表。目前该表未用到。
ACT_ID_INFO(act_id_info)
是否
字段名
主键
是 ID_
REV_
字段描述
版本号
数据类型
VARCHAR(64)
INT(11)
长度
64
11
可空 约束
缺省值
备注
是
Activiti数据表结构
USER_ID_
TYPE_
KEY_
VALUE_
PASSWORD_
PARENT_ID_
用户ID
类型
formINPut名称
值
密码
父节点
VARCHAR(64)
VARCHAR(64)
64
64
是
是
是
是
是
是
VARCHAR(255) 255
VARCHAR(255) 255
LONGBLOB
VARCHAR(255) 255
1.2.14 表名:ACT_ID_MEMBERSHIP(用户用户组关联表)
用来保存用户的分组信息
ACT_ID_MEMBERSHIP(act_id_membership)
是否
字段名
主键
是 USER_ID_
是 GROUP_ID_
字段描述
用户Id
用户组Id
数据类型
VARCHAR(64)
VARCHAR(64)
长度
64
64
可空 约束
缺省值 备注
1.2.15 表名:ACT_ID_USER(用户信息表)
ACT_ID_USER(act_id_user)
是否
字段名
主键
是 ID_
REV_
FIRST_
LAST_
EMAIL_
PWD_
PICTURE_ID_
字段描述
ID_
版本号
用户名称
用户姓氏
邮箱
密码
头像Id
数据类型 长度 可空 约束 缺省值
是
是
是
是
是
是
备注
VARCHAR(64) 64
INT(11) 11
VARCHAR(255) 255
VARCHAR(255) 255
VARCHAR(255) 255
VARCHAR(255) 255
VARCHAR(64) 64
Activiti数据表结构
1.2.16 表名:ACT_RE_DEPLOYMENT(部署信息表)
用来存储部署时需要持久化保存下来的信息
ACT_RE_DEPLOYMENT(act_re_deployment)
是否
字段名
主键
是 ID_
NAME_
CATEGORY_
TENANT_ID_
字段描述 数据类型 长度 可空 约束 缺省值
64
是
是
是
备注
VARCHAR(64)
部署编号,自增长
部署包的名称
类型
租户
VARCHAR(255) 255
VARCHAR(255) 255
VARCHAR(255) 255 多租户通常是在软
件需要为多个不同
组织服务时产生的
概念
DEPLOY_TIME_
部署时间
TIMESTAMP CURRENT_TIMESTAMP
1.2.17 表名:ACT_RE_MODEL (流程设计模型表)
创建流程的设计模型时,保存在该数据表中。
ACT_RE_MODEL(act_re_model)
是否
字段名
主键
是 ID_
REV_
NAME_
字段描述
ID_
模型的名称:
比如:收文管理
KEY_ 模型的关键字,流程VARCHAR(255) 255
引擎用到。
比如:FTOA_SWGL
CATEGORY_ 类型,用户自己对流VARCHAR(255) 255
程模型的分类。
CREATE_TIME_ 创建时间 TIMESTAMP
TIMESTAMP
是
是
创建时间
最新修改时间
是
是 分类,例如:
.
com/docs/activiti/
分类
数据类型
缺省
长度 可空 约束
值
备注
ID_
乐观锁
名称
VARCHAR(64) 64
INT(11) 11 是
是 VARCHAR(255) 255
LAST_UPDATE_TIM最后修改时间
E_
VERSION_ 版本,从1开始。 INT(11) 11 是 版本
Activiti数据表结构
META_INFO_ 数据源信息,比如: VARCHAR(40004000 是
{"name":"FTOA_SWGL)
","revision":1,"de
scription":"丰台财
政局OA,收文管理流
程"}
DEPLOYMENT_ID_ 部署ID
EDITOR_SOURCE_V编辑源值ID
ALUE_ID_
EDITOR_SOURCE_E编辑源额外值ID(外VARCHAR(64) 64
XTRA_VALUE_ID_ 键
ACT_GE_BYTEARRAY )
TENANT_ID_
是
VARCHAR(64) 64
VARCHAR(64) 64
是
是
部署ID
是 ACT_GE_BYTEARRA
Y 表中的ID_值。
是 ACT_GE_BYTEARRA
Y 表中的ID_值。
以json格式保存流
程定义的信息
租户
VARCHAR(255) 255 是
1.2.18 表名:ACT_RE_PROCDEF (流程定义:解析表)
流程解析表,解析成功了,在该表保存一条记录。业务流程定义数据表
ACT_RE_PROCDEF(act_re_procdef)
是否
字段名
主键
是 ID_
字段描述 数据类型 长度 可空 约束 缺省 备注
64 ID_ 流程ID,由“流程编号:VARCHAR(64)
流程版本号:自增长ID”
组成
REV_
CATEGORY_
版本号 INT(11) 11 是
乐观锁
流程定义的
Namespace就是类
别
流程命名空间(该编号就是VARCHAR(255) 255 是
流程文件targetNamespace
的属性值)
NAME_ 流程名称(该编号就是流程VARCHAR(255) 255 是
文件process元素的name
属性值)
名称
KEY_ 流程编号(该编号就是流程VARCHAR(255) 255
文件process元素的id属
性值)
流程定义ID
VERSION_ 流程版本号(由程序控制,INT(11)
新增即为1,修改后依次加
11 版本
Activiti数据表结构
1来完成的)
DEPLOYMENT_ID部署编号
_
RESOURCE_NAME资源文件名称
_
DGRM_RESOURCE图片资源文件名称
_NAME_
DESCRIPTION_ 描述信息
HAS_START_FOR是否从key启动
M_KEY_
VARCHAR(4000) 4000 是
TINYINT(4) 4 是
描述
start节点是否存
在formKey
0否 1是
SUSPENSION_ST是否挂起
ATE_
INT(11) 11 是 1 激活 2挂起
VARCHAR(4000) 4000 是 png流程图片名称
VARCHAR(4000) 4000 是 流程bpmn文件名称
VARCHAR(64) 64 是 部署表ID
注:此表和ACT_RE_DEPLOYMENT是多对一的关系,即,一个部署的bar包里
可能包含多个流程定义文件,每个流程定义文件都会有一条记录在
ACT_RE_PROCDEF表内,每个流程定义的数据,都会对于ACT_GE_BYTEARRAY
表内的一个资源文件和PNG图片文件。和ACT_GE_BYTEARRAY的关联是通过
程序用ACT_GE_与ACT_RE__完成的,在数据库
表结构中没有体现。
1.2.19 表名:ACT_RU_EVENT_SUBSCR (运行时事件)
ACT_RU_EVENT_SUBSCR(act_ru_event_subscr)
是否
字段名
主键
是 ID_
REV_
EVENT_TYPE_
EVENT_NAME_
字段描述
ID
版本号
事件类型
事件名称
数据类型 长度 可空 约束 缺省值
备注
VARCHAR(64) 64
INT(11) 11 是
VARCHAR(255) 255
VARCHAR(255) 255
VARCHAR(64) 64
VARCHAR(64) 64
VARCHAR(64) 64
VARCHAR(255) 255
TIMESTAMP
是
是
是
是
是
EXECUTION_ID_ 流程执行ID
PROC_INST_ID_ 流程实例ID
ACTIVITY_ID_ 活动ID
CONFIGURATION_ 配置信息
CREATED_ 创建时间 CURRENT_TIMESTAMP
Activiti数据表结构
1.2.20 表名:ACT_RU_EXECUTION (运行时流程执行实例)
核心,我的代办任务查询表
ACT_RU_EXECUTION(act_ru_execution)
是否
字段名
主键
是 ID_
REV_
PROC_INST_ID_
BUSINESS_KEY_
PARENT_ID_
PROC_DEF_ID_
SUPER_EXEC_
ACT_ID_
字段描述
ID_
版本号
流程实例编号
业务编号
父执行流程
流程定义Id
实例id
数据类型
VARCHAR(64)
INT(11)
VARCHAR(64)
长度 可空 约束 缺省值 备注
64
11
64
ID_
乐观锁
流程实例ID
业务主键ID
父节点实例ID
流程定义ID
节点实例ID即
ACT_HI_ACTINST中
ID
是否存活
是否为并行
(true/false)
挂起状态 1激
活 2挂起
是
是
是
是
是
是
是
VARCHAR(255) 255
VARCHAR(64)
VARCHAR(64)
VARCHAR(64)
64
64
64
VARCHAR(255) 255
IS_ACTIVE_
IS_CONCURRENT_
IS_SCOPE_
激活状态
并发状态
TINYINT(4)
TINYINT(4)
TINYINT(4)
TINYINT(4)
4
4
4
4
11
11
是
是
是
是
是
是
IS_EVENT_SCOPE_
SUSPENSION_STATE暂停状态_ INT(11)
_
CACHED_ENT_STATE缓存结束状态_ INT(11)
_
1.2.21 表名:ACT_RU_IDENTITYLINK(身份联系)
主要存储当前节点参与者的信息, 任务参与者数据表。
ACT_RU_IDENTITYLINK(act_ru_identitylink)
是否主
字段名
键
是 ID_
REV_
GROUP_ID_
TYPE_
字段描述
ID_
版本号
用户组ID
用户组类型
数据类型 长度 可空 约束 缺省值
取值说明
VARCHAR(64) 64
INT(11) 11
主要分为以下几
种:assignee、
candidate、
owner、starter、
participant。
即:受让人,候选
人,所有者、起动
器、参与者
是
是
是
VARCHAR(255) 255
VARCHAR(255) 255
Activiti数据表结构
USER_ID_
TASK_ID_
用户ID
任务Id
VARCHAR(255) 255
VARCHAR(64) 64
VARCHAR(64) 64
VARCHAR(64) 64
是
是
是
是
PROC_INST_ID_ 流程实例ID
PROC_DEF_ID_ 流程定义Id
1.2.22 表名:ACT_RU_JOB(运行中的任务)
运行时定时任务数据表
ACT_RU_JOB(act_ru_job)
是否
字段名
主键
是 ID_
REV_
TYPE_
LOCK_EXP_TIME_
LOCK_OWNER_
EXCLUSIVE_
EXECUTION_ID_
字段描述
ID_
版本号
TYPE_
LOCK_EXP_TIME_
LOCK_OWNER_
EXCLUSIVE_
EXECUTION_ID_
数据类型
VARCHAR(64)
INT(11)
长度 可空 约束 缺省值 取值说明
64
11
标识
版本
类型
锁定释放时间
挂起者
执行实例ID
流程实例ID
流程定义ID
异常信息ID
异常信息
到期时间
重复
处理类型
标识
是
VARCHAR(255) 255
TIMESTAMP 是
是
是
是
是
是
是
VARCHAR(255) 255
TINYINT(1)
VARCHAR(64)
1
64
64
64
11
PROCESS_INSTANCEPROCESS_INSTANCEVARCHAR(64)
_ID_ _ID_
PROC_DEF_ID_ PROC_DEF_ID_ VARCHAR(64)
RETRIES_ RETRIES_ INT(11)
EXCEPTION_STACK_EXCEPTION_STACK_VARCHAR(64) 64 是
ID_ ID_
EXCEPTION_MSG_ EXCEPTION_MSG_ VARCHAR(4000) 4000 是
DUEDATE_
REPEAT_
HANDLER_TYPE_
HANDLER_CFG_
DUEDATE_
REPEAT_
HANDLER_TYPE_
HANDLER_CFG_
TIMESTAMP 是
是
是
VARCHAR(255) 255
VARCHAR(255) 255
VARCHAR(4000) 4000 是
1.2.23 表名:ACT_RU_TASK(运行时任务数据表)
(执行中实时任务)代办任务查询表
ACT_RU_TASK(act_ru_task)
是否
字段名
主键
字段描述 数据类型
缺省
长度 可空 约束
值
取值说明
Activiti数据表结构
是 ID_
REV_
ID_
版本号
VARCHAR(64) 64
INT(11) 11
ID_
乐观锁
执行实例ID
流程实例ID
是
是
是
EXECUTION_ID_ 实例id(外键VARCHAR(64) 64
EXECUTION_ID_)
PROC_INST_ID_ 流程实例ID(外VARCHAR(64) 64
键
PROC_INST_ID_)
PROC_DEF_ID_ 流程定义ID VARCHAR(64) 64
NAME_ 任务名称 VARCHAR(255) 255
VARCHAR(64) 64
是
是
是
流程定义ID
节点定义名称
父节点实例ID
节点定义描述
任务定义的ID
拥有者(一般情况下为空,
只有在委托时才有值)
签收人或委托人
委托类型,
DelegationState分为两
种:PENDING,RESOLVED。
如无委托则为空
优先级别,默认为:50
创建时间,
CURRENT_TIMESTAMP
耗时
1代表激活 2代表挂起
PARENT_TASK_I父节任务ID
D_
DESCRIPTION_ 任务描述
TASK_DEF_KEY_ 任务定义key
OWNER_
ASSIGNEE_
DELEGATION_
所属人(老板)
代理人员
(受让人)
代理团
VARCHAR(40004000 是
)
VARCHAR(255) 255 是
VARCHAR(255) 255
VARCHAR(255) 255
VARCHAR(64) 64
是
是
是
PRIORITY_ 优先权 INT(11)
TIMESTAMP
DATETIME
INT(11)
11
11
是
CREATE_TIME_ 创建时间
DUE_DATE_ 执行时间 是
是 SUSPENSION_ST暂停状态
ATE_
1.2.24 表名:ACT_RU_VARIABLE(运行时流程变量数据表)
ACT_RU_VARIABLE(act_ru_variable)
是否
字段名
主键
是 ID_
REV_
TYPE
NAME_
字段描述
ID_
版本号
编码类型
变量名称
数据类型
VARCHAR(64)
INT(11)
缺省
长度 可空 约束
值
64
11 是
是
是
是
是
是
是
备注
主键标识
乐观锁
参见VAR_TYPE_类型说明
变量名称
执行的ID
流程实例ID
节点实例ID(Local)
字节表的ID
(ACT_GE_BYTEARRAY)
存储变量类型为Double
存储变量类型为long
VARCHAR(255) 255
VARCHAR(255) 255
VARCHAR(64)
VARCHAR(64)
VARCHAR(64)
VARCHAR(64)
DOUBLE
BIGINT(20)
64
64
64
64
20
EXECUTION_ID_ 执行实例ID
PROC_INST_ID_ 流程实例Id
TASK_ID_ 任务id
BYTEARRAY_ID_ 字节组ID
DOUBLE_
LONG_
DOUBLE_
LONG_
Activiti数据表结构
TEXT_ TEXT_ VARCHAR(4000) 4000 是 存储变量值类型为String
如此处存储持久化对象
时,值jpa对象的class
此处存储的是JPA持久化
对象时,才会有值。此值
为对象ID
TEXT2_ TEXT2_ VARCHAR(4000) 4000 是
2 Activiti中主要对象的关系
本节主要介绍在工作流中出现的几个对象及其之间的关系,以及在Activiti
中各个对象是如何关联的。
在开始之前先看看下图,对整个对象结构有个了解,再结合实例详细介绍理
解。
图1.
Activiti中几个对象之间的关系
我们模拟一个请假的流程进行分析介绍,该流程主要包含以下几个步骤:
员工申请请假
部门领导审批
人事审批
员工销假
ProcessInstance对象
Activiti数据表结构
员工开始申请请假流程,通过rocessInstance()方
法启动,引擎会创建一个流程实例(ProcessInstance)。
简单来说流程实例就是根据一次(一条)业务数据用流程驱动的入口,两者
之间是一对一的关系。流程引擎会创建一条数据到ACT_RU_EXECUTION表,同时
也会根据history的级别决定是否查询相同的历史数据到ACT_HI_PROCINST表。
启动完流程之后业务和流程已经建立了关联关系,第一步结束。
启动流程和业务关联区别:
对于自定义表单来说启动的时候会传入businessKey作为业务和流程的
关联属性
对于动态表单来说不需要使用businessKey关联,因为所有的数据都保存
在引擎的表中
对于外部表单来说businessKey是可选的,但是一般不会为空,和自定义
表单类似
Execution对象
对于初学者来说,最难理解的地方就是ProcessInstance与Execution之间
的关系,要分两种情况说明。Execution的含义就是一个流程实例
(ProcessInstance)具体要执行的过程对象。
不过在说明之前先声明两者的对象映射关系:
ProcessInstance(1)→ Execution(N),(其中N >= 1)。
1) 值相等的情况:
除了在流程中启动的子流程之外,流程启动之后在表ACT_RU_EXECUTION中
的字段ID_和PROC_INST_ID_字段值是相同的。
图2. ID_和PROC_INST_ID_相等
2) 值不相等的情况:
Activiti数据表结构
不相等的情况目前只会出现在子流程中(包含:嵌套、引入),例如一个购
物流程中除了下单、出库节点之外可能还有一个付款子流程,在实际企业应用中
付款流程通常是作为公用的,所以使用子流程作为主流程(购物流程)的一部分。
当任务到达子流程时引擎会自动创建一个付款流程,但是这个流程有一个特殊的
地方,在数据库可以直观体现,如下图。
图3. ID_和PROC_INST_ID_不相等
上图中有两条数据,第二条数据(嵌入的子流程)的PARENT_ID_等于第一条数
据的ID_和PROC_INST_ID_,并且两条数据的PROC_INST_ID_相同。
上图中还有一点特殊的地方,字段IS_ACTIVE_的值分别是0和1,说明正在
执行子流程主流程挂起。
Task对象
前面说了ProcessInstance和业务是一对一关联的,和业务数据最亲密;而
Task则和用户最亲密的(UserTask),用户每天的待办事项就是一个个的Task
对象。
从图1中看得出Execution和Task是一对一关系,Task可以是任何类型的
Task实现,可以是用户任务(UserTask)、Java服务(Java ServiceTask)等,
在实际流程运行中只不过面向对象不同,用户任务(UserTask)需要有人为参与完
成(complete),Java服务需要由系统自动执行(execution)。
图4. 表ACT_RU_TASK
Task是在流程定义中看到的最大单位,每当一个Task完成的时候会引擎会
把当前的任务移动到历史中,然后插入下一个任务插入到表ACT_RU_TASK中。结
Activiti数据表结构
合请假流程来说就是让用户点击“完成”按钮提交当前任务是的动作,引擎自动
根据任务的顺序流或者排他分支判断走向。
HistoryActivity(历史活动)
图5. 表ACT_HI_ACTINST
Activity包含了流程中所有的活动数据,例如开始事件(图5表中的第1
条数据)、各种分支(排他分支、并行分支等,图5表中的第2条数据)、以及
刚刚提到的Task执行记录(如图5表中的第3、4条数据)。
有些人认为Activity和Task是多对一关系,其实不是,从上图中可以看出
来根本没有Task相关的字段。
结合请假流程来说,如Task中提到的当完成流程的时候所有下一步要执行
的任务(包括各种分支)都会创建一个Activity记录到数据库中。例如领导审
核节点点击“同意”按钮就会流转到人事审批节点,如果“驳回”那就流转到调
整请假内容节点,每一次操作的Task背后实际记录更详细的活动(Activity)。
版权声明:本文标题:Activiti工作流数据库表结构 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/p/1710949173a581003.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论