flowable database table structure

 

flowable database tables (70 tables in total)

1. Flowable database table naming rules

  • ACT_RE_*'RE' stands for repository (storage). The table operated by the RepositoryService interface. Tables with this prefix contain static information, such as process definitions, process resources (pictures, rules, etc.).
  • ACT_RU_*'RU' means runtime. (15 tables) This is the runtime table that stores runtime data such as process variables, user tasks, variables, and responsibilities (job). Flowable only stores runtime data during the execution of the instance. When the process instance ends, these records will be deleted. This ensures that these runtime tables are small and fast.
  • ACT_ID_*'ID' means identity (organization). (9 tables) These tables contain identifying information, such as users, user groups, and so on.
  • ACT_HI_*'HI' means history. (10 tables) These tables contain historical related data, such as the end of the process instance, variables, tasks, and so on.
  • ACT_GE_* General data. (2 tables) Data used in various situations.
  • *_ DATABASECHANGELOG liuquibase log table (4 tables)
  • * _DATABASECHANGELOGLOCK liuquibase log table (4 tables)

 

  1.  none: Do not save any historical records, which can improve system performance;
  2.  activity: save all process instances, tasks, and activity information;
  3. Audit: It is also the default level of Activiti, which saves all process instances, tasks, activities, and form attributes;
  4.  full: The most complete historical record, in addition to containing audit-level information, it can also save detailed information, such as process variables.

 

Database table structure (classic 34 tables)

General database

data sheet

description

ACT_GE_PROPERTY

Property table (kv key-value attribute of the process engine)--PropertyEntityImpl

ACT_GE_BTYEARRAY

Resource table (resources related to storage process definition)--ByteArrayEntityImpl

Process definition storage table

data sheet

description

ACT_RE_DEPLOYMENT

Process deployment table--DeploymentEntityImpl

ACT_RE_PROCDEF

Process definition information table--ProcessDefinitionEntityImpl

ACT_RE_MODEL

Model Information Table (for Web Designer)--ModelEntityImpl

ACT_PROCDEF_INFO

Process definition dynamic change information table--ProcessDefinitionInfoEntityImpl

Identity Data Sheet

data sheet

description

ACT_ID_USER

User Basic Information Table--UserEntityImpl

ACT_ID_INFO

User Extension Table--IdentityInfoEntityImpl

ACT_ID_GROUP

Group table (for web designer)--GroupEntityImpl

ACT_ID_MEMBERSHIP

User and owner relationship table--MemberShipEntityImpl

ACT_ID_BYTEARRAY

Binary data table (flowable)--

ACT_ID_PRIV

Permission table (flowable)--

ACT_ID_PRIV_MAPPING

User or group permission relationship table (flowable)--

ACT_ID_PROPERTY

Attribute table (flowable)--

ACT_ID_TOKEN

System login log table (flowable)--

Runtime Process Data Sheet

data sheet

description

ACT_RU_EXECUTION

Process instance and branch execution table--ExecutionEntityImpl

ACT_RU_TASK

User task table--TaskEntityImpl

ACT_RU_VARIABLE

Variable information--VariableInstanceEntityImpl

ACT_RU_IDENTITYLINK

Participant related information table--IdentityLinkEntityImpl

ACT_RU_EVENT_SUBSCR

Event Subscription Table--EventSubscriptionEntityImpl

ACT_RU_JOB

Job table--JobEntityImpl

ACT_RU_TIMER_JOB

Timer table--TimerJobEntityImpl

ACT_RU_SUSPENDED_JOB

Suspended job table--SuspendedJobEntityImpl

ACT_RU_DEADLETTER_JOB

Dead letter table--DeadLetterJobEntityImpl

ACT_RU_HISTORY_JOB

Historical job table (flowable)--

Historical process data table

data sheet

description

ACT_HI_PROCINST

Historical process instance table--HistoricProcessInstanceEntityImpl

ACT_HI_ACTINST

Historical node information table--HistoricActivityInstanceEntityImpl

ACT_HI_TASKINST

Historical task table--HistoricTaskInstanceEntityImpl (only record usertask content)

ACT_HI_VARINST

Historical variable--HistoricVariableInstanceEntityImpl

ACT_HI_IDENTITYLINK

Historical participant table--HistoricIdentityLinkEntityImpl

ACT_HI_DETAIL

Detailed information in the historical process operation--HistoricDetailEntityImpl

ACT_HI_ATTACHMENT

Attachment table--AttachmentEntityImpl

ACT_HI_COMMENT

Comment Form--CommentEntityImpl

ACT_EVT_LOG

Event log table--EventLogEntryEntityImpl

Three, the core table:

Deployment table of contents: act_ge_bytearray

act_ge_bytearray (binary file)

Field

  Field Name

Field default value

Whether it is allowed to be empty

type of data

Field length

key

Remarks

ID_

Primary key

 

NO

varchar

64

PRI

 

REV_

version number

NULL

YES

int

NULL

 

version

NAME_

name

NULL

YES

varchar

255

 

The name of the deployed file, such as mail.bpmn, mail.png, mail.bpmn20.xml

DEPLOYMENT_ID_

Deployment ID

NULL

YES

varchar

64

ACT_RE_DEPLOYMENT

 

BYTES_

Byte (binary data)

NULL

YES

longblob

4294967295

 

 

GENERATED_

Whether system generated

NULL

YES

tinyint

NULL

 

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

部署ID表:act_re_deployment

字段

字段名称

字段默认值

是否允许为空

数据类型

字段长度

备注

ID_

主键

 

NO

varchar

64

PRI

 

NAME_

名称

NULL

YES

varchar

255

 

 

CATEGORY_

分类

NULL

YES

varchar

255

 

 

TENANT_ID_

租户ID

 

YES

varchar

255

 

 

DEPLOY_TIME_

部署时间

NULL

YES

timestamp

NULL

 

 

注:
1. 部署流程定义时需要被持久化保存下来的信息。

流程表:act_re_procdef

字段

字段名称

字段默认值

是否允许为空

数据类型

字段长度

备注

ID_

主键

NULL

NO

varchar

64

PRI

 

REV_

版本号

NULL

YES

int

NULL

 

version

CATEGORY_

分类

NULL

YES

varchar

255

 

流程定义的Namespace就是类别

NAME_

名称

NULL

YES

varchar

255

 

 

KEY_

标识

NULL

NO

varchar

255

MUL

 

VERSION_

版本

NULL

NO

int

NULL

 

 

DEPLOYMENT_ID_

部署ID

NULL

YES

varchar

64

 

 

RESOURCE_NAME_

资源名称

NULL

YES

varchar

4000

 

流程bpmn文件名称

DGRM_RESOURCE_NAME_

图片资源名称

NULL

YES

varchar

4000

 

 

DESCRIPTION_

描述

NULL

YES

varchar

4000

 

 

HAS_START_FORM_KEY_

拥有开始表单标识

NULL

YES

tinyint

NULL

 

start节点是否存在formKey
0否  1是

HAS_GRAPHICAL_NOTATION_

拥有图形信息

NULL

YES

tinyint

NULL

 

 

SUSPENSION_STATE_

挂起状态

NULL

YES

int

NULL

 

暂停状态 1激活 2暂停

TENANT_ID_

租户ID

 

YES

varchar

255

 

 

注:
1. 业务流程定义数据表。此表和ACT_RE_DEPLOYMENT是多对一的关系,即,一个部署的bar包里可能包含多个流程定义文件,每个流程定义文件都会有一条记录在ACT_REPROCDEF表内,每个流程定义的数据,都会对于ACT_GE_BYTEARRAY表内的一个资源文件和PNG图片文件。和ACT_GE_BYTEARRAY的关联是通过程序用ACT_GE_BYTEARRAY.NAME与ACT_RE_PROCDEF.NAME_完成的,在数据库表结构中没有体现。

 总结:

流程文件部署主要涉及到3个表,分别是:ACT_GE_BYTEARRAY、ACT_RE_DEPLOYMENT、ACT_RE_PROCDEF。主要完成“部署包”-->“流程定义文件”-->“所有包内文件”的解析部署关系。从表结构中可以看出,流程定义的元素需要每次从数据库加载并解析,因为流程定义的元素没有转化成数据库表来完成,当然流程元素解析后是放在缓存中的。

 历史节点表: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

 

EXECUTION_ID_

执行实例ID

NULL

YES

varchar

64

 

 

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 是后续才加入的多租户

历史任务流程实例信息 :act_hi_taskinst

act_hi_taskinst(历史任务流程实例信息)

字段

字段名称

字段默认值

是否允许为空

数据类型

字段长度

备注

ID_

主键

NULL

NO

varchar

64

PRI

 

PROC_DEF_ID_

流程实例ID

NULL

YES

varchar

64

 

 

TASK_DEF_KEY_

任务节点定义ID

NULL

YES

varchar

255

 

任务定义标识(环节ID)

PROC_INST_ID_

流程实例ID

NULL

YES

varchar

64

MUL

 

EXECUTION_ID_

执行实例ID

NULL

YES

varchar

64

 

 

NAME_

任务名称

NULL

YES

varchar

255

 

 

PARENT_TASK_ID_

父任务节点ID

NULL

YES

varchar

64

 

 

DESCRIPTION_

描述

NULL

YES

varchar

4000

 

 

OWNER_

被代理人

NULL

YES

varchar

255

 

委托人(默认为空,只有在委托时才有值)

ASSIGNEE_

经办人

NULL

YES

varchar

255

 

 

START_TIME_

开始时间

NULL

NO

datetime

NULL

 

 

CLAIM_TIME_

签收时间

NULL

YES

datetime

NULL

 

 

END_TIME_

结束时间

NULL

YES

datetime

NULL

 

 

DURATION_

耗时

NULL

YES

bigint

NULL

 

 

DELETE_REASON_

删除原因

NULL

YES

varchar

4000

 

删除原因(completed,deleted)

PRIORITY_

优先级

NULL

YES

int

NULL

 

 

DUE_DATE_

截止时间

NULL

YES

datetime

NULL

 

过期时间,表明任务应在多长时间内完成

FORM_KEY_

FORM表单的KEY

NULL

YES

varchar

255

 

desinger节点定义的
form_key属性

CATEGORY_

分类

NULL

YES

varchar

255

 

 

TENANT_ID_

租户ID

 

YES

varchar

255

 

 

注:
1. 历史任务实例表。
2. 存放已经办理的任务。
3. CATEGORY和TNANT_ID是后续版本才加进来的。

 注意:act_hi_taskinst只记录usertask内容。

 流程变量数据表:act_ru_variable

字段

字段名称

字段默认值

是否允许为空

数据类型

字段长度

备注

ID_

主键

NULL

NO

varchar

64

PRI

 

REV_

版本号

NULL

YES

int

NULL

 

version

TYPE_

类型

NULL

NO

varchar

255

 

见备注

NAME_

名称

NULL

NO

varchar

255

 

 

EXECUTION_ID_

执行实例ID

NULL

YES

varchar

64

MUL(ACT_RU_EXECUTION)

 

PROC_INST_ID_

流程实例ID

NULL

YES

varchar

64

MUL(ACT_RU_EXECUTION)

 

TASK_ID_

任务ID

NULL

YES

varchar

64

MUL(ACT_RU_TASK)

 

BYTEARRAY_ID_

资源ID

NULL

YES

varchar

64

MUL(ACT_GE_BYTEARRAY)

 

DOUBLE_

浮点值

NULL

YES

double

NULL

 

存储变量类型为Double

LONG_

长整型

NULL

YES

bigint

NULL

 

存储变量类型为long

TEXT_

文本值

NULL

YES

varchar

4000

 

存储变量值类型为String
 如此处存储持久化对象时,值jpa对象的class

TEXT2_

文本值

NULL

YES

varchar

4000

 

  
此处存储的是JPA持久化对象时,才会有值。此值为对象ID

注:
1.运行时流程变量数据表。
2.类型:jpa-entity、boolean、bytes、serializable(可序列化)、自定义type(根据你自身配置)、

 CustomVariableType、date、double、integer、long、null、short、string

 历史变量表:act_hi_varinst

act_hi_varinst(历史变量表)

字段

字段名称

字段默认值

是否允许为空

数据类型

字段长度

备注

ID_

主键

NULL

NO

varchar

64

PRI

 

PROC_INST_ID_

流程实例ID

NULL

YES

varchar

64

MUL

 

EXECUTION_ID_

执行实例ID

NULL

YES

varchar

64

 

 

TASK_ID_

任务ID

NULL

YES

varchar

64

MUL

 

NAME_

名称

NULL

NO

varchar

255

MUL

 

VAR_TYPE_

变量类型

NULL

YES

varchar

100

 

 

REV_

版本号

NULL

YES

int

NULL

 

version

BYTEARRAY_ID_

字节流ID

NULL

YES

varchar

64

ACT_GE_BYTEARRAY

 

DOUBLE_

浮点值

NULL

YES

double

NULL

 

存储DoubleType类型的数据

LONG_

长整型

NULL

YES

bigint

NULL

 

存储LongType类型的数据

TEXT_

文本值

NULL

YES

varchar

4000

 

存储变量值类型为String,如此处存储持久化对象时,值jpa对象的class

TEXT2_

文本值

NULL

YES

varchar

4000

 

 

CREATE_TIME_

创建时间

NULL

YES

datetime

NULL

 

 

LAST_UPDATED_TIME_

最后更新时间

NULL

YES

datetime

NULL

 

 

注:
1. 主要存放历史变量数据。

 流程实例历史: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.设计历史流程实例表的初衷之一就是为了使得运行时库数据量尽可能小,效率最优。

历史流程人员表:act_hi_identitylink

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.  任务参与者数据表。主要存储当前节点参与者的信息。

备注:TYPE_ :该关系数据的类型,当前提供了 个值 assignee、candidate和owner 表示流程数据的指派人(组〉、候选人(组)和拥有人

 运行时流程人员表:act_ru_identitylink

act_ru_identitylink( 运行时流程人员表)

字段

字段名称

字段默认值

是否允许为空

数据类型

字段长度

备注

ID_

主键

 

NO

varchar

64

PRI

 

REV_

版本号

NULL

YES

int

NULL

 

version

GROUP_ID_

用户组ID

NULL

YES

varchar

255

MUL

 

TYPE_

类型

NULL

YES

varchar

255

 

 

USER_ID_

用户ID

NULL

YES

varchar

255

MUL

 

TASK_ID_

任务ID

NULL

YES

varchar

64

MUL(ACT_RU_TASK)

 

PROC_INST_ID_

流程实例ID

NULL

YES

varchar

64

MUL(ACT_RU_EXECUTION)

 

PROC_DEF_ID_

流程定义ID

NULL

YES

varchar

64

MUL(ACT_RE_PROCDEF)

 

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

 运行时任务节点表:act_ru_task

act_ru_task( 运行时任务节点表*核心表)

字段

字段名称

字段默认值

是否允许为空

数据类型

字段长度

备注

ID_

主键

 

NO

varchar

64

PRI

 

REV_

版本号

NULL

YES

int

NULL

 

version

EXECUTION_ID_

执行实例ID

NULL

YES

varchar

64

MUL(ACT_RU_EXECUTION)

 

PROC_INST_ID_

流程实例ID

NULL

YES

varchar

64

MUL(ACT_RU_EXECUTION)

 

PROC_DEF_ID_

流程定义ID

NULL

YES

varchar

64

MUL(ACT_RE_PROCDEF)

 

NAME_

名称

NULL

YES

varchar

255

 

 

PARENT_TASK_ID_

父任务ID

NULL

YES

varchar

64

 

 

DESCRIPTION_

描述

NULL

YES

varchar

4000

 

 

TASK_DEF_KEY_

人物定义标识

NULL

YES

varchar

255

 

 

OWNER_

被代理人

NULL

YES

varchar

255

 

(一般情况下为空,只有在委托时才有值)

ASSIGNEE_

经办人

NULL

YES

varchar

255

 

签收人或者委托人

DELEGATION_

委托状态

NULL

YES

varchar

64

 

委托状态 PENDING
委托中,
RESOLVED已处理

PRIORITY_

优先级

NULL

YES

int

NULL

 

 

CREATE_TIME_

创建时间

NULL

YES

timestamp

NULL

MUL

 

DUE_DATE_

截止时间

NULL

YES

datetime

NULL

 

 

CATEGORY_

分类

NULL

YES

varchar

255

 

 

SUSPENSION_STATE_

挂起状态

NULL

YES

int

NULL

 

暂停状态 1激活 2暂停

TENANT_ID_

租户ID

 

YES

varchar

255

 

 

FORM_KEY_

表单标识

NULL

YES

varchar

255

 

 

注:
1.运行时任务数据表

 

Guess you like

Origin blog.csdn.net/zzchances/article/details/105943591