一、表结构介绍
工作流Activity总共有23张表,总共可以分为5大类;
ACT_RE_*:RE表示repository,总共有3张表,带此前缀的表包含的是静态信息,如:流程定义,流程部署,流程设计模型。
ACT_RU_*:RU表示runtime,总共有6张表,这是运行时的表存储着流程变量,用户任务,职责,运行人物信息,运行实例等运行时的数据;
Activiti只存储实例执行期间的运行时数据,当流程实例结束时,将删除这些记录,这就保证了这些运行时的表小且快。
ACT_ID_*:ID表示identity,总共有4张表,如:用户信息,用户组,用户与用户之间的关系等。
ACT_HI_*:HI表示history,总共有8张表,保存的是一些流程历史信息,如:历史流程变量,历史处理任务,历史流程执行实例,历史任务人员处理信息,历史任务建议,历史变量变更详细信息,历史节点信息等。
ACT_GE_*:GE代表generate,中国有两张表,主要存储流程图信息,变量的生成,如:流程图的存储,变量生成。
二、工作流表结构模型

三、工作流表结构数据解析
act_ge_bytearray:流程文件存储表
|
字段名 |
类型 |
不能为空 |
主键 |
描述 |
|
ID_ |
varchar |
是 |
是 |
唯一标志 |
|
REV_ |
int |
否 |
否 |
版本号 |
|
NAME_ |
varchar |
否 |
否 |
部署文件名称 |
|
DEPLOYMENT_ID_ |
varchar |
否 |
否 |
部署id |
|
BYTES_ |
longblob |
否 |
否 |
部署对象二进制文件 |
|
GENERATED_ |
tinyint |
否 |
否 |
是否引擎生成0用户,1Activity |
act_ge_bytearray:系统属性生成表
|
字段名 |
类型 |
不能为空 |
主键 |
描述 |
|
NAME_ |
varchar |
是 |
是 |
属性名称 |
|
VALUE_ |
varchar |
否 |
否 |
属性值 |
|
REV_ |
int |
否 |
否 |
版本号 |
act_re_deployment:部署信息
|
字段名 |
类型 |
不能为空 |
主键 |
描述 |
|
ID_ |
varchar |
是 |
是 |
唯一标志 |
|
NAME_ |
varchar |
否 |
否 |
部署名称 |
|
CATEGORY_ |
varchar |
否 |
否 |
类别 |
|
TENANT_ID_ |
varchar |
否 |
否 |
租户id,面对多用户 |
|
DEPLOY_TIME_ |
timestamp |
是 |
否 |
部署时间 |
act_re_procdef:流程定义表
|
字段名 |
类型 |
不能为空 |
主键 |
描述 |
|
ID_ |
varchar |
是 |
是 |
唯一标志 |
|
REV_ |
int |
否 |
否 |
版本 |
|
CATEGORY_ |
varchar |
否 |
否 |
类别 |
|
NAME_ |
varchar |
否 |
否 |
流程名称 |
|
KEY_ |
varchar |
是 |
否 |
流程编号(就是id属性值) |
|
VERSION_ |
int |
是 |
否 |
流程版本 |
|
DEPLOYMENT_ID_ |
varchar |
否 |
否 |
部署id |
|
RESOURCE_NAME_ |
varchar |
否 |
否 |
bpmn资源文件名称 |
|
DGRM_RESOURCE_NAME_ |
varchar |
否 |
否 |
图片资源名称 |
|
DESCRIPTION_ |
varchar |
否 |
否 |
描述 |
|
HAS_START_FORM_KEY_ |
tinyint |
否 |
否 |
Strat节点是否存在formKey |
|
SUSPENSION_STATE_ |
int |
否 |
否 |
是否挂起 |
|
TENANT_ID_ |
varchar |
否 |
否 |
租户id,面对多用户 |
act_re_model:流程设计模型表
|
字段名 |
类型 |
不能为空 |
主键 |
描述 |
|
ID_ |
varchar |
是 |
是 |
唯一标志 |
|
REV_ |
int |
否 |
否 |
乐观锁 |
|
NAME_ |
varchar |
否 |
否 |
模型名称 |
|
KEY_ |
varchar |
否 |
否 |
模型关键字 |
|
CATEGORY_ |
varchar |
是 |
否 |
类型 |
|
CREATE_TIME_ |
int |
是 |
否 |
创建时间 |
|
LAST_UPDATE_TIME_ |
varchar |
否 |
否 |
最后修改时间 |
|
VERSION_ |
varchar |
否 |
否 |
版本 |
|
META_INFO_ |
varchar |
否 |
否 |
流程定义信息 |
|
DEPLOYMENT_ID_ |
varchar |
否 |
否 |
部署id |
|
EDITOR_SOURCE_VALUE_ID_ |
tinyint |
否 |
否 |
ACT_GE_BYTEARRAY 表中的ID_值 |
|
EDITOR_SOURCE_EXTRA_VALUE_ID_ |
int |
否 |
否 |
ACT_GE_BYTEARRAY 表中的ID_值 |
|
TENANT_ID_ |
varchar |
否 |
否 |
租户id,面对多用户 |
act_id_user:用户信息表
|
字段名 |
类型 |
不能为空 |
主键 |
描述 |
|
ID_ |
varchar |
是 |
是 |
唯一标志 |
|
REV_ |
int |
否 |
否 |
版本号 |
|
FIRST_ |
varchar |
否 |
否 |
用户名称 |
|
LAST_ |
varchar |
否 |
否 |
用户姓氏 |
|
EMAIL_ |
varchar |
否 |
否 |
邮箱 |
|
PWD_ |
varchar |
否 |
否 |
密码 |
|
PICTURE_ID_ |
varchar |
否 |
否 |
头像id |
act_id_group:用户组信息表
|
字段名 |
类型 |
不能为空 |
主键 |
描述 |
|
ID_ |
varchar |
是 |
是 |
唯一标志 |
|
REV_ |
int |
否 |
否 |
版本号 |
|
NAME_ |
varchar |
否 |
否 |
用户组名称 |
|
TYPE_ |
varchar |
否 |
否 |
用户组类型 |
act_id_membership:用户与用户组信息关系表
|
字段名 |
类型 |
不能为空 |
主键 |
描述 |
|
USER_ID_ |
varchar |
是 |
是 |
用户id |
|
GROUP_ID_ |
varchar |
是 |
是 |
用户组id |
act_id_info:用户扩展信息表
|
字段名 |
类型 |
不能为空 |
主键 |
描述 |
|
ID_ |
varchar |
是 |
是 |
唯一标志 |
|
REV_ |
int |
否 |
否 |
版本号 |
|
USER_ID_ |
varchar |
否 |
否 |
用户id |
|
TYPE_ |
varchar |
否 |
否 |
用户类型 |
|
KEY_ |
varchar |
否 |
否 |
formINPut名称 |
|
VALUE_ |
varchar |
否 |
否 |
值 |
|
PASSWORD_ |
longblob |
否 |
否 |
密码 |
|
PARENT_ID_ |
varchar |
否 |
否 |
父节点id |
act_ru_variable:运行时流程变量表
|
字段名 |
类型 |
不能为空 |
主键 |
描述 |
|
ID_ |
varchar |
是 |
是 |
唯一标志 |
|
REV_ |
int |
否 |
否 |
版本号 |
|
TYPE_ |
varchar |
是 |
否 |
数据类型 |
|
NAME_ |
varchar |
是 |
否 |
变量名称 |
|
EXECUTION_ID_ |
varchar |
否 |
否 |
执行实例id |
|
PROC_INST_ID_ |
varchar |
否 |
否 |
流程实例id |
|
TASK_ID_ |
varchar |
否 |
否 |
任务id |
|
BYTEARRAY_ID_ |
varchar |
否 |
否 |
字节表id |
|
DOUBLE_ |
double |
否 |
否 |
Double类型存储 |
|
LONG_ |
bigint |
否 |
否 |
Long类型存储 |
|
TEXT_ |
varchar |
否 |
否 |
String类型存储 |
|
TEXT2_ |
varchar |
否 |
否 |
序列化对象存储 |
act_ru_task:运行时流程任务表
|
字段名 |
类型 |
不能为空 |
主键 |
描述 |
|
ID_ |
varchar |
是 |
是 |
唯一标志 |
|
REV_ |
int |
否 |
否 |
版本号 |
|
EXECUTION_ID_ |
varchar |
否 |
否 |
执行实例id |
|
PROC_INST_ID_ |
varchar |
否 |
否 |
流程实例id |
|
PROC_DEF_ID_ |
varchar |
否 |
否 |
流程定义id |
|
NAME_ |
varchar |
否 |
否 |
任务名 |
|
PARENT_TASK_ID_ |
varchar |
否 |
否 |
父任务id |
|
DESCRIPTION_ |
varchar |
否 |
否 |
描述 |
|
TASK_DEF_KEY_ |
varchar |
否 |
否 |
任务定义key |
|
OWNER_ |
varchar |
否 |
否 |
所属人 |
|
ASSIGNEE_ |
varchar |
否 |
否 |
处理人 |
|
DELEGATION_ |
varchar |
否 |
否 |
委托类型 |
|
PRIORITY_ |
int |
否 |
否 |
优先级别 |
|
CREATE_TIME_ |
timestamp |
否 |
否 |
创建时间 |
|
DUE_DATE_ |
datetime |
否 |
否 |
耗时 |
|
CATEGORY_ |
varchar |
否 |
否 |
类别 |
|
SUSPENSION_STATE_ |
int |
否 |
否 |
挂起状态 |
|
TENANT_ID_ |
varchar |
否 |
否 |
租户id,面对多用户 |
act_ru_job:运行时定时任务数据表
|
字段名 |
类型 |
不能为空 |
主键 |
描述 |
|
ID_ |
varchar |
是 |
是 |
唯一标志 |
|
REV_ |
int |
否 |
否 |
版本号 |
|
TYPE_ |
varchar |
否 |
否 |
类型 |
|
LOCK_EXP_TIME_ |
timestamp |
否 |
否 |
锁定释放时间 |
|
LOCK_OWNER_ |
varchar |
否 |
否 |
挂起者 |
|
EXCLUSIVE_ |
tinyint |
否 |
否 |
独占 |
|
EXECUTION_ID_ |
varchar |
否 |
否 |
执行实例id |
|
PROCESS_INSTANCE_ID_ |
varchar |
否 |
否 |
流程实例id |
|
PROC_DEF_ID_ |
varchar |
否 |
否 |
流程定义id |
|
RETRIES_ |
int |
否 |
否 |
重试 |
|
EXCEPTION_STACK_ID_ |
varchar |
否 |
否 |
异常信息id |
|
EXCEPTION_MSG_ |
varchar |
否 |
否 |
异常信息 |
|
DUEDATE_ |
timestamp |
否 |
否 |
到期时间 |
|
REPEAT_ |
varchar |
否 |
否 |
重复 |
|
HANDLER_TYPE_ |
varchar |
否 |
否 |
处理类型 |
|
HANDLER_CFG_ |
varchar |
否 |
否 |
处理标志 |
|
TENANT_ID_ |
varchar |
否 |
否 |
租户id,面对多用户 |
act_ru_identitylink:运行时任务参与者信息表
|
字段名 |
类型 |
不能为空 |
主键 |
描述 |
|
ID_ |
varchar |
是 |
是 |
唯一标志 |
|
REV_ |
int |
否 |
否 |
版本号 |
|
GROUP_ID_ |
varchar |
是 |
否 |
用户组id |
|
TYPE_ |
varchar |
是 |
否 |
类型 |
|
USER_ID_ |
varchar |
否 |
否 |
用户id |
|
TASK_ID_ |
varchar |
否 |
否 |
任务id |
|
PROC_INST_ID_ |
varchar |
否 |
否 |
流程实例id |
|
PROC_DEF_ID_ |
varchar |
否 |
否 |
流程定义id |
act_ru_execution:运行时执行实例表
|
字段名 |
类型 |
不能为空 |
主键 |
描述 |
|
ID_ |
varchar |
是 |
是 |
唯一标志 |
|
REV_ |
int |
否 |
否 |
版本号 |
|
PROC_INST_ID_ |
varchar |
否 |
否 |
流程实例id |
|
BUSINESS_KEY_ |
varchar |
否 |
否 |
业务id |
|
PARENT_ID_ |
varchar |
否 |
否 |
父节点执行id |
|
PROC_DEF_ID_ |
varchar |
否 |
否 |
流程定义id |
|
SUPER_EXEC_ |
varchar |
否 |
否 |
引用的执行模板 |
|
ACT_ID_ |
varchar |
否 |
否 |
节点id |
|
IS_ACTIVE_ |
tinyint |
否 |
否 |
是否激活 |
|
IS_CONCURRENT_ |
tinyint |
否 |
否 |
是否并行 |
|
IS_SCOPE_ |
tinyint |
否 |
否 |
|
|
IS_EVENT_SCOPE_ |
tinyint |
否 |
否 |
|
|
SUSPENSION_STATE_ |
int |
否 |
否 |
挂起状态 |
|
CACHED_ENT_STATE_ |
int |
否 |
否 |
缓存结束状态 |
|
TENANT_ID_ |
varchar |
否 |
否 |
租户id,面对多用户 |
act_ru_event_subscr:运行时事件
|
字段名 |
类型 |
不能为空 |
主键 |
描述 |
|
ID_ |
varchar |
是 |
是 |
唯一标志 |
|
REV_ |
int |
否 |
否 |
版本号 |
|
EVENT_TYPE_ |
varchar |
否 |
否 |
事件类型 |
|
EVENT_NAME_ |
varchar |
否 |
否 |
事件名称 |
|
EXECUTION_ID_ |
varchar |
否 |
否 |
执行实例id |
|
PROC_INST_ID_ |
varchar |
否 |
否 |
流程实例id |
|
ACTIVITY_ID_ |
varchar |
否 |
否 |
活动id |
|
CONFIGURATION_ |
varchar |
否 |
否 |
配置信息 |
|
CREATED_ |
timestamp |
否 |
否 |
创建时间 |
|
PROC_DEF_ID_ |
varchar |
否 |
否 |
流程定义id |
|
TENANT_ID_ |
varchar |
否 |
否 |
租户id,面对多用户 |
act_hi_varinst:历史流程变量表
|
字段名 |
类型 |
不能为空 |
主键 |
描述 |
|
ID_ |
varchar |
是 |
是 |
唯一标志 |
|
PROC_INST_ID_ |
varchar |
否 |
否 |
流程实例id |
|
EXECUTION_ID_ |
varchar |
否 |
否 |
执行实例id |
|
TASK_ID_ |
varchar |
否 |
否 |
任务id |
|
NAME_ |
varchar |
否 |
否 |
变量名 |
|
VAR_TYPE_ |
varchar |
否 |
否 |
变量类型 |
|
REV_ |
int |
否 |
否 |
版本 |
|
BYTEARRAY_ID_ |
varchar |
否 |
否 |
字节码id |
|
DOUBLE_ |
double |
否 |
否 |
Double类型存储 |
|
LONG_ |
bigint |
否 |
否 |
Long类型存储 |
|
TEXT_ |
varchar |
否 |
否 |
String类型存储 |
|
TEXT2_ |
varchar |
否 |
否 |
序列化对象存储 |
|
CREATE_TIME_ |
datetime |
否 |
否 |
创建时间 |
|
LAST_UPDATED_TIME_ |
datetime |
否 |
否 |
最后修改时间 |
act_hi_taskinst: 历史任务表
|
字段名 |
类型 |
不能为空 |
主键 |
描述 |
|
ID_ |
varchar |
是 |
是 |
唯一标志 |
|
PROC_DEF_ID_ |
varchar |
否 |
否 |
流程定义id |
|
TASK_DEF_KEY_ |
varchar |
否 |
否 |
任务定义key |
|
PROC_INST_ID_ |
varchar |
否 |
否 |
流程实例id |
|
EXECUTION_ID_ |
varchar |
否 |
否 |
流程执行id |
|
NAME_ |
varchar |
否 |
否 |
任务名 |
|
PARENT_TASK_ID_ |
varchar |
否 |
否 |
父节点id |
|
DESCRIPTION_ |
varchar |
否 |
否 |
描述 |
|
OWNER_ |
varchar |
否 |
否 |
归属者 |
|
ASSIGNEE_ |
varchar |
否 |
否 |
任务办理人 |
|
START_TIME_ |
datetime |
是 |
否 |
开始时间 |
|
CLAIM_TIME_ |
datetime |
否 |
否 |
提醒时间 |
|
END_TIME_ |
datetime |
否 |
否 |
结束时间 |
|
DURATION_ |
bigint |
否 |
否 |
耗时 |
|
DELETE_REASON_ |
varchar |
否 |
否 |
删除原因 |
|
PRIORITY_ |
int |
否 |
否 |
优先级 |
|
DUE_DATE_ |
datetime |
否 |
否 |
过期时间 |
|
FORM_KEY_ |
varchar |
否 |
否 |
Form_key |
|
CATEGORY_ |
varchar |
否 |
否 |
分类 |
|
TENANT_ID_ |
varchar |
否 |
否 |
最后修改时间 |
act_hi_procinst:历史流程实例表
|
字段名 |
类型 |
不能为空 |
主键 |
描述 |
|
ID_ |
varchar |
是 |
是 |
唯一标志 |
|
PROC_INST_ID_ |
varchar |
否 |
否 |
流程实例id |
|
BUSINESS_KEY_ |
varchar |
否 |
否 |
业务key |
|
PROC_DEF_ID_ |
varchar |
否 |
否 |
流程定义id |
|
START_TIME_ |
datetime |
否 |
否 |
开始时间 |
|
END_TIME_ |
datetime |
否 |
否 |
结束时间 |
|
DURATION_ |
bigint |
否 |
否 |
耗时 |
|
START_USER_ID_ |
varchar |
否 |
否 |
启动者id |
|
START_ACT_ID_ |
varchar |
否 |
否 |
开始节点 |
|
END_ACT_ID_ |
varchar |
否 |
否 |
结束节点 |
|
SUPER_PROCESS_INSTANCE_ID_ |
varchar |
否 |
否 |
父级流程实例id |
|
DELETE_REASON_ |
varchar |
否 |
否 |
删除原因 |
|
TENANT_ID_ |
varchar |
否 |
否 |
租户id,面对多用户 |
act_hi_identitylink:历史任务参与者信息表
|
字段名 |
类型 |
不能为空 |
主键 |
描述 |
|
ID_ |
varchar |
是 |
是 |
唯一标志 |
|
GROUP_ID_ |
varchar |
否 |
否 |
用户组id |
|
TYPE_ |
varchar |
否 |
否 |
类型 |
|
USER_ID_ |
varchar |
否 |
否 |
用户id |
|
TASK_ID_ |
varchar |
否 |
否 |
任务id |
|
PROC_INST_ID_ |
varchar |
否 |
否 |
流程实例id |
act_hi_detail: 历史流程变量转化详细信息表
|
字段名 |
类型 |
不能为空 |
主键 |
描述 |
|
ID_ |
varchar |
是 |
是 |
唯一标志 |
|
TYPE_ |
varchar |
否 |
否 |
数据操作类型 |
|
PROC_INST_ID_ |
varchar |
否 |
否 |
流程实例id |
|
EXECUTION_ID_ |
varchar |
否 |
否 |
执行实例id |
|
TASK_ID_ |
varchar |
否 |
否 |
任务id |
|
ACT_INST_ID_ |
varchar |
否 |
否 |
ACT_HI_ACTINST表的ID |
|
NAME_ |
varchar |
是 |
否 |
变量名 |
|
VAR_TYPE_ |
varchar |
否 |
否 |
变量类型 |
|
REV_ |
int |
否 |
否 |
版本 |
|
TIME_ |
datetime |
是 |
否 |
时间 |
|
BYTEARRAY_ID_ |
varchar |
否 |
否 |
生成id |
|
DOUBLE_ |
double |
否 |
否 |
Double类型存储 |
|
LONG_ |
bigint |
否 |
否 |
Long类型存储 |
|
TEXT_ |
varchar |
否 |
否 |
String类型存储 |
|
TEXT2_ |
varchar |
否 |
否 |
序列化对象存储 |
act_hi_comment:历史任务建议表
|
字段名 |
类型 |
不能为空 |
主键 |
描述 |
|
ID_ |
varchar |
是 |
是 |
唯一标志 |
|
TYPE_ |
varchar |
否 |
否 |
建议类型 |
|
TIME_ |
datetime |
否 |
否 |
时间 |
|
USER_ID_ |
varchar |
否 |
否 |
用户id |
|
TASK_ID_ |
varchar |
否 |
否 |
任务id |
|
PROC_INST_ID_ |
varchar |
否 |
否 |
流程实例id |
|
ACTION_ |
varchar |
否 |
否 |
行为 |
|
MESSAGE_ |
varchar |
否 |
否 |
处理意见 |
|
FULL_MSG_ |
longblob |
否 |
否 |
全部消息 |
act_hi_attachment:历史附件信息表
|
字段名 |
类型 |
不能为空 |
主键 |
描述 |
|
ID_ |
varchar |
是 |
是 |
唯一标志 |
|
REV_ |
varchar |
否 |
否 |
版本 |
|
USER_ID_ |
varchar |
否 |
否 |
用户id |
|
NAME_ |
varchar |
否 |
否 |
名称 |
|
DESCRIPTION_ |
datetime |
否 |
否 |
描述 |
|
TYPE_ |
datetime |
否 |
否 |
类型 |
|
TASK_ID_ |
bigint |
否 |
否 |
任务id |
|
PROC_INST_ID_ |
varchar |
否 |
否 |
流程实例id |
|
URL_ |
varchar |
否 |
否 |
链接 |
|
CONTENT_ID_ |
varchar |
否 |
否 |
ACT_GE_BYTEARRAY的ID |
act_hi_actinst:历史节点表
|
字段名 |
类型 |
不能为空 |
主键 |
描述 |
|
ID_ |
varchar |
是 |
是 |
唯一标志 |
|
PROC_DEF_ID_ |
varchar |
是 |
否 |
流程定义id |
|
PROC_INST_ID_ |
varchar |
是 |
否 |
流程实例id |
|
EXECUTION_ID_ |
varchar |
是 |
否 |
执行实例id |
|
ACT_ID_ |
varchar |
是 |
否 |
活动id |
|
TASK_ID_ |
varchar |
否 |
否 |
任务id |
|
CALL_PROC_INST_ID_ |
varchar |
否 |
否 |
调用外部流程的流程实例id |
|
ACT_NAME_ |
varchar |
否 |
否 |
节点名称 |
|
ACT_TYPE_ |
varchar |
是 |
否 |
节点类型 |
|
ASSIGNEE_ |
varchar |
否 |
否 |
节点处理人 |
|
START_TIME_ |
datetime |
是 |
否 |
开始时间 |
|
END_TIME_ |
datetime |
否 |
否 |
结束时间 |
|
DURATION_ |
bigint |
否 |
否 |
耗时 |
|
TENANT_ID_ |
varchar |
否 |
否 |
租户id,面对多用户 |
四、工作流表结构总结
在实际开发中,我们使用的工作流常用的工作流的表结构信息没有那么多。
1.一般来说工作流在我们开发中只是充当一种工具,具体的业务逻辑还是得由自己系统实现,用户信息也当然是自己的系统中的,所以说有关于act_id_*类型的表结构一般会很少用。
2.流程图的构建和部署,在实际开发中我们使用的流程图构建工具基本上与开发工具配套,比如IDEA使用插件来绘画流程图,在进行流程图部署的时候act_re_model就不会有数据,并非使用引擎。
3.act_ru_*类型的表使用频率比较高,基本上全部使用到了。
4.act_hi_*类型的表使用频率比较高,因为我们在流程结束的时候还需要展示用户处理后的任务,建议,流程变量,流程实例等信息。
5.act_ge_*类型的在刚部署的时候和流程变量生成的时候会使用到,整体与业务没有什么关系。
综上所诉:act_hi_*类型,act_ru_*类型与业务密切相关,重点关注。