产品管理

Activiti6 - 第二篇:Activit数据库设计

2020-05-25  本文已影响0人  Tian_Peng

概述

在流程的产生、执行及结束等周期,都会产生各种与流程相关的数据,Activiti提供了一整套数据表来保存这些数据。
Activiti流程引擎的数据表分为5大类,每一类的数据表均有不同的职责,Avtiviti为数据表的命名制定了规范,不同职责的数据表均可以通过命名来体现,例如运行时数据表会以act_run作为开头,历史数据表以act_hi作为开头等

通用数据表

通用数据表用于存放一些通用的数据,这些表本身不关心特定的流程或者业务,只保存这些业务或者流程所使用的通用资源。
它可以独立存在于流程引擎或者应用系统中,其他的数据表有可能会使用这些表中的数据,通用数据表有2个,他们都以act_ge开头,ge是general的缩写

字段名 解释
REV_ 数据版本,Activiti为一些有可能会被频繁修改的数据表加入该字段,用来表示数据库被操作的次数
NAME_ 资源名称,类型为varchar(255)
DEPLOYMENT_ID_ 一次部署可以添加多个资源,该字段与部署表act_re_deployment的主键相关联
BYTES_ 资源内容,数据类型为longblob,最大可存储4GB数据
GENERATED_ 是否由Activit自动生成的资源,0:false 1:true
字段名 解释
NAME_ 属性名称,varchar(64)
VALUE_ 属性值,varchar(300)
REV_ 数据的版本号

流程存储表

流程引擎使用存储表来保存流程定义和部署信息这类数据,存储表名称以act_re开头,re是repository的缩写。

字段名 解释
NAME_ 部署的名称,可以调用Activiti的流程存储API来设置,类型为varchar(255)
DEPLOYMENT_TIME_ 部署时间,类型为timestamp

以上字段除了NAME_可以不设置值外,其他字段在数据写入时必须设置值。

字段名 解释
CATEGORY_ 流程定义的分类,读取流程xml文件中的targetNamespace值
NAME_ 流程定义名称,读取流程文件中的process元素的name属性
KEY_ 流程定义的key,读取流程文件中的process元素的id属性
DEPLOYMENT_ID_ 流程定义对应的部署数据ID
RESOURCE_NAME_ 流程定义对应的资源名
DGRM_RESOURCE_NAME_ 流程定义对应的流程图资源名称
SUSPENSION_STATE_ 表示流程定义的状态是激活还是中止,激活状态时字段值为1,中止状态时字段为2,中止状态下流程不能被启动

身份数据表

Activit的整个身份数据模块可以独立于流程引擎而存在,有关身份数据的几张表,并没有保存于流程相关的数据及关联,身份表名称以act_id开头,id是identity的缩写

字段名 解释
FIRST_ 人名
LAST_ 姓氏
EMAIL_ 邮箱
PWD_ 密码
PICTURE_ID_ 用户图片,对应资源表中的数据ID
字段名 解释
USER_ID_ 对应用户表中的数据ID,没有强制做外键关联
TYPE_ 信息类型,可设置用户账号(account)、用户信息(userinfo)和null三种值
KEY_ 数据的键,可以根据该键来查询用户信息的值
VALUE_ 数据的值,varchar(255)
PASSWORD_ 用户账户的密码字段,当前版本Activiti没有使用
PARENT_ID_ 该信息的父信息ID,实现自关联
字段名 解释
NAME_ 用户组名称
TYPE_ 用户组类型
字段名 解释
USER_ID_ 用户ID
GROUP_ID_ 用户组ID

运行时数据表

运行时数据表用来保存流程在运行过程中产生的数据,例如流程实例、执行流、任务等,运行时数据表的名称以act_ru开头,ru是runtime的缩写

字段名 解释
PROC_INST_ID_ 流程实例ID,一个流程实例可能产生多个执行流,该字段表示执行流所属的流程实例
BUSINESS_KEY_ 启动流程是指定的业务主键
PARENT_ID_ 父执行流的ID,一个流程实例可能会产生执行流,该字段保存父执行流ID
PROC_DEF_ID_ 流程定义数据的ID
ACT_ID_ 当前执行流行为的ID,ID在流程文件中定义
IS_ACTIVE_ 该执行流是否活跃的标识
IS_CONCURRENT_ 执行流是否正在并行
SUSPENSION_STATE_ 标识流程的中断状态
字段名 解释
EXECUTION_ID_ 任务所在执行流ID
PROC_INST_ID_ 对应的流程实例ID
PROC_DEF_ID_ 对应的流程定义数据的ID
NAME_ 任务名称,在流程文件中定义
DESCRIPTION_ 任务描述,在流程定义文件中配置
TASK_DEF_KEY_ 任务定义的ID值,在流程文件中定义
OWNER_ 任务拥有人,没有做外键关联
ASSIGNEE_ 被指派执行该任务的人,没有做外键关联
PRIORITY_ 任务优先级数值
DUE_DATE_ 任务预定日志,数据类型datetime
字段名 解释
TYPE_ 参数类型,该字段可以为booleanbytesserializalbedatedobuleintegerjpa-entitylongnullshortstring
NAME_ 参数名称
EXECUTION_ID_ 该参数对应的ID,可以为null
PROC_INST_ID_ 该参数对应的流程实例ID,可以为null
TASK_ID_ 如果该参数为任务参数,就需要设置任务ID
BYTEARRAY_ID_ 如果该参数值是序列化对象,那么可以将该对象作为资源保存到资源表中,该字段保存资源表中数据的ID
DOUBLE_ 参数类型为double的话,则值会保存到该字段中
LONG_ 参数类型为long的话,则值会保存到该字段中
TEXT_ 用于保存文本类型的参数值,参数类型:varchar(4000)
TEXT2_ 与TEXT_字段一样,用于保存文本类型的参数值
字段名 解释
GROUP_ID_ 用户组ID
TYPE_ 类型,3个可选值:assignee(指派人/组)、candidate(候选人/组)、owner(拥有人)
USER_ID_ 用户ID
TASK_ID_ 任务ID
PROC_DEF_ID_ 流程定义ID
字段名 解释
EVENT_TYPE_ 事件类型,不同的事件会产生不同类型的事件描述,但并不是说有的事件都会产生事件描述
EVENT_NAME_ 事件名称,在流程文件中定义
EXECUTION_ID_ 事件所在的执行流ID
PROC_INST_ID_ 事件所在的流程实例ID
ACTIVITY_ID_ 具体事件的ID,在流程文件中定义
CONFIGURATION_ 事件的配置属性,该字段中有可能存放流程定义ID、执行流ID或者其他数据

历史数据表

历史数据表就好像流程引擎的日志表,操作过的流程元素将会被记录到历史数据表中,历史数据表名称以act_hi开头,hi是history的缩写。

字段名 解释
START_ACT_ID_ 开始活动的ID,一般是流程开始事件的ID,在流程文件中定义
END_ACT_ID_ 流程最后一个活动的ID,一般是流程结束事件的ID,在流程文件中定义
DELETE_REASON_ 流程实例被删除的原因

此表其他字段与与形式流程实例表字段类似

字段名 解释
USER_ID_ 附件对应的用户ID
NAME_ 附件名称
DESCRIPTION_ 附件描述
TYPE_ 附件类型
TASK_ID_ 该附件对应的任务ID
PROC_INST_ID_ 对应的流程实例ID
URL_ 连接到该附件的url
CONTENT_ID_ 附件内容ID,附件的内容将会被保存到资源表中,该字段记录资源数据ID

act_hi_comment表实际不只保存评论数据,它还会保存某些事件数据,但它的表名为comment,因此更倾向把它叫做评论表,主要字段如下:

字段名 解释
TYPE_ 评论的内容
TIME_ 数据产生的时间(datetime)
USER_ID_ 产生评论数据的用户ID
TASK_ID_ 该评论数据的任务ID
PROC_INST_ID_ 该数据对应的流程实例ID
ACTION_ 该评论数据的操作标识
MESSAGE_ 该评论数据的信息
FULL_MSG_ 该字段同样记录评论数据的信息

虽然附件表和评论表的命名遵循历史数据表的命名规范(以act_hi开头),但是可以调用其他组件的API往这两个表中写入数据。

上一篇 下一篇

猜你喜欢

热点阅读