数据库设计规则

表分类 描述 说明
ACTGE* 通用数据表(GE 代表 General)
ACTRE* 流程定义存储表 (RE 代表 Repository) 保存一些 ‘静态’信息,如流程定义和流程资源(如图片、规则等);
ACTID* 身份信息表 (ID 代表 Identity)
ACTRU* 运行时记录表 (RU 代表 Runtime) 并且当流程结束后会立即移除这些数据,
这是为了保证运行时表尽量的小并运行的足够快;
ACTHI* 历史数据表 (HI 代表 History) Activiti提供4中历史级别
none: 不保存任何历史记录,可以提高系统性能;
activity:保存所有的流程实例、任务、活动信息;
audit:也是Activiti的默认级别,保存所有的流程实例、任务、活动、表单属性;
full: 最完整的历史记录,除了包含audit级别的信息之外还能保存详细,例如:流程变量。

1. 通用数据表(ACTGE*)

1.1. ACT_EVT_LOG(事件日志表)

字段 类型 长度 是否必填 描述
LOGNR bigint 20 主键自增
TYPE_ varchar 64 类型
PROCDEF_ID varchar 64 流程定义ID
PROCINST_ID varchar 64 流程实例ID
EXECUTIONID varchar 64 执行ID
TASKID varchar 64 任务ID
TIMESTAMP timestamp 时间
USERID varchar 255 用户ID
DATA_ longblob 内容
LOCKOWNER varchar 255 锁定节点
LOCKTIME timestamp 锁定时间
ISPROCESSED tinyint 4 是否正在执行, 默认 0

1.2. ACT_GE_PROPERTY(属性表)

属性抽象成为key-value对,使用该表来保存这些属性。

字段 类型 长度 是否必填 描述
NAME_ varchar 64 属性名称
VALUE_ varchar 300 属性值
REV_ int 11 数据版本号

1.3. ACT_GE_BYTEARRAY(资源表)

保存流程定义图片和xml、Serializable(序列化)的变量,即保存所有二进制数据,特别注意类路径部署时候,不要把svn等隐藏文件或者其他与流程无关的文件也一起部署到该表中,会造成一些错误(可能导致流程定义无法删除)。

字段 类型 长度 是否必填 描述
ID_ varchar 64 主键
REV_ int 11 数据版本号
NAME_ varchar 255 资源名称
DEPLOYMENTID varchar 64 ACT_RE_DEPLOYMENT部署表的主键。
一次部署可以关联多个资源
BYTES_ longblob 资源内容,数据类型为longblob,最大可存储4GB的数据
GENERATED_ tinyint 是否为自动产生的资源, 0-false,1-true

2. 流程定义存储表(ACTRE*)

2.1. ACT_RE_DEPLOYMENT(部署数据表)

字段 类型 长度 是否必填 描述
ID_ varchar 64 主键
NAME_ varchar 255 部署名称
CATEGORY_ varchar 255 分类
KEY_ varchar 255 关键字
TENANTID varchar 255 租户ID
DEPLOYTIME timestamp 部署时间

2.2. ACT_RE_MODEL(模型信息表)

字段 类型 长度 是否必填 描述
ID_ varchar 64 主键
REV_ int 11 数据版本号
NAME_ varchar 255 模型名称
KEY_ varchar 255 模型关键字 (流程引擎使用)
CATEGORY_ varchar 255 模型分类
CREATETIME timestamp 创建时间
LASTUPDATE_TIME timestamp 最后修改时间
VERSION_ int 11 模型版本
METAINFO varchar 4000 数据源信息(以json格式保存流程定义的信息)
DEPLOYMENTID varchar 64 部署ID,ACT_RE_DEPLOYMENT > ID
EDITORSOURCE_VALUE_ID varchar 64 编辑源值ID
EDITORSOURCE_EXTRA_VALUE_ID varchar 64 编辑源扩展值ID
TENANTID varchar 255 租户ID

2.3. ACT_RE_PROCDEF(流程定义表)

字段 类型 长度 是否必填 描述
ID_ varchar 64 主键(组合主键)
REV_ int 11 数据版本号
CATEGORY_ varchar 255 流程命名空间分类 (流程定义的Namespace)
NAME_ varchar 255 流程定义名称 (文件process元素的name属性值)
KEY_ varchar 255 流程定义key (文件process元素的id属性值)
VERSION_ int 11 流程定义的版本
DEPLOYMENTID varchar 64 关联部署表主键
RESOURCENAME varchar 4000 流程定义的对应的资源名称,一般为文件相对路径
DGRMRESOURCE_NAME varchar 4000 流程定义的对应流程图的资源名称
(流程bpmn文件名称)
DESCRIPTION_ varchar 4000 流程定义描述
HASSTART_FORM_KEY tinyint 4 是否存在开始表单标记
0-否 , 1-是
HASGRAPHICAL_NOTATION tinyint 4 是否有图形信息
SUSPENSIONSTATE int 11 挂起状态 1正常 2-挂起
TENANTID varchar 25 租户ID
ENGINEVERSION varchar 255 引擎版本

2.4. ACT_PROCDEF_INFO(流程定义扩展表)

字段 类型 长度 描述
ID_ varchar 64 主键
PROCDEF_ID varchar 64 流程定义ID
外键:ACT_RE_PROCDEF
REV_ int 11 版本号
INFOJSON_ID varchar 64 内容,资源表ID
外键:ACT_GE_BYTEARRAY

3. 身份数据表

3.1. ACT_ID_USER(用户信息表)

字段 类型 长度 是否必填 描述
ID_ varchar 64 主键
REV_ int 11 数据版本号
FIRST_ varchar 255 用户名称
LAST_ varchar 255 用户姓氏
EMAIL_ varchar 255 用户邮箱
PWD varchar 255 用户密码
PICTUREID varchar 64 用户头像图片,对应资源表的数据ID

3.2. ACT_ID_INFO(用户扩展信息表)

字段 类型 长度 是否必填 描述
ID_ varchar 64 主键
REV_ int 11 数据版本号
USERID varchar 64 用户ID(用户表主键)
TYPE_ varchar 64 信息类型
account - 用户的帐号
userinfo - 用户信息
KEY_ varchar 255 数据的键
VALUE_ varchar 255 数据的值
PASSWORD_ longblob 用户帐号的密码字段
注:当前Activiti并没有使用该字段
PARENTID varchar 255 该信息的父信息ID

3.3. ACT_ID_GROUP(用户组表)

字段 类型 长度 是否必填 描述
ID_ varchar 64 主键
REV_ int 11 数据版本号
NAME_ varchar 255 组名称
TYPE_ varchar 255 组类型

3.4. ACT_ID_MEMBERSHIP(用户与组关系表)

字段 类型 长度 是否必填 描述
USERID varchar 64 用户ID(用户表主键)
GROUPID varchar 64 用户组ID(用户组表主键)

4.运行时流程数据表

4.1. ACT_RU_EXECUTION(运行时流程实例执行实例表)

字段 类型 长度 是否必填 描述
ID_ varchar 64 主键
REV_ int 11 数据版本号
PROCINST_ID varchar 64 流程实例ID
一个流程实例有可能会产生多个执行流,该字段表示执行流所属的流程实例
BUSINESSKEY varchar 255 启动流程时指定的业务主键。(一般存业务表主键)
PARENTID varchar 64 父流程实例ID,
一个流程实例有可能会产生执行流,新的执行流数据以该字段标识其所属的流程实例。
PROCDEF_ID varchar 64 流程定义ID
SUPEREXEC varchar 64 外部子流程
ROOTPROC_INST_ID varchar 64
ACTID varchar 255 当前执行流ID, ID在流程文件中定义。
ISACTIVE tinyint 4 激活状态 0非 1 是
ISCONCURRENT tinyint 4 并发状态 0非 1 是
ISSCOPE tinyint 4 是否主流程实例 0非 1 是
ISEVENT_SCOPE tinyint 4 是事件 0非 1 是
ISMI_ROOT tinyint 4
SUSPENSIONSTATE int 11 挂起状态 1-正常 2-挂起
CACHEDENT_STATE int 11 流程实体的缓存,取值为0~7
TENANTID varchar 255 租户ID
NAME_ varchar 255 名称
STARTTIME datetime 启动时间
STARTUSER_ID varchar 255 启动用户
LOCKTIME timestamp 锁定时间
ISCOUNT_ENABLED tinyint 4
EVTSUBSCR_COUNT int 11
TASKCOUNT int 11
JOBCOUNT int 11
TIMERJOB_COUNT int 11
SUSPJOB_COUNT int 11
DEADLETTERJOB_COUNT int 11
VARCOUNT int 11
IDLINK_COUNT int 11

4.2. ACT_RU_TASK(用户任务表)

字段 类型 长度 是否必填 描述
ID_ varchar 64 主键
REV_ int 11 数据版本号
EXECUTIONID varchar 64 执行流ID
PROCINST_ID varchar 64 流程实例ID
PROCDEF_ID varchar 64 流程定义ID
NAME_ varchar 64 任务名称 (在流程文件中定义)
PARENTTASK_ID varchar 64 父任务ID (子任务才会设置该字段的值)
DESCRIPTION_ varchar 4000 任务描述 (在流程文件中配置)
TASKDEF_KEY varchar 255 任务定义的ID值,(在流程文件中定义)
OWNER_ varchar 255 任务拥有人 (无外键关联)
ASSIGNEE_ varchar 255 代理人,被指派执行该任务的人 (无外键关联)
DELEGATION_ varchar 64 任务委托状态
PENDING - 委托中
RESOLVED - 已处理
PRIORITY_ int 11 任务优先级,默认为50
CREATETIME timestamp 创建时间
DUEDATE datetime 任务预订日期
CATEGORY_ varchar 类型
SUSPENSIONSTATE int 11 暂停状态 1-正常 2-挂起
TENANTID varchar 255 租户ID
FORMKEY varchar 255 表单ID
CLAIMTIME datetime 签收时间

4.3. ACT_RU_VARIABLE(流程参数数据表)

字段 类型 长度 是否必填 描述
ID_ varchar 64 主键
REV_ int 11 数据版本号
TYPE_ varchar 255 参数类型,不为空
可选值:boolean. bytes、serializable. date. double、 integer、jpa-entity、long、 null、 short 、string
以上字段值由Activiti 提供,也可自定义扩展类型
NAME_ varchar 255 参数名称
EXECUTIONID varchar 64 对应的执行ID
PROCINST_ID varchar 64 对应的流程实例ID
TASKID varchar 64 任务ID (若是任务参数,则需要设置)
BYTEARRAYID varchar 64 资源表ID
(若参数值是序列化对象,可将该对象作为资源保存到资源表中)
DOUBLE_ double 参数类型为double,则值会保存到该字段中
LONG_ bigint 20 参数类型为long, 则值会保存到该字段中。
TEXT_ varchar 4000 用于保存文本类型的参数值,该字段为varchar 类型,长度为4 000。
TEXT2_ varchar 4000 文本类型的参数值。

4.4. ACT_RU_IDENTITYLINK(参与者信息表)

字段 类型 长度 是否必填 描述
ID_ varchar 64 主键
REV_ int 11 数据版本号
GROUPID varchar 255 用户组ID
TYPE_ varchar 255 该关系数据的类型,当前提供了3个值:
assignee、 candidate和owner, 表示流程数据的指派人(组)、候选人(组)和拥有人
USERID varchar 255 用户ID
TASKID varchar 64 任务ID
PROCINST_ID varchar 64 流程实例ID
PROCDEF_ID varchar 64 流程定义ID

4.5. ACT_RU_EVENT_SUBSCR(运行时事件表)

字段 类型 长度 是否必填 描述
ID_ varchar 64 主键
REV_ int 11 数据版本号
EVENTTYPE varchar 255 事件类型,message,signal
EVENTNAME varchar 255 事件名称
EXECUTIONID varchar 64 流程执行ID
PROCINST_ID varchar 64 流程实例ID
ACTIVITYID varchar 64 时间活动ID
CONFIGURATION_ varchar 255 属性配置信息
CREATED_ timestamp 创建时间
PROCDEF_ID varchar 64 流程定义ID
TENANTID varchar 255 租户ID

4.6. ACT_RU_JOB(运行作业信息表)

字段 类型 长度 是否必填 描述
ID_ varchar 64 主键
REV_ int 11 数据版本号
TYPE_ varchar 255 类型,值为message或timer
LOCKEXP_TIME timestamp 锁定的结束时间
LOCKOWNER varchar 255 挂起者,锁定标识,默认为UUID
EXCLUSIVE_ tinyint 1 是否唯一
EXECUTIONID varchar 64 执行实例ID
PROCESSINSTANCE_ID varchar 64 流程实例ID
PROCDEF_ID varchar 64 流程定义ID
RETRIES_ int 11 工作的剩余执行次数,默认值为3
EXCEPTIONSTACK_ID varchar 64 异常堆栈(资源表ID)
EXCEPTIONMSG varchar 4000 异常信息
DUEDATE_ timestamp 工作执行时间
REPEAT_ varchar 255 工作重复执行次数
HANDLERTYPE varchar 255 处理器类型
HANDLERCFG varchar 4000 处理器配置
TENANTID varchar 255 租户ID

4.7. ACT_RU_DEADLETTER_JOB(无法执行工作表)

字段 类型 长度 是否必填 描述
ID_ varchar 64 主键
REV_ int 11 数据版本号
TYPE_ varchar 255 类型,值为message或timer
EXCLUSIVE_ tinyint 1 是否唯一
EXECUTIONID varchar 64 执行实例ID
PROCESSINSTANCE_ID varchar 64 流程实例ID
PROCDEF_ID varchar 64 流程定义ID
EXCEPTIONSTACK_ID varchar 64 异常堆栈(资源表ID)
EXCEPTIONMSG varchar 4000 异常信息
DUEDATE_ timestamp 工作执行时间
REPEAT_ varchar 255 工作重复执行次数
HANDLERTYPE varchar 255 处理器类型
HANDLERCFG varchar 4000 处理器配置
TENANTID varchar 255 租户ID

4.8. ACT_RU_SUSPENDED_JOB(暂停表)

字段 类型 长度 是否必填 描述
ID_ varchar 64 主键
REV_ int 11 数据版本号
TYPE_ varchar 255 类型,值为message或timer
EXCLUSIVE_ tinyint 1 是否唯一
EXECUTIONID varchar 64 执行实例ID
PROCESSINSTANCE_ID varchar 64 流程实例ID
PROCDEF_ID varchar 64 流程定义ID
RETRIES_ int 11 工作的剩余执行次数,默认值为3
EXCEPTIONSTACK_ID varchar 64 异常堆栈(资源表ID)
EXCEPTIONMSG varchar 4000 异常信息
DUEDATE_ timestamp 工作执行时间
REPEAT_ varchar 255 工作重复执行次数
HANDLERTYPE varchar 255 处理器类型
HANDLERCFG varchar 4000 处理器配置
TENANTID varchar 255 租户ID

4.9. ACT_RU_TIMER_JOB(定时器表)

字段 类型 长度 是否必填 描述
ID_ varchar 64 主键
REV_ int 11 数据版本号
TYPE_ varchar 255 类型,值为message或timer
LOCKEXP_TIME timestamp 锁定的结束时间
LOCKOWNER varchar 255 挂起者,锁定标识,默认为UUID
EXCLUSIVE_ tinyint 1 是否唯一
EXECUTIONID varchar 64 执行实例ID
PROCESSINSTANCE_ID varchar 64 流程实例ID
PROCDEF_ID varchar 64 流程定义ID
RETRIES_ int 11 工作的剩余执行次数,默认值为3
EXCEPTIONSTACK_ID varchar 64 异常堆栈(资源表ID)
EXCEPTIONMSG varchar 4000 异常信息
DUEDATE_ timestamp 工作执行时间
REPEAT_ varchar 255 工作重复执行次数
HANDLERTYPE varchar 255 处理器类型
HANDLERCFG varchar 4000 处理器配置
TENANTID varchar 255 租户ID

5. 历史数据表

5.1. ACT_HI_PROCINST(历史流程实例信息表)

与正在运行中的流程实例表act_ru_execution正好对应

字段 类型 长度 是否必填 描述
ID_ varchar 64 主键
PROCINST_ID varchar 64 流程实例ID
BUSINESSKEY varchar 255 业务主键标识
PROCDEF_ID varchar 64 流程定义ID
STARTTIME datetime 开始时间
ENDTIME datetime 结束时间
DURATION_ bigint 20 时长
STARTUSER_ID varchar 255 发起人ID
STARTACT_ID varchar 255 开始节点ID
ENDACT_ID varchar 255 结束节点ID
SUPERPROCESS_INSTANCE_ID varchar 64 超级流程实例ID
DELETEREASON varchar 4000 删除理由
TENANTID varchar 255 租户ID
NAME_ varchar 255 名称

5.2. ACT_HI_DETAIL(流程明细表)

字段 类型 长度 是否必填 描述
ID_ varchar 64 主键
TYPE_ varchar 255 数据类型:
FormProperty, //表单
VariableUpdate //参数
PROCINST_ID varchar 64 流程实例ID
EXECUTIONID varchar 64 执行流程ID
TASKID varchar 64 任务ID
ACTINST_ID varchar 64 活动实例Id
NAME_ varchar 255 名称
VARTYPE varchar 255 变量类型
对应流程文件标签
示例:startEvent、userTask
REV_ int 11 数据版本号
TIME_ datetime 创建时间
BYTEARRAYID varchar 64 字节数组ID
DOUBLE_ double 存储Double类型变量
LONG_ bigint 20 存储long类型变量
TEXT_ varchar 4000
TEXT2_ varchar 4000

5.3. ACT_HI_ACTINS(历史节点表)

字段 类型 长度 是否必填 描述
ID_ varchar 64 主键
PROCDEF_ID varchar 64 流程定义ID
PROCINST_ID varchar 64 流程实例ID
EXECUTIONID varchar 255 执行流ID
ACTID varchar 255 流程活动的ID, 在流程文件中定义
TASKID varchar 255 任务ID
CALLPROC_INST_ID varchar 64 请求流程实例ID
调用外部流程的流程实例ID’
ACTNAME varchar 255 活动的名称
ACTTYPE varchar 255 活动类型,
例如开始事件,活动名称为startEvent
ASSIGNEE_ varchar 255 活动指派人
STARTTIME datetime 活动开始时间,即执行流到达活动时的时间
ENDTIME datetime 活动结束时间,即执行流离开该活动时的时间
DURATION_ bigint 20 耗时,毫秒值
DELETEREASON varchar 4000 删除原因
TENANTID varchar 255 租户ID

5.4. ACT_HI_TASKINST(历史任务流程实例信息)

字段 类型 长度 是否必填 描述
ID_ varchar 64 主键
PROCDEF_ID varchar 64 流程定义ID
TASKDEF_KEY varchar 255 节点定义ID
PROCINST_ID varchar 64 流程实例ID
EXECUTIONID varchar 64 执行实例ID
NAME_ varchar 255 名称
PARENTTASK_ID varchar 64 父节点实例ID
DESCRIPTION_ varchar 4000 描述
OWNER_ varchar 255 任务拥有人
ASSIGNEE_ varchar 255 代理人
STARTTIME datetime 开始时间
CLAIMTIME datetime 提醒时间
ENDTIME 结束时间
DURATION_ bigint 20 时长
DELETEREASON varchar 4000 删除理由
PRIORITY_ int 11 优先级
DUEDATE datetime 应完成时间
FORMKEY varchar 255 表单key
CATEGORY_ varchar 255 分类
TENANTID varchar 255 租户ID

5.5. ACT_HI_IDENTITYLINK(历史流程人员表)

字段 类型 长度 是否必填 描述
ID_ varchar 64 主键
GROUPID varchar 64 用户组ID(用户组表主键)
TYPE_ varchar 255 用户组类型
主要分为:ssignee、candidate、
owner、starter 、participant
USERID varchar 255 用户ID
TASKID varchar 64 任务ID
PROCINST_ID varchar 64 流程实例ID

5.6. ACT_HI_COMMENT(历史审批意见表)

字段 类型 长度 是否必填 描述
ID_ varchar 64 主键
GROUPID varchar 64 用户组ID(用户组表主键)
TYPE_ varchar 255 类型
event -事件
comment - 意见
USERID varchar 255 用户ID
TASKID varchar 64 任务ID
PROCINST_ID varchar 64 流程实例ID
ACTION_ varchar 255 行为类型
值为下列内容中的一种:
AddUserLink、DeleteUserLink、AddGroupLink、DeleteGroupLink、AddComment、AddAttachment、DeleteAttachment
MESSAGE_ varchar 4000 处理意见,例如审批意见
FULLMSG longblob 全部消息

5.7. ACT_HI_VARINST(历史变量信息)

与运行中的参数存储表“act_ru_variable”正好对应。

字段 类型 长度 是否必填 描述
ID_ varchar 64 主键
PROCINST_ID varchar 64 流程实例ID
EXECUTIONID varchar 64 执行ID
TASKID varchar 64 任务ID
NAME_ varchar 255 名称
VARTYPE varchar 100 变量类型
REV_ int 11 数据版本号
BYTEARRAYID varchar 64 对应资源表ID
DOUBLE_ double 存储double类型参数
LONG_ bigint 20 存储long类型参数
TEXT_ varchar 4000
TEXT2_ varchar 4000
CREATETIME datetime 创建时间
LASTUPDATED_TIME datetime 最后修改时间