Activiti数据库表结构(表详细版)

http://blog.csdn.net/hj7jay/article/details/51302829

1  Activiti数据库表结构

1.1      数据库表名说明

Activiti工作流总共包含23张数据表,所有的表名默认以“ACT_”开头。

并且表名的第二部分用两个字母表明表的用例,而这个用例也基本上跟Service API匹配。

u  ACT_GE_* : “GE”代表“General”(通用),用在各种情况下;

u  ACT_HI_* : “HI”代表“History”(历史),这些表中保存的都是历史数据,比如执行过的流程实例、变量、任务,等等。Activit默认提供了4种历史级别:

Ø  none: 不保存任何历史记录,可以提高系统性能;

Ø  activity:保存所有的流程实例、任务、活动信息;

Ø  audit:也是Activiti的默认级别,保存所有的流程实例、任务、活动、表单属性;

Ø  full:最完整的历史记录,除了包含audit级别的信息之外还能保存详细,例如:流程变量。

对于几种级别根据对功能的要求选择,如果需要日后跟踪详细可以开启full

u  ACT_ID_* : “ID”代表“Identity”(身份),这些表中保存的都是身份信息,如用户和组以及两者之间的关系。如果Activiti被集成在某一系统当中的话,这些表可以不用,可以直接使用现有系统中的用户或组信息;

u  ACT_RE_* : “RE”代表“Repository”(仓库),这些表中保存一些‘静态’信息,如流程定义和流程资源(如图片、规则等);

u  ACT_RU_* : “RU”代表“Runtime”(运行时),这些表中保存一些流程实例、用户任务、变量等的运行时数据。Activiti只保存流程实例在执行过程中的运行时数据,并且当流程结束后会立即移除这些数据,这是为了保证运行时表尽量的小并运行的足够快;

1.2      数据库表结构

1.2.1   Activiti数据表清单:


表分类


表名


解释


一般数据


ACT_GE_BYTEARRAY


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


ACT_GE_PROPERTY


系统相关属性


流程历史记录


ACT_HI_ACTINST


历史的流程实例


ACT_HI_ATTACHMENT


历史的流程附件


ACT_HI_COMMENT


历史的说明性信息


ACT_HI_DETAIL


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


ACT_HI_IDENTITYLINK


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


ACT_HI_PROCINST


历史的流程实例


ACT_HI_TASKINST


历史的任务实例


ACT_HI_VARINST


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


用户用户组表


ACT_ID_GROUP


身份信息-组信息


ACT_ID_INFO


身份信息-组信息


ACT_ID_MEMBERSHIP


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


ACT_ID_USER


身份信息-用户信息


流程定义表


ACT_RE_DEPLOYMENT


部署单元信息


ACT_RE_MODEL


模型信息


ACT_RE_PROCDEF


已部署的流程定义


运行实例表


ACT_RU_EVENT_SUBSCR


运行时事件


ACT_RU_EXECUTION


运行时流程执行实例


ACT_RU_IDENTITYLINK


运行时用户关系信息


ACT_RU_JOB


运行时作业


ACT_RU_TASK


运行时任务


ACT_RU_VARIABLE


运行时变量表

1.2.2表名:ACT_GE_BYTEARRAY(通用的流程定义和流程资源)

用来保存部署文件的大文本数据。

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


ACT_GE_BYTEARRAY(act_ge_bytearray)


是否主键


字段名


字段描述


数据类型


可空


约束


缺省值


取值说明



ID_


主键ID,资源文件编号,自增长


VARCHAR(64)


REV_


版本号


INT(11)



Version


NAME_


部署的文件名称,


VARCHAR(255)



mail.bpmn、mail.png 、mail.bpmn20.xml


DEPLOYMENT_ID_


来自于父表ACT_RE_DEPLOYMENT的主键


VARCHAR(64)



部署的ID


BYTES_


大文本类型,存储文本字节流


LONGBLOB



GENERATED_


是否是引擎生成。


TINYINT(4)



0为用户生成

1为Activiti生成

1.2.3   表名:ACT_GE_PROPERTY(系统相关属性)

属性数据表。存储这个流程引擎级别的数据。


ACT_GE_PROPERTY(act_ge_property)


是否主键


字段名


字段描述


数据类型


长度


可空


约束


缺省值


取值说明



NAME_


属性名称


VARCHAR(64)


64


schema.version

schema.history

next.dbid


VALUE_


属性值


VARCHAR(300)


300



5.*

create(5.*)


REV_INT


版本号


INT(11)


11


1.2.4表名:ACT_HI_ACTINST(历史节点表)

历史活动信息。这里记录流程流转过的所有节点,与HI_TASKINST不同的是,taskinst只记录usertask内容。


ACT_HI_ACTINST(act_hi_actinst)


是否主键


字段名


字段描述


数据类型


可空


约束


取值说明



ID_


ID_


VARCHAR(64)


PROC_DEF_ID_


流程定义ID


VARCHAR(64)


PROC_INST_ID_


流程实例ID


VARCHAR(64)


EXECUTION_ID_


流程执行ID


VARCHAR(64)


ACT_ID_


活动ID


VARCHAR(255)


节点定义ID


TASK_ID_


任务ID


VARCHAR(64)



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


CALL_PROC_INST_ID_


请求流程实例ID


VARCHAR(64)



调用外部流程的流程实例ID‘


ACT_NAME_


活动名称


VARCHAR(255)



节点定义名称


ACT_TYPE_


活动类型


VARCHAR(255)


如startEvent、userTask


ASSIGNEE_


代理人员


VARCHAR(64)



节点签收人


START_TIME_


开始时间


DATETIME


2013-09-15 11:30:00


END_TIME_


结束时间


DATETIME



2013-09-15 11:30:00


DURATION_


时长,耗时


BIGINT(20)



毫秒值

1.2.5   表名:ACT_HI_ATTACHMENT(附件信息)


ACT_HI_ATTACHMENT(act_hi_attachment)


是否主键


字段名


字段描述


数据类型


长度


可空


约束


缺省值


取值说明



ID_


ID_


VARCHAR(64)


64


主键ID


REV_


REV_


INT(11)


11



Version


USER_ID_


用户id


VARCHAR(255)


255



用户ID


NAME_


名称


VARCHAR(255)


255



附件名称


DESCRIPTION_


描述


VARCHAR(4000)


4000



描述


TYPE_


类型


VARCHAR(255)


255



附件类型


TASK_ID_


任务Id


VARCHAR(64)


64



节点实例ID


PROC_INST_ID_


流程实例ID


VARCHAR(64)


64



流程实例ID


URL_


连接


VARCHAR(4000)


4000



附件地址


CONTENT_ID_


内容Id

字节表的ID


VARCHAR(64)


64



ACT_GE_BYTEARRAY的ID

1.2.6   表名:ACT_HI_COMMENT(历史审批意见表)


ACT_HI_COMMENT(act_hi_comment)


是否主键


字段名


字段描述


数据类型


长度


可空


约束


缺省值


取值说明



ID_


ID_


VARCHAR(64)


64


主键ID


TYPE_


意见记录类型,为comment时,为处理意见


VARCHAR(255)


255



类型:event(事件)

comment(意见)


TIME_


记录时间


DATETIME


填写时间


USER_ID_


用户Id


VARCHAR(255)


255



填写人


TASK_ID_


任务Id


VARCHAR(64)


64



节点实例ID


PROC_INST_ID_


流程实例Id


VARCHAR(64)


64



流程实例ID


ACTION_


行为类型。

为addcomment时,为处理意见


VARCHAR(255)


255



值为下列内容中的一种:    AddUserLink、DeleteUserLink、AddGroupLink、DeleteGroupLink、AddComment、AddAttachment、DeleteAttachment


MESSAGE_


处理意见


VARCHAR(4000)


4000



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


FULL_MSG_


全部消息


LONGBLOB


1.2.7表名:ACT_HI_DETAIL(历史详细信息)

历史详情表:流程中产生的变量详细,包括控制流程流转的变量,业务表单中填写的流程需要用到的变量等。


ACT_HI_DETAIL(act_hi_detail)


是否主键


字段名


字段描述


数据类型


长度


可空


约束


缺省值


取值说明



ID_


ID_


VARCHAR(64)


64


主键


TYPE_


数据类型


VARCHAR(255)


255


类型:

FormProperty, //表单

VariableUpdate //参数


PROC_INST_ID_


流程实例ID


VARCHAR(64)


64



流程实例ID


EXECUTION_ID_


执行实例Id


VARCHAR(64)


64



执行实例ID


TASK_ID_


任务Id


VARCHAR(64)


64



任务实例ID


ACT_INST_ID_


活动实例Id


VARCHAR(64)


64



ACT_HI_ACTINST表的ID


NAME_


名称


VARCHAR(255)


255


名称


VAR_TYPE_


变量类型


VARCHAR(255)


255



参见VAR_TYPE_类型说明


REV_


REV_


INT(11)


11



Version


TIME_


创建时间


DATETIME


创建时间


BYTEARRAY_ID_


字节数组Id


VARCHAR(64)


64



ACT_GE_BYTEARRAY表的ID


DOUBLE_


DOUBLE_


DOUBLE



存储变量类型为Double


LONG_


LONG_


BIGINT(20)


20



存储变量类型为long


TEXT_



VARCHAR(4000)


4000



存储变量值类型为String


TEXT2_


值2


VARCHAR(4000)


4000



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

备注:VAR_TYPE_类型说明: jpa-entity、boolean、bytes、serializable(可序列化)、自定义type(根据你自身配置)、 CustomVariableType、date、double、integer、long、null、short、string

1.2.8   表名:ACT_HI_IDENTITYLINK (历史流程人员表)

任务参与者数据表。主要存储历史节点参与者的信息。


ACT_HI_IDENTITYLINK(act_hi_identitylink)


是否主键


字段名


字段描述


数据类型


长度


可空


约束


缺省值


取值说明



ID_


ID_


VARCHAR(64)


64


ID_


GROUP_ID_


用户组ID


VARCHAR(255)


255



组ID


TYPE_


用户组类型


VARCHAR(255)


255



类型,主要分为以下几种:

assignee、

candidate、

owner、starter 、participant


USER_ID_


用户ID


VARCHAR(255)


255



用户ID


TASK_ID_


任务Id


VARCHAR(64)


64



节点实例ID


PROC_INST_ID_


流程实例Id


VARCHAR(64)


64



流程实例ID

1.2.9   表名:ACT_HI_PROCINST(历史流程实例信息)核心表


ACT_HI_PROCINST(act_hi_procinst)


是否主键


字段名


字段描述


数据类型


长度


可空


约束


缺省值


备注



ID_


ID_


VARCHAR(64)


64


PROC_INST_ID_


流程实例ID


VARCHAR(64)


64


BUSINESS_KEY_


业务Key


VARCHAR(255)


255



PROC_DEF_ID_


流程定义Id


VARCHAR(64)


64


START_TIME_


开始时间


DATETIME


END_TIME_


结束时间


DATETIME



DURATION_


时长


BIGINT(20)


20



START_USER_ID_


发起人员Id


VARCHAR(255)


255



START_ACT_ID_


开始节点


VARCHAR(255)


255



END_ACT_ID_


结束节点


VARCHAR(255)


255



SUPER_PROCESS_INSTANCE_ID_


超级流程实例Id


VARCHAR(64)


64



DELETE_REASON_


删除理由


VARCHAR(4000)


4000


1.2.10 表名:ACT_HI_TASKINST(历史任务流程实例信息)核心表


ACT_HI_TASKINST(act_hi_taskinst)


是否主键


字段名


字段描述


数据类型


长度


可空


约束


缺省值


备注



ID_


ID_


VARCHAR(64)


64


主键ID


PROC_DEF_ID_


流程定义Id


VARCHAR(64)


64



流程定义ID


TASK_DEF_KEY_


任务定义Key


VARCHAR(255)


255



节点定义ID


PROC_INST_ID_


流程实例ID


VARCHAR(64)


64



流程实例ID


EXECUTION_ID_


执行ID


VARCHAR(64)


64



执行实例ID


NAME_


名称


VARCHAR(255)


255



名称


PARENT_TASK_ID_


父任务iD


VARCHAR(64)


64



父节点实例ID


DESCRIPTION_


描述


VARCHAR(4000)


4000



描述


OWNER_


实际签收人 任务的拥有者


VARCHAR(255)


255



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


ASSIGNEE_


代理人


VARCHAR(255)


255



签收人或被委托


START_TIME_


开始时间


DATETIME


开始时间


CLAIM_TIME_


提醒时间


DATETIME



提醒时间


END_TIME_


结束时间


DATETIME



结束时间


DURATION_


时长


BIGINT(20)


20



耗时


DELETE_REASON_


删除理由


VARCHAR(4000)


4000



删除原因(completed,deleted)


PRIORITY_


优先级


INT(11)


11



优先级别


DUE_DATE_


应完成时间


DATETIME



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


FORM_KEY_


表单key


VARCHAR(255)


255



desinger节点定义的

form_key属性

1.2.11 表名:ACT_HI_VARINST(历史变量信息)


ACT_HI_VARINST(act_hi_varinst)


是否主键


字段名


字段描述


数据类型


长度


可空


约束


缺省值


备注



ID_


ID_


VARCHAR(64)


64


ID_


PROC_INST_ID_


流程实例ID


VARCHAR(64)


64



流程实例ID


EXECUTION_ID_


执行ID


VARCHAR(64)


64



执行实例ID


TASK_ID_


任务Id


VARCHAR(64)


64



任务实例ID


NAME_


名称


VARCHAR(255)


255


参数名称(英文)


VAR_TYPE_


变量类型


VARCHAR(100)


100



参见VAR_TYPE_类型说明


REV_


REV_


INT(11)


11



Version


BYTEARRAY_ID_


字节数组ID


VARCHAR(64)


64



ACT_GE_BYTEARRAY表的主键


DOUBLE_


DOUBLE_


DOUBLE



存储DoubleType类型的数据


LONG_


LONG_


BIGINT(20)


20



存储LongType类型的数据


TEXT_


TEXT_


VARCHAR(4000)


4000



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


TEXT2_


TEXT2_


VARCHAR(4000)


4000



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

1.2.12       表名:ACT_ID_GROUP(用户组表)

用来存储用户组信息。


ACT_ID_GROUP(act_id_group)


是否主键


字段名


字段描述


数据类型


长度


可空


约束


缺省值


备注



ID_


用户组ID


VARCHAR(64)


64


REV_


版本号


INT(11)


11



NAME_


用户组描述信息


VARCHAR(255)


255



TYPE_


用户组类型


VARCHAR(255)


255


1.2.13 表名:ACT_ID_INFO(用户扩展信息表)

用户扩展信息表。目前该表未用到。


ACT_ID_INFO(act_id_info)


是否主键


字段名


字段描述


数据类型


长度


可空


约束


缺省值


备注



ID_


VARCHAR(64)


64


REV_


版本号


INT(11)


11



USER_ID_


用户ID


VARCHAR(64)


64



TYPE_


类型


VARCHAR(64)


64



KEY_


formINPut名称


VARCHAR(255)


255



VALUE_



VARCHAR(255)


255



PASSWORD_


密码


LONGBLOB



PARENT_ID_


父节点


VARCHAR(255)


255


1.2.14       表名:ACT_ID_MEMBERSHIP(用户用户组关联表)

用来保存用户的分组信息


ACT_ID_MEMBERSHIP(act_id_membership)


是否主键


字段名


字段描述


数据类型


长度


可空


约束


缺省值


备注



USER_ID_


用户Id


VARCHAR(64)


64



GROUP_ID_


用户组Id


VARCHAR(64)


64

1.2.15 表名:ACT_ID_USER(用户信息表)


ACT_ID_USER(act_id_user)


是否主键


字段名


字段描述


数据类型


长度


可空


约束


缺省值


备注



ID_


ID_


VARCHAR(64)


64


REV_


版本号


INT(11)


11



FIRST_


用户名称


VARCHAR(255)


255



LAST_


用户姓氏


VARCHAR(255)


255



EMAIL_


邮箱


VARCHAR(255)


255



PWD_


密码


VARCHAR(255)


255



PICTURE_ID_


头像Id


VARCHAR(64)


64


1.2.16 表名:ACT_RE_DEPLOYMENT(部署信息表)

用来存储部署时需要持久化保存下来的信息


ACT_RE_DEPLOYMENT(act_re_deployment)


是否主键


字段名


字段描述


数据类型


长度


可空


约束


缺省值


备注



ID_


部署编号,自增长


VARCHAR(64)


64


NAME_


部署包的名称


VARCHAR(255)


255



CATEGORY_


类型


VARCHAR(255)


255



TENANT_ID_


租户


VARCHAR(255)


255



多租户通常是在软件需要为多个不同组织服务时产生的概念


DEPLOY_TIME_


部署时间


TIMESTAMP


CURRENT_TIMESTAMP

1.2.17 表名:ACT_RE_MODEL(流程设计模型表)

创建流程的设计模型时,保存在该数据表中。


ACT_RE_MODEL(act_re_model)


是否主键


字段名


字段描述


数据类型


长度


可空


约束


缺省值


备注



ID_


ID_


VARCHAR(64)


64


ID_


REV_


INT(11)


11



乐观锁


NAME_


模型的名称:

比如:收文管理


VARCHAR(255)


255



名称


KEY_


模型的关键字,流程引擎用到。

比如:FTOA_SWGL


VARCHAR(255)


255



分类,例如:

http://www.mossle.com/docs/activiti/


CATEGORY_


类型,用户自己对流程模型的分类。


VARCHAR(255)


255



分类


CREATE_TIME_


创建时间


TIMESTAMP



创建时间


LAST_UPDATE_TIME_


最后修改时间


TIMESTAMP



最新修改时间


VERSION_


版本,从1开始。


INT(11)


11



版本


META_INFO_


数据源信息,比如:

{"name":"FTOA_SWGL","revision":1,"description":"丰台财政局OA,收文管理流程"}


VARCHAR(4000)


4000



以json格式保存流程定义的信息


DEPLOYMENT_ID_


部署ID


VARCHAR(64)


64



部署ID


EDITOR_SOURCE_VALUE_ID_


编辑源值ID


VARCHAR(64)


64



是 ACT_GE_BYTEARRAY 表中的ID_值。


EDITOR_SOURCE_EXTRA_VALUE_ID_


编辑源额外值ID(外键ACT_GE_BYTEARRAY )


VARCHAR(64)


64



是 ACT_GE_BYTEARRAY 表中的ID_值。


TENANT_ID_


租户


VARCHAR(255)


255


1.2.18 表名:ACT_RE_PROCDEF(流程定义:解析表)

流程解析表,解析成功了,在该表保存一条记录。业务流程定义数据表


ACT_RE_PROCDEF(act_re_procdef)


是否主键


字段名


字段描述


数据类型


长度


可空


约束


缺省


备注



ID_


流程ID,由“流程编号:流程版本号:自增长ID”组成


VARCHAR(64)


64


ID_


REV_


版本号


INT(11)


11



乐观锁


CATEGORY_


流程命名空间(该编号就是流程文件targetNamespace的属性值)


VARCHAR(255)


255



流程定义的Namespace就是类别


NAME_


流程名称(该编号就是流程文件process元素的name属性值)


VARCHAR(255)


255



名称


KEY_


流程编号(该编号就是流程文件process元素的id属性值)


VARCHAR(255)


255


流程定义ID


VERSION_


流程版本号(由程序控制,新增即为1,修改后依次加1来完成的)


INT(11)


11


版本


DEPLOYMENT_ID_


部署编号


VARCHAR(64)


64



部署表ID


RESOURCE_NAME_


资源文件名称


VARCHAR(4000)


4000



流程bpmn文件名称


DGRM_RESOURCE_NAME_


图片资源文件名称


VARCHAR(4000)


4000



png流程图片名称


DESCRIPTION_


描述信息


VARCHAR(4000)


4000



描述


HAS_START_FORM_KEY_


是否从key启动


TINYINT(4)


4



start节点是否存在formKey

0否  1是


SUSPENSION_STATE_


是否挂起


INT(11)


11



1激活 2挂起

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

1.2.19 表名:ACT_RU_EVENT_SUBSCR(运行时事件)


ACT_RU_EVENT_SUBSCR(act_ru_event_subscr)


是否主键


字段名


字段描述


数据类型


长度


可空


约束


缺省值


备注



ID_


ID


VARCHAR(64)


64


REV_


版本号


INT(11)


11



EVENT_TYPE_


事件类型


VARCHAR(255)


255


EVENT_NAME_


事件名称


VARCHAR(255)


255



EXECUTION_ID_


流程执行ID


VARCHAR(64)


64



PROC_INST_ID_


流程实例ID


VARCHAR(64)


64



ACTIVITY_ID_


活动ID


VARCHAR(64)


64



CONFIGURATION_


配置信息


VARCHAR(255)


255



CREATED_


创建时间


TIMESTAMP


CURRENT_TIMESTAMP

1.2.20       表名:ACT_RU_EXECUTION(运行时流程执行实例)

核心,我的代办任务查询表


ACT_RU_EXECUTION(act_ru_execution)


是否主键


字段名


字段描述


数据类型


长度


可空


约束


缺省值


备注



ID_


ID_


VARCHAR(64)


64


ID_


REV_


版本号


INT(11)


11



乐观锁


PROC_INST_ID_


流程实例编号


VARCHAR(64)


64



流程实例ID


BUSINESS_KEY_


业务编号


VARCHAR(255)


255



业务主键ID


PARENT_ID_


父执行流程


VARCHAR(64)


64



父节点实例ID


PROC_DEF_ID_


流程定义Id


VARCHAR(64)


64



流程定义ID


SUPER_EXEC_


VARCHAR(64)


64



ACT_ID_


实例id


VARCHAR(255)


255



节点实例ID即

ACT_HI_ACTINST中ID


IS_ACTIVE_


激活状态


TINYINT(4)


4



是否存活


IS_CONCURRENT_


并发状态


TINYINT(4)


4



是否为并行(true/false)


IS_SCOPE_


TINYINT(4)


4



IS_EVENT_SCOPE_


TINYINT(4)


4



SUSPENSION_STATE_


暂停状态_


INT(11)


11



挂起状态   1激活 2挂起


CACHED_ENT_STATE_


缓存结束状态_


INT(11)


11


1.2.21 表名:ACT_RU_IDENTITYLINK(身份联系)

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


ACT_RU_IDENTITYLINK(act_ru_identitylink)


是否主键


字段名


字段描述


数据类型


长度


可空


约束


缺省值


取值说明



ID_


ID_


VARCHAR(64)


64


REV_


版本号


INT(11)


11



GROUP_ID_


用户组ID


VARCHAR(255)


255



TYPE_


用户组类型


VARCHAR(255)


255



主要分为以下几种:assignee、candidate、

owner、starter、participant。即:受让人,候选人,所有者、起动器、参与者


USER_ID_


用户ID


VARCHAR(255)


255



TASK_ID_


任务Id


VARCHAR(64)


64



PROC_INST_ID_


流程实例ID


VARCHAR(64)


64



PROC_DEF_ID_


流程定义Id


VARCHAR(64)


64


1.2.22 表名:ACT_RU_JOB(运行中的任务)

运行时定时任务数据表


ACT_RU_JOB(act_ru_job)


是否主键


字段名


字段描述


数据类型


长度


可空


约束


缺省值


取值说明



ID_


ID_


VARCHAR(64)


64


标识


REV_


版本号


INT(11)


11



版本


TYPE_


TYPE_


VARCHAR(255)


255


类型


LOCK_EXP_TIME_


LOCK_EXP_TIME_


TIMESTAMP



锁定释放时间


LOCK_OWNER_


LOCK_OWNER_


VARCHAR(255)


255



挂起者


EXCLUSIVE_


EXCLUSIVE_


TINYINT(1)


1



EXECUTION_ID_


EXECUTION_ID_


VARCHAR(64)


64



执行实例ID


PROCESS_INSTANCE_ID_


PROCESS_INSTANCE_ID_


VARCHAR(64)


64



流程实例ID


PROC_DEF_ID_


PROC_DEF_ID_


VARCHAR(64)


64



流程定义ID


RETRIES_


RETRIES_


INT(11)


11



EXCEPTION_STACK_ID_


EXCEPTION_STACK_ID_


VARCHAR(64)


64



异常信息ID


EXCEPTION_MSG_


EXCEPTION_MSG_


VARCHAR(4000)


4000



异常信息


DUEDATE_


DUEDATE_


TIMESTAMP



到期时间


REPEAT_


REPEAT_


VARCHAR(255)


255



重复


HANDLER_TYPE_


HANDLER_TYPE_


VARCHAR(255)


255



处理类型


HANDLER_CFG_


HANDLER_CFG_


VARCHAR(4000)


4000



标识

1.2.23 表名:ACT_RU_TASK(运行时任务数据表)

(执行中实时任务)代办任务查询表


ACT_RU_TASK(act_ru_task)


是否主键


字段名


字段描述


数据类型


长度


可空


约束


缺省值


取值说明



ID_


ID_


VARCHAR(64)


64


ID_


REV_


版本号


INT(11)


11



乐观锁


EXECUTION_ID_


实例id(外键EXECUTION_ID_)


VARCHAR(64)


64



执行实例ID


PROC_INST_ID_


流程实例ID(外键PROC_INST_ID_)


VARCHAR(64)


64



流程实例ID


PROC_DEF_ID_


流程定义ID


VARCHAR(64)


64



流程定义ID


NAME_


任务名称


VARCHAR(255)


255



节点定义名称


PARENT_TASK_ID_


父节任务ID


VARCHAR(64)


64



父节点实例ID


DESCRIPTION_


任务描述


VARCHAR(4000)


4000



节点定义描述


TASK_DEF_KEY_


任务定义key


VARCHAR(255)


255



任务定义的ID


OWNER_


所属人(老板)


VARCHAR(255)


255



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


ASSIGNEE_


代理人员

(受让人)


VARCHAR(255)


255



签收人或委托人


DELEGATION_


代理团


VARCHAR(64)


64



委托类型,DelegationState分为两种:PENDING,RESOLVED。如无委托则为空


PRIORITY_


优先权


INT(11)


11



优先级别,默认为:50


CREATE_TIME_


创建时间


TIMESTAMP


创建时间,CURRENT_TIMESTAMP


DUE_DATE_


执行时间


DATETIME



耗时


SUSPENSION_STATE_


暂停状态


INT(11)


11



1代表激活 2代表挂起

1.2.24 表名:ACT_RU_VARIABLE(运行时流程变量数据表)


ACT_RU_VARIABLE(act_ru_variable)


是否主键


字段名


字段描述


数据类型


长度


可空


约束


缺省值


备注



ID_


ID_


VARCHAR(64)


64


主键标识


REV_


版本号


INT(11)


11



乐观锁


TYPE


编码类型


VARCHAR(255)


255


参见VAR_TYPE_类型说明


NAME_


变量名称


VARCHAR(255)


255


变量名称


EXECUTION_ID_


执行实例ID


VARCHAR(64)


64



执行的ID


PROC_INST_ID_


流程实例Id


VARCHAR(64)


64



流程实例ID


TASK_ID_


任务id


VARCHAR(64)


64



节点实例ID(Local)


BYTEARRAY_ID_


字节组ID


VARCHAR(64)


64



字节表的ID

(ACT_GE_BYTEARRAY)


DOUBLE_


DOUBLE_


DOUBLE



存储变量类型为Double


LONG_


LONG_


BIGINT(20)


20



存储变量类型为long


TEXT_


TEXT_


VARCHAR(4000)


4000



存储变量值类型为String

如此处存储持久化对象时,值jpa对象的class


TEXT2_


TEXT2_


VARCHAR(4000)


4000



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

2  Activiti中主要对象的关系

本节主要介绍在工作流中出现的几个对象及其之间的关系,以及在Activiti中各个对象是如何关联的。

在开始之前先看看下图,对整个对象结构有个了解,再结合实例详细介绍理解。

图1.Activiti中几个对象之间的关系

我们模拟一个请假的流程进行分析介绍,该流程主要包含以下几个步骤:

u  员工申请请假

u  部门领导审批

u  人事审批

u  员工销假

ProcessInstance对象

员工开始申请请假流程,通过runtimeService.startProcessInstance()方法启动,引擎会创建一个流程实例(ProcessInstance)。

简单来说流程实例就是根据一次(一条)业务数据用流程驱动的入口,两者之间是一对一的关系。流程引擎会创建一条数据到ACT_RU_EXECUTION表,同时也会根据history的级别决定是否查询相同的历史数据到ACT_HI_PROCINST表。

启动完流程之后业务和流程已经建立了关联关系,第一步结束。

启动流程和业务关联区别:

u 对于自定义表单来说启动的时候会传入businessKey作为业务和流程的关联属性

u 对于动态表单来说不需要使用businessKey关联,因为所有的数据都保存在引擎的表中

u 对于外部表单来说businessKey是可选的,但是一般不会为空,和自定义表单类似

Execution对象

对于初学者来说,最难理解的地方就是ProcessInstance与Execution之间的关系,要分两种情况说明。Execution的含义就是一个流程实例(ProcessInstance)具体要执行的过程对象。

不过在说明之前先声明两者的对象映射关系:

ProcessInstance(1)→ Execution(N),(其中N>=1)。

1)  值相等的情况:

除了在流程中启动的子流程之外,流程启动之后在表ACT_RU_EXECUTION中的字段ID_PROC_INST_ID_字段值是相同的。

图2.ID_和PROC_INST_ID_相等

2)  值不相等的情况:

不相等的情况目前只会出现在子流程中(包含:嵌套、引入),例如一个购物流程中除了下单、出库节点之外可能还有一个付款子流程,在实际企业应用中付款流程通常是作为公用的,所以使用子流程作为主流程(购物流程)的一部分。

当任务到达子流程时引擎会自动创建一个付款流程,但是这个流程有一个特殊的地方,在数据库可以直观体现,如下图。

图3.ID_和PROC_INST_ID_不相等

上图中有两条数据,第二条数据(嵌入的子流程)的PARENT_ID_等于第一条数据的ID_PROC_INST_ID_,并且两条数据的PROC_INST_ID_相同。

上图中还有一点特殊的地方,字段IS_ACTIVE_的值分别是0和1,说明正在执行子流程主流程挂起。

 

Task对象

前面说了ProcessInstance和业务是一对一关联的,和业务数据最亲密;而Task则和用户最亲密的(UserTask),用户每天的待办事项就是一个个的Task对象。

从图1中看得出Execution和Task是一对一关系,Task可以是任何类型的Task实现,可以是用户任务(UserTask)、Java服务(JavaServiceTask)等,在实际流程运行中只不过面向对象不同,用户任务(UserTask)需要有人为参与完成(complete),Java服务需要由系统自动执行(execution)。

图4. 表ACT_RU_TASK

Task是在流程定义中看到的最大单位,每当一个Task完成的时候引擎会把当前的任务移动到历史中,然后插入下一个任务插入到表ACT_RU_TASK中。结合请假流程来说就是让用户点击“完成”按钮提交当前任务是的动作,引擎自动根据任务的顺序流或者排他分支判断走向。

HistoryActivity(历史活动)

图5. 表ACT_HI_ACTINST

Activity包含了流程中所有的活动数据,例如开始事件(图5表中的第1条数据)、各种分支(排他分支、并行分支等,图5表中的第2条数据)、以及刚刚提到的Task执行记录(如图5表中的第3、4条数据)。

有些人认为Activity和Task是多对一关系,其实不是,从上图中可以看出来根本没有Task相关的字段。

结合请假流程来说,如Task中提到的当完成流程的时候所有下一步要执行的任务(包括各种分支)都会创建一个Activity记录到数据库中。例如领导审核节点点击“同意”按钮就会流转到人事审批节点,如果“驳回”那就流转到调整请假内容节点,每一次操作的Task背后实际记录更详细的活动(Activity)。

时间: 2024-10-12 19:47:29

Activiti数据库表结构(表详细版)的相关文章

ECshop 数据库表结构 -- 表的结构

ECshop 数据库表结构 -- 表的结构 `ecs_account_log` CREATE TABLE IF NOT EXISTS `ecs_account_log` ( `log_id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增ID号', `user_id` mediumint(8) unsigned NOT NULL COMMENT '用户登录后保存在session中的id号,跟users表中的user_id对应',

mysql表结构表空间和索引的查询

1.查询表的结构信息 Sql代码 desc tableName; show columns from tableName; describe tableName 上面的结果返回的结果是一样的. 2 查询表的列信息. Sql代码 select * from information_schema.columns where table_name='tableName'; 3 查看库中所有的库 Sql代码 SELECT LOWER(schema_name) schema_name FROM infor

oracle表结构表数据导入导出

--------------------------------------imp/exp--------------------------------------------------------------------------- //导入表数据以及表结构 imp 用户名/密码@数据库名称 fromuser(文件的指定用户,即从那个用户导入数据)=用户名 touser(目标用户,即导入到当前登录的那个用户)=用户名 file=要导入的dmp文件位置 ignore=y(忽略错误创建) /

【数据库】】MySQL之desc查看表结构的详细信息

在mysql中如果想要查看表的定义的话:有如下方式可供选择 1.show create table 语句: show create table table_name; 2.desc table_name 语句: create table person( id int not null auto_increment primary key, name varchar(8), index ix__person__name (name)); desc person; +-------+--------

CentOS目录结构超详细版

 linux 目录结构 /: 根目录,一般根目录下只存放目录,不要存放文件,/etc./bin./dev./lib./sbin应该和根目录放置在一个分区中/bin:/usr/bin: 可执行二进制文件的目录,如常用的命令ls.tar.mv.cat等./boot: 放置linux系统启动时用到的一些文件./boot/vmlinuz为linux的内核文件,以及/boot/grub.建议单独分区,分区大小100M即可/dev: 存放linux系统下的设备文件,访问该目录下某个文件,相当于访问某个设备,

ASP + ACCESS 上传图片到数据库与将图片读出数据库显示之实现(详细版)

ASP上传图片至数据库内功能的实现 一般的无组件上传类,其上传过程是将图片先保存到指定文件夹,与此同时将该路径保存至数据库字段的.显示图片则是根据数据库表中的路径字段对应显示的.当然有关图片的管理,比如删除:只删除了路径,实际的图片需要根据该路径通过FSO进行删除--那有没有这样一种情况:将图片直接作为一个字段的值保存.对图片的操作就象是对数据字段的操作一样熟练.答案是肯定的,只是将该字段的类型设为OLE对象 知识点:OLE 对象字段用来存储诸如 Microsoft Word 或 Microso

ECshop 数据库表结构

ECshop 数据库表结构 -- 表的结构 `ecs_account_log`CREATE TABLE IF NOT EXISTS `ecs_account_log` (`log_id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增ID号',`user_id` mediumint(8) unsigned NOT NULL COMMENT '用户登录后保存在session中的id号,跟users表中的user_id对应',`us

hbase shell表结构管理

hbase表结构管理详细解释篇 列出表清单 1 hbase(main):001:0> list 1 TABLE 2 cdr 3 noc 4 2 row(s) in 0.1800 seconds 5 6 => ["cdr", "noc"] result 创建表 删除表 查看某张表的结构 修改表的结构 查看表是否存在 判断表是否enable 判断表是否disable

复制表、复制表结构、复制数据

完全复制表(含表结构+表数据) create  table   新表名  as  select * from  需要复制的表名; 复制表部分字段和数据 CREATE TABLE   新表名(列1,列2)   AS  SELECT   列1,列2  FROM OLD_TABLE; 复制表结构不复制数据 CREATE TABLE   新表名   AS  SELECT   *  FROM OLD_TABLE  where 1=2 ; 只复制表内容不复制表结构 ---复制表内容最好被复制的表与需要复制数