当前位置:Gxlcms > 数据库问题 > Activiti数据库

Activiti数据库

时间:2021-07-01 10:21:17 帮助过:97人阅读

Activiti数据库

作者:邓家海

 Activiti数据表清单:

Activiti的所有数据库表都以ACT_开头。第二部分是说明表用途的两字符标示符。服务API的命名也大略符合这个规则。
ACT_RE_*: ‘RE’代表 repository 。带有这个前缀的表包含“静态”信息,例如流程定义与流程资源(图片、规则等)。
ACT_RU_*: ‘RU’代表 runtime 。这些表存储运行时信息,例如流程实例(process instance)、用户任务(user task)、变量
(variable)、作业(job)等。Activiti只在流程实例运行中保存运行时数据,并在流程实例结束时删除记录。这样保证运行时表小和
快。
ACT_ID_*: ‘ID’代表 identity 。这些表包含身份信息,例如用户、组等。
ACT_HI_*: ‘HI’代表 history 。这些表存储历史数据,例如已完成的流程实例、变量、任务等。
ACT_GE_*: 通用数据。用于不同场景下。

ACT_EVT_*:事件表。主要存放事件信息和事件日志等。

ACT_PROCDEF_*:流程定义表,流程定义历史更新数据。

 Activiti数据库实体Model:

 

图:T01 数据库实体关系图(一)

 

图:T02 数据库实体关系图(二)

 

图:T03 数据库实体关系图(三)

 

 Activiti数据表清单:

编号

表分类

表名

解释

TA001

事件日志数据

ACT_EVT_LOG

事件日志

TA002

一般数据

ACT_GE_BYTEARRAY

通用的流程定义和流程资源

TA003

ACT_GE_PROPERTY

系统相关属性

TA004

流程历史记录

 

ACT_HI_ACTINST

历史的流程实例

TA005

ACT_HI_ATTACHMENT

历史的流程附件

TA006

ACT_HI_COMMENT

历史的说明性信息

TA007

ACT_HI_DETAIL

历史的流程运行中的细节信息

TA008

ACT_HI_IDENTITYLINK

历史的流程运行过程中用户关系

TA009

ACT_HI_PROCINST

历史的流程实例

TA010

ACT_HI_TASKINST

历史的任务实例

TA011

ACT_HI_VARINST

历史的流程运行中的变量信息

TA012

用户用户组表

ACT_ID_GROUP

身份信息-组信息

TA013

ACT_ID_INFO

身份信息-组信息

TA014

ACT_ID_MEMBERSHIP

身份信息-用户和组关系的中间表

TA015

ACT_ID_USER

身份信息-用户信息

TA016

流程定义更新信息表

ACT_PROCDEF_INFO

流程定义更新信息

TA017

流程定义表

ACT_RE_DEPLOYMENT

部署单元信息

TA018

ACT_RE_MODEL

模型信息

TA019

ACT_RE_PROCDEF

已部署的流程定义

TA020

运行实例表

ACT_RU_EVENT_SUBSCR

运行时事件

TA021

ACT_RU_EXECUTION

运行时流程执行实例

TA022

ACT_RU_IDENTITYLINK

运行时用户关系信息

TA023

ACT_RU_JOB

运行时作业

TA024

ACT_RU_TASK

运行时任务

TA025

ACT_RU_VARIABLE

运行时变量表

Activiti表结构

编码:TA001:act_evt_log(事件日志)

字段

字段名称

字段默认值

是否允许为空

数据类型

字段长度

备注

LOG_NR_

主键

NULL

NO

bigint

NULL

PRI

 

TYPE_

类型

NULL

YES

varchar

64

 

 

PROC_DEF_ID_

流程定义ID

NULL

YES

varchar

64

 

 

PROC_INST_ID_

流程实例ID

NULL

YES

varchar

64

 

 

EXECUTION_ID_

执行ID

NULL

YES

varchar

64

 

 

TASK_ID_

任务ID

NULL

YES

varchar

64

 

 

TIME_STAMP_

时间

CURRENT_TIMESTAMP(3)

NO

timestamp

NULL

 

 

USER_ID_

用户ID

NULL

YES

varchar

255

 

 

DATA_

数据

NULL

YES

longblob

4294967295

 

 

LOCK_OWNER_

锁定节点

NULL

YES

varchar

255

 

 

LOCK_TIME_

锁定时间

NULL

YES

timestamp

NULL

 

 

IS_PROCESSED_

是否正在执行

0

YES

tinyint

NULL

 

 

注:
1.事件日志表
2.事件日志, 默认不开启。
3.从Activiti 5.16开始,引入了(试验性)的事件记录机制。记录机制基于Activiti引擎的事件机制的一般用途,并默认禁用。其思想是,来
源于引擎的事件会被捕获,并创建一个包含了所有事件数据(甚至更多)的映射,提供给
org.activiti.engine.impl.event.logger.EventFlusher,由它将这些数据刷入其他地方。默认情况下,使用简单的基于数据库的事件处理/刷
入,会使用Jackson将上述映射序列化为JSON,并将其作为EventLogEntryEntity接口存入数据库。如果不使用事件记录,可以删除这个
表。
4.配置启用事件日志:processEngineConfiguration.setEnableDatabaseEventLogging(true);
5.运行时启用事件日志:databaseEventLogger = new EventLogger(processEngineConfiguration.getClock());
                      runtimeService.addEventListener(databaseEventLogger);
6.可以扩展EventLogger类。如果默认的数据库记录不符合要求,需要覆盖createEventFlusher()方法返回一
个org.activiti.engine.impl.event.logger.EventFlusher接口的实例。可以通过Activiti的
managementService.getEventLogEntries(startLogNr, size)?获取EventLogEntryEntity实例。
容易看出这个表中的数据可以通过JSON放入大数据NoSQL存储,例如MongoDB,Elastic Search,等等。也容易看出这里使用的类
(org.activiti.engine.impl.event.logger.EventLogger/EventFlusher与许多其他 EventHandler类)是可插入的,可以按你的使用场景调整
(例如不将JSON存入数据库,而是将其直接发送给一个队列或大数据存储)。
请注意这个事件记录机制是额外于Activiti的“传统”历史管理器的。尽管所有数据都在数据库表中,但并未对查询或快速恢复做优化。实
际使用场景是末端审计并将其存入大数据存储。

 

 

编码:TA002:act_ge_bytearray(二进制文件)

字段

  字段名称

字段默认值

是否允许为空

数据类型

字段长度

备注

ID_

主键

 

NO

varchar

64

PRI

 

REV_

版本号

NULL

YES

int

NULL

 

version

NAME_

名称

NULL

YES

varchar

255

 

部署的文件名称,如:mail.bpmn、mail.png 、mail.bpmn20.xml

DEPLOYMENT_ID_

部署ID

NULL

YES

varchar

64

ACT_RE_DEPLOYMENT

 

BYTES_

字节(二进制数据)

NULL

YES

longblob

4294967295

 

 

GENERATED_

是否系统生成

NULL

YES

tinyint

NULL

 

0为用户上传,
1为系统自动生
成, 比如系统会
自动根据xml生
成png

注:
1.用来保存部署文件的大文本数据
2.所有二进制内容都会保存在这个表里, 比如部署的process.bpmn20.xml, process.png, user.form, 附件, bean序列
化为二进制的流程变量。

3. act_ge_property属性数据表存储整个流程引擎级别的数据,初始化表结构时,会默认插入三条记录。

 

 

编码:TA003:act_ge_property(全局配置文件)

字段

字段名称

字段默认值

是否允许为空

数据类型

字段长度

备注

NAME_

名称

 

NO

varchar

64

PRI

schema.version
schema.history
next.dbid

VALUE_

NULL

YES

varchar

300

 

5.*
create(5.*)

REV_

版本号

NULL

YES

int

NULL

 

version

注:
1.全局参数, 默认三个参数next.dbid, IdGenerator区间, schema.history, 自动执行sql历史, schema.version, 当
前sql版本。
2.属性数据表。存储整个流程引擎级别的数据。

 

 

编码:TA004:act_hi_actinst(历史节点表)

字段

字段名称

字段默认值

是否允许为空

数据类型

字段长度

备注

ID_

主键

NULL

NO

varchar

64

PRI

 

PROC_DEF_ID_

流程定义ID

NULL

NO

varchar

64

 

 

PROC_INST_ID_

流程实例ID

NULL

NO

varchar

64

MUL

 

ACT_ID_

节点ID

NULL

NO

varchar

255

 

 

TASK_ID_

任务ID

NULL

YES

varchar

64

 

任务实例ID 其他节点类型实例ID在这里为空

CALL_PROC_INST_ID_

调用外部的流程实例ID

NULL

YES

varchar

64

 

 

ACT_NAME_

节点名称

NULL

YES

varchar

255

 

 

ACT_TYPE_

节点类型

NULL

NO

varchar

255

 

如startEvent、userTask

ASSIGNEE_

签收人

NULL

YES

varchar

255

 

经办人

START_TIME_

开始时间

NULL

NO

datetime

NULL

MUL

 

END_TIME_

结束时间

NULL

YES

datetime

NULL

MUL

 

DURATION_

耗时

NULL

YES

bigint

NULL

 

毫秒值

TENANT_ID_

多租户

 

YES

varchar

255

 

 

注:
1. 历史活动信息。这里记录流程流转过的所有节点,与HI_TASKINST不同的是,taskinst只记录usertask内容。
2.  TENANT_ID 是后续才加入的多租户

 

 

编码:TA005:act_hi_attachment(历史附件表)

字段

字段名称

字段默认值

是否允许为空

数据类型

字段长度

备注

ID_

主键ID

NULL

NO

varchar

64

PRI

 

REV_

版本号

NULL

YES

int

NULL

 

version

USER_ID_

用户ID

NULL

YES

varchar

255

 

 

NAME_

名称

NULL

YES

varchar

255

 

 

DESCRIPTION_

描述

NULL

YES

varchar

4000

 

 

TYPE_

类型

NULL

YES

varchar

255

 

 

TASK_ID_

任务ID

NULL

YES

varchar

64

 

 

PROC_INST_ID_

流程实例ID

NULL

YES

varchar

64

 

 

URL_

附件地址

NULL

YES

varchar

4000

 

附件的URL地址

CONTENT_ID_

字节表ID

NULL

YES

varchar

64

 

ACT_GE_BYTEARRAY的ID

TIME_

时间

NULL

YES

datetime

NULL

 

 

注:
1.存放历史流程相关的附件。
2.时间是后续版本加入

 

 

编码:TA006:act_hi_comment(历史审批意见表)

字段

字段名称

字段默认值

是否允许为空

数据类型

字段长度

备注

ID_

主键

NULL

NO

varchar

64

PRI

 

TYPE_

类型

NULL

YES

varchar

255

 

类型:event(事件)
comment(意见)

TIME_

时间

NULL

NO

datetime

NULL

 

 

USER_ID_

用户ID

NULL

YES

varchar

255

 

 

TASK_ID_

任务ID

NULL

YES

varchar

64

 

 

PROC_INST_ID_

流程实例ID

NULL

YES

varchar

64

 

 

ACTION_

行为类型

NULL

YES

varchar

255

 

 

MESSAGE_

基本内容

NULL

YES

varchar

4000

 

用于存放流程产生的信息,比如审批意见

FULL_MSG_

全部内容

NULL

YES

longblob

4294967295

 

附件

注:
1. 存放历史流程的审批意见。
2. 行为类型。值为下列内容中的一种:AddUserLink、DeleteUserLink、AddGroupLink、DeleteGroupLink、AddComment、AddAttachment、DeleteAttachment

 

 

编码:TA007:act_hi_detail(历史详情信息表)

字段

字段名称

字段默认值

是否允许为空

数据类型

字段长度

备注

ID_

主键

NULL

NO

varchar

64

PRI

 

TYPE_

类型

NULL

NO

varchar

255

 

类型:
   FormProperty,   //表单
   VariableUpdate  //参数

PROC_INST_ID_

流程实例ID

NULL

YES

varchar

64

MUL

 

EXECUTION_ID_

执行实例

NULL

YES

varchar

64

 

 

TASK_ID_

任务ID

NULL

YES

varchar

64

MUL

 

ACT_INST_ID_

节点实例ID

NULL

YES

varchar

64

ACT_HI_ACTINST

 

NAME_

名称

NULL

NO

varchar

255

MUL

 

VAR_TYPE_

参数类型

NULL

YES

varchar

255

 

 

REV_

版本号

NULL

YES

int

NULL

 

version

TIME_

时间戳

NULL

NO

datetime

NULL

MUL

创建时间

BYTEARRAY_ID_

字节表ID

NULL

YES

varchar

64

ACT_GE_BYTEARRAY

 

DOUBLE_

浮点值

NULL

YES

double

NULL

 

存储变量类型为Double

LONG_

长整型

NULL

YES

bigint

NULL

 

存储变量类型为long

TEXT_

文本值

NULL

YES

varchar

4000

 

存储变量值类型为String

TEXT2_

字符串

NULL

YES

varchar

4000

 

此处存储的是JPA持久化对象时,才会有值。此值为对象ID
jpa变量text存className,text2存id

注:
1.历史详情表:流程中产生的变量详细,包括控制流程流转的变量,业务表单中填写的流程需要用到的变量等。
2.参数类型:  jpa-entity、boolean、bytes、serializable(可序列化)、自定义type(根据你自身配置)、CustomVariableType、date、double、integer、long、null、short、string

 

 

编码:TA008:act_hi_identitylink(历史流程人员表)

字段

字段名称

字段默认值

是否允许为空

数据类型

字段长度

备注

ID_

主键

 

NO

varchar

64

PRI

 

GROUP_ID_

用户组ID

NULL

YES

varchar

255

 

 

TYPE_

类型

NULL

YES

varchar

255

 

类型,主要分为以下几种:
assignee、candidate、owner、starter 、participant

USER_ID_

用户ID

NULL

YES

varchar

255

MUL

 

TASK_ID_

任务ID

NULL

YES

varchar

64

MUL

 

PROC_INST_ID_

流程实例ID

NULL

YES

varchar

64

MUL

 

注:
1.  任务参与者数据表。主要存储当前节点参与者的信息。

 

 

编码:TA009:act_hi_procinst(流程实例历史*核心表)

字段

字段名称

字段默认值

是否允许为空

数据类型

字段长度

备注

ID_

主键

NULL

NO

varchar

64

PRI

 

PROC_INST_ID_

流程实例ID

NULL

NO

varchar

64

UNI

 

BUSINESS_KEY_

业务标识

NULL

YES

varchar

255

MUL

业务主键,业务表单的ID

PROC_DEF_ID_

流程实例ID

NULL

NO

varchar

64

 

 

START_TIME_

开始时间

NULL

NO

datetime

NULL

 

 

END_TIME_

结束时间

NULL

YES

datetime

NULL

MUL

 

DURATION_

耗时

NULL

YES

bigint

NULL

 

 

START_USER_ID_

流程发起人ID

NULL

YES

varchar

255

 

 

START_ACT_ID_

开始节点ID

NULL

YES

varchar

255

 

 

END_ACT_ID_

结束节点ID

NULL

YES

varchar

255

 

 

SUPER_PROCESS_INSTANCE_ID_

父流程实例ID

NULL

YES

varchar

64

 

 

DELETE_REASON_

删除原因

NULL

YES

varchar

4000

 

 

TENANT_ID_

租户ID

 

YES

varchar

255

 

 

NAME_

名称

NULL

YES

varchar

255

 

 

注:
1.核心表之一。
2.存放历史的流程实例。
3.设计历史流程实例表的初衷之一就是为了使得运行时库数据量尽可能小,效率最优。

 

 

 

编码:TA0010:act_hi_taskinst(历史任务流程实例信息*核心表)

字段

字段名称

字段默认值

是否允许为空

数据类型

字段长度

备注

ID_

主键

NULL

NO

varchar

64

PRI

 

PROC_DEF_ID_

流程实例ID

NULL

YES

varchar

64

 

 

TASK_DEF_KEY

人气教程排行