flowable 数据库表结构分析(超全版)
一、Flowable数据库表命名规则
流程定义表(ACT_RE_*)RE表示repository(存储),RepositoryService接口操作的表。带此前缀的表包含的是静态信息,如流程定义,流程的资源(图片,规则)。
运行实例表(ACT_RU_*)RU表示runtime,这是运行时的表存储着流程变量,用户任务,变量,职责(job)等运行时的数据。flowable只存储实例执行期间的运行时数据,当流程实例结束时,将删除这些记录。这就保证了这些运行时的表小且快。
用户以及其用户组表(ACT_ID_*) ID表示identity(组织机构),这些表包含标识的信息,如用户,用户组等等。
流程历史记录(ACT_HI_*) HI表示history,包含着历史的相关数据,如结束的流程实例,变量,任务等等。
备注:①none: 不保存任何历史记录,可以提高系统性能;②activity:保存所有的流程实例、任务、活动信息;③audit:也是Activiti的默认级别,保存所有的流程实例、任务、活动、表单属性;④full:最完整的历史记录,除了包含audit级别的信息之外还能保存详细,例如:流程变量。
二、数据库的表结构
注意:表格中标黄的都本文已有详设的数据表
通用数据库(ACT_GE_*)各种情况都使用的数据。
数据表 | 描述 |
ACT_GE_PROPERTY | 属性表(保存流程引擎的kv键值属性)-- PropertyEntityImpl,二进制数据表,存储通用的流程定义和流程资源。 |
ACT_GE_BTYEARRAY | 资源表(存储流程定义相关的资源)-- ByteArrayEntityImpl,系统相关属性,属性数据表存储整个流程引擎级别的数据,初始化表结构时,会默认插入三条记录。 |
流程定义存储表(ACT_RE_*)
数据表 | 描述 |
ACT_RE_DEPLOYMENT | 流程部署表--DeploymentEntityImpl |
ACT_RE_PROCDEF | 流程定义信息表--ProcessDefinitionEntityImpl |
ACT_RE_MODEL | 模型信息表 (用于Web设计器)--ModelEntityImpl |
ACT_PROCDEF_INFO | 流程定义动态改变信息表-- ProcessDefinitionInfoEntityImpl |
身份数据表(ACT_ID_*)
数据表 | 描述 |
ACT_ID_USER | 用户基本信息表--UserEntityImpl |
ACT_ID_INFO | 用户扩展表--IdentityInfoEntityImpl |
ACT_ID_GROUP | 群组表(用于Web设计器)--GroupEntityImpl |
ACT_ID_MEMBERSHIP | 用户与群主关系表--MemberShipEntityImpl |
ACT_ID_BYTEARRAY | 二进制数据表(flowable)-- |
ACT_ID_PRIV | 权限表(flowable)-- |
ACT_ID_PRIV_MAPPING | 用户或组权限关系表(flowable)-- |
ACT_ID_PROPERTY | 属性表(flowable)-- |
ACT_ID_TOKEN | 系统登录日志表(flowable)-- |
运行时流程数据表(ACT_RU_*)
数据表 | 描述 |
ACT_RU_EXECUTION | 流程实例与分支执行表--ExecutionEntityImpl |
ACT_RU_TASK | 用户任务表--TaskEntityImpl |
ACT_RU_VARIABLE | 变量信息--VariableInstanceEntityImpl |
ACT_RU_IDENTITYLINK | 参与者相关信息表--IdentityLinkEntityImpl |
ACT_RU_EVENT_SUBSCR | 事件订阅表--EventSubscriptionEntityImpl |
ACT_RU_JOB | 作业表--JobEntityImpl |
ACT_RU_TIMER_JOB | 定时器表--TimerJobEntityImpl |
ACT_RU_SUSPENDED_JOB | 暂停作业表--SuspendedJobEntityImpl |
ACT_RU_DEADLETTER_JOB | 死信表--DeadLetterJobEntityImpl |
ACT_RU_HISTORY_JOB | 历史作业表(flowable)-- |
历史流程数据表(ACT_HI_*)
数据表 | 描述 |
ACT_HI_PROCINST | 历史流程实例表 --HistoricProcessInstanceEntityImpl |
ACT_HI_ACTINST | 历史节点信息表 --HistoricActivityInstanceEntityImpl |
ACT_HI_TASKINST | 历史任务表--HistoricTaskInstanceEntityImpl(只记录usertask内容) |
ACT_HI_VARINST | 历史变量--HistoricVariableInstanceEntityImpl |
ACT_HI_IDENTITYLINK | 历史参与者表--HistoricIdentityLinkEntityImpl |
ACT_HI_DETAIL | 历史的流程运行中的细节信息 --HistoricDetailEntityImpl |
ACT_HI_ATTACHMENT | 历史附件表--AttachmentEntityImpl |
ACT_HI_COMMENT | 评论表--CommentEntityImpl |
ACT_EVT_LOG | 事件日志表--EventLogEntryEntityImpl |
- 核心表
部署内容表:act_ge_bytearray
二进制数据表,存储通用的流程定义和流程资源。
值得注意的是:保存流程定义图片和xml、Serializable(序列化)的变量,即保存所有二进制数据,特别注意类路径部署时候,不要把svn等隐藏文件或者其他与流程无关的文件也一起部署到该表中,会造成一些错误(可能导致流程定义无法删除)
字段 | 字段名称 | 默认值 | 是否为空 | 数据类型 | 字段长度 | 键 | 备注 |
ID_ | 主键 | 否 | varchar | 64 | PRI | ||
REV_ | 版本号 | NULL | 是 | int | NULL | version | |
NAME_ | 名称 | NULL | 是 | varchar | 255 | 部署的文件名,如:mail.bpmn、mail.png | |
DEPLOMENT_ID_ | 部署ID | NULL | 是 | varchar | 64 | ACT_RE_DEPLOYMENT | |
BYTES_ | 字节(二进制数据) | NULL | 是 | longblob | 4294967295 | ||
GENERATED_ | 是否系统生成 | NULL | 是 | tinyint | NULL | 0为用户上传;1为系统自动生成(系统自动根据xml生成png) |
属性数据表:act_ge_property
属性数据表。存储整个流程引擎级别的数据。
字段 | 字段名称 | 默认值 | 是否为空 | 数据类型 | 字段长度 | 键 | 备注 |
ID_ | 主键 | 否 | varchar | 64 | PRI | ||
REV_ | 版本号 | NULL | 是 | int | NULL | version | |
NAME_ | 名称 | NULL | 是 | varchar | 255 | 部署的文件名,如:mail.bpmn、mail.png、mail.bpmn20.xml | |
VALUE_ | 值 | NULL | 是 | varchar | 400 |
部署ID表:act_re_deployment
字段 | 字段名称 | 默认值 | 是否为空 | 数据类型 | 字段长度 | 键 | 备注 |
ID_ | 主键 | 否 | varchar | 64 | PRI | ||
NAME_ | 名称 | NULL | 是 | varchar | 255 | ||
CATEGORY_ | 分类 | NULL | 是 | varchar | 255 | ||
TENANT_ID_ | 租户 | 是 | varchar | 255 | |||
DEPLOY_TIME | 部署时间 | NULL | 是 | timestamp | NULL | ||
注: 1.部署流程定义时需要被持久保存下来的信息。 |
流程设计模型部署表: act_re_model .
流程设计器设计流程后,保存数据到该表。
字段 | 字段名称 | 默认值 | 是否为空 | 数据类型 | 字段长度 | 键 | 备注 |
ID_ | 主键 | 否 | varchar | 64 | PRI | ||
REV_ | 版本号 | 是 | int | NULL | veision | ||
CATEGORY_ | 分类 | NULL | 是 | varchar | 255 | 流程定义Namespace就是类别 | |
NAME_ | 名称 | NULL | 是 | varchar | 255 | ||
KEY_ | 标识 | 否 | varchar | 255 | MUL | ||
VERSION_ | 版本 | 否 | int | NULL | |||
CREATE_TIME_ | 创建时间 | NULL | 是 | datetime | |||
LAST_UPDATE_TIME_ | 最新修改时间 | NULL | 是 | datetime | |||
META_INFO_ | 流程信息 | NULL | 是 | varchar | 255 | 以json格式保存流程定义的信息 | |
DEPLOYMENT_ID_ | 部署ID | NULL | 是 | varchar | 255 | ||
EDITOR_SOURCE_VALUE_ID_ | NULL | 是 | datetime | NULL | |||
EDITOR_SOURCE_EXTRA_VALUE_ID_ | NULL | 是 | datetime | NULL |
流程表:act_re_procdef
业务流程定义数据表。此表和 ACT_RE_DEPLOYMENT 是多对一的关系,即,一个部署的bar包里可能包含多个流程定义文件,每个流程定义文件都会有一条记录在 ACT_REPROCDEF 表内,每个流程定义的数据,都会对于 ACT_GE_BYTEARRAY 表内的一个资源文件和 PNG 图片文件。和 ACT_GE_BYTEARRAY 的关联是通过程序用ACT_GE_BYTEARRAY.NAME 与 ACT_RE_PROCDEF.NAME 完成的,在数据库表结构中没有体现。
字段 | 字段名称 | 默认值 | 是否为空 | 数据类型 | 字段长度 | 键 | 备注 |
ID_ | 主键 | 否 | varchar | 64 | PRI | ||
REV_ | 版本号 | 是 | int | NULL | veision | ||
CATEGORY_ | 分类 | NULL | 是 | varchar | 255 | 流程定义Namespace就是类别 | |
NAME_ | 名称 | NULL | 是 | varchar | 255 | ||
KEY_ | 标识 | 否 | varchar | 255 | MUL | ||
VERSION_ | 版本 | 否 | int | NULL | |||
DEPLOYMENT_ID_ | 部署ID | NULL | 是 | varchar | 64 | ||
RESOURCE_NAME_ |