您的位置:

Activiti表结构详解

Activiti是一个轻量级的开源BPM平台,其采用了BPMN 2.0标准,提供了完整的BPMN流程设计、部署、运行和管理功能。在Activiti中,所有的流程定义都存储在数据库中。本文将从多个方面对Activiti表结构进行详细的阐述。

一、 ACT_RE_EUROPA: EUROPA模型表

其中,EUROPA表示Easy-to-Use Rapid Object Process Application(易于使用的快速对象处理应用程序),是一个流程图形化模型工具,其表结构如下:

CREATE TABLE act_re_europa (
  ID_ VARCHAR2(64) NOT NULL,
  REV_ NUMBER(19) DEFAULT NULL,
  RETIRED_ NUMBER(5) DEFAULT NULL,
  NAME_ VARCHAR2(255) DEFAULT NULL,
  JSON_ CLOB DEFAULT NULL,
  CONSTRAINT ACT_RE_EUROPA_PKEY PRIMARY KEY (ID_)
);

其中ID_为模型标识,REV_为模型版本号,RETIRED_为是否废弃,NAME_为模型名称,JSON_为模型的JSON格式。

二、ACT_RE_DEPLOYMENT: 部署表

部署是指将一个或多个流程定义文件部署到Activiti Engine中,每个部署对应一个部署ID。该表结构如下:

CREATE TABLE act_re_deployment (
  ID_ VARCHAR2(64) NOT NULL,
  NAME_ VARCHAR2(255) DEFAULT NULL,
  CATEGORY_ VARCHAR2(255) DEFAULT NULL,
  KEY_ VARCHAR2(255) DEFAULT NULL,
  TENANT_ID_ VARCHAR2(255) DEFAULT '',
  DEPLOY_TIME_ TIMESTAMP(6) NOT NULL,
  ENGINE_VERSION_ VARCHAR2(255) DEFAULT NULL,
  CONSTRAINT ACT_RE_DEPLOYMENT_PKEY PRIMARY KEY (ID_)
);

其中ID_为部署ID,NAME_为部署名称,CATEGORY_为部署分类,KEY_为部署关键字,TENANT_ID_为租户ID,DEPLOY_TIME_为部署时间,ENGINE_VERSION_为引擎版本号。

三、ACT_RE_PROCDEF: 流程定义表

流程定义是指在发布后,可用于创建一个或多个实例的“模板”。该表结构如下:

CREATE TABLE act_re_procdef (
  ID_ VARCHAR2(64) NOT NULL,
  NAME_ VARCHAR2(255) DEFAULT NULL,
  KEY_ VARCHAR2(255) NOT NULL,
  VERSION_ NUMBER(19) NOT NULL,
  CATEGORY_ VARCHAR2(255) DEFAULT NULL,
  DEPLOYMENT_ID_ VARCHAR2(64) NOT NULL,
  RESOURCE_NAME_ VARCHAR2(4000) NOT NULL,
  DGRM_RESOURCE_NAME_ VARCHAR2(4000) NOT NULL,
  DESCRIPTION_ VARCHAR2(4000) DEFAULT NULL,
  HAS_START_FORM_KEY_ NUMBER(1) DEFAULT NULL,
  HAS_GRAPHICAL_NOTATION_ NUMBER(1) DEFAULT NULL,
  SUSPENSION_STATE_ NUMBER(11) DEFAULT NULL,
  TENANT_ID_ VARCHAR2(255) DEFAULT '',
  HISTORY_TTL_ NUMBER(10) DEFAULT NULL,
  CONSTRAINT ACT_RE_PROCDEF_PKEY PRIMARY KEY (ID_)
);

其中ID_为流程定义ID,NAME_为流程定义名称,KEY_为流程定义关键字,VERSION_为流程定义版本号,CATEGORY_为流程定义分类,DEPLOYMENT_ID_为部署ID,RESOURCE_NAME_为资源名称,DGRM_RESOURCE_NAME_为图像资源名称,DESCRIPTION_为流程定义描述,HAS_START_FORM_KEY_为是否具有用户启动表单,HAS_GRAPHICAL_NOTATION_表示是否有图形记录,SUSPENSION_STATE_为挂起状态,TENANT_ID_为租户ID,HISTORY_TTL_为历史纪录的过期时间。

四、ACT_GE_BYTEARRAY: 二进制数据表

该表存储BPM流程定义中的二进制内容。

CREATE TABLE act_ge_bytearray (
  ID_ VARCHAR2(64) NOT NULL,
  REV_ NUMBER(19) DEFAULT NULL,
  NAME_ VARCHAR2(4000) DEFAULT NULL,
  DEPLOYMENT_ID_ VARCHAR2(64) DEFAULT NULL,
  BYTES_ BLOB DEFAULT NULL,
  GENERATED_ NUMBER(1) DEFAULT NULL,
  CONSTRAINT ACT_GE_BYTEARRAY_PKEY PRIMARY KEY (ID_)
);

其中ID_为二进制数据ID,REV_为二进制数据版本号,NAME_为二进制数据名称,DEPLOYMENT_ID_为部署ID,BYTES_为二进制数据内容。

五、ACT_HI_PROCINST: 流程实例历史表

该表用于存储已完成的流程实例信息,包括流程实例启动人、开始、结束时间、是否挂起、结束方式、流程变量等信息。

CREATE TABLE act_hi_procinst (
  ID_ VARCHAR2(64) NOT NULL,
  PROC_INST_ID_ VARCHAR2(64) NOT NULL,
  BUSINESS_KEY_ VARCHAR2(255) DEFAULT NULL,
  PROC_DEF_ID_ VARCHAR2(64) NOT NULL,
  START_TIME_ TIMESTAMP(6) NOT NULL,
  END_TIME_ TIMESTAMP(6) DEFAULT NULL,
  DURATION_ NUMBER(19) DEFAULT NULL,
  START_USER_ID_ VARCHAR2(255) DEFAULT NULL,
  START_ACT_ID_ VARCHAR2(255) DEFAULT NULL,
  END_ACT_ID_ VARCHAR2(255) DEFAULT NULL,
  DELETE_REASON_ VARCHAR2(4000) DEFAULT NULL,
  SUPER_PROCESS_INSTANCE_ID_ VARCHAR2(64) DEFAULT NULL,
  ROOT_PROC_INST_ID_ VARCHAR2(64) DEFAULT NULL,
  TENANT_ID_ VARCHAR2(255) DEFAULT '',
  CONSTRAINT ACT_HI_PROCINST_PKEY PRIMARY KEY (ID_)
);

其中ID_为流程历史ID,PROC_INST_ID_为流程实例ID,BUSINESS_KEY_为流程实例业务关键字,PROC_DEF_ID_为流程定义ID,START_TIME_为流程实例启动时间,END_TIME_为流程结束时间,DURATION_为流程持续时间,START_USER_ID_为流程实例启动人ID,START_ACT_ID_为开始节点ID,END_ACT_ID_为结束节点ID,DELETE_REASON_为流程实例删除原因,SUPER_PROCESS_INSTANCE_ID_为父流程实例ID,ROOT_PROC_INST_ID_为根流程实例ID。

六、ACT_HI_TASKINST: 任务历史表

该表用来保存已完成的任务实例信息,包括任务名称、任务处理人、任务结束时间等。

CREATE TABLE act_hi_taskinst (
  ID_ VARCHAR2(64) NOT NULL,
  PROC_DEF_ID_ VARCHAR2(64) DEFAULT NULL,
  TASK_DEF_KEY_ VARCHAR2(255) DEFAULT NULL,
  PROC_INST_ID_ VARCHAR2(64) DEFAULT NULL,
  EXECUTION_ID_ VARCHAR2(64) DEFAULT NULL,
  NAME_ VARCHAR2(255) DEFAULT NULL,
  PARENT_TASK_ID_ VARCHAR2(64) DEFAULT NULL,
  DESCRIPTION_ VARCHAR2(4000) DEFAULT NULL,
  OWNER_ VARCHAR2(255) DEFAULT NULL,
  ASSIGNEE_ VARCHAR2(255) DEFAULT NULL,
  START_TIME_ TIMESTAMP(6) NOT NULL,
  CLAIM_TIME_ TIMESTAMP(6) DEFAULT NULL,
  END_TIME_ TIMESTAMP(6) DEFAULT NULL,
  DURATION_ NUMBER(19) DEFAULT NULL,
  DELETE_REASON_ VARCHAR2(4000) DEFAULT NULL,
  TASK_DEF_TYPE_ VARCHAR2(255) DEFAULT NULL,
  PRIORITY_ NUMBER(10) DEFAULT NULL,
  DUE_DATE_ TIMESTAMP(6) DEFAULT NULL,
  FORM_KEY_ VARCHAR2(4000) DEFAULT NULL,
  CATEGORY_ VARCHAR2(255) DEFAULT NULL,
  TENANT_ID_ VARCHAR2(255) DEFAULT '',
  CLAIM_TIME_NULL_REPRESENTS_WAIT_STATE_ NUMBER(5) DEFAULT 0,
  CONSTRAINT ACT_HI_TASKINST_PKEY PRIMARY KEY (ID_)
);

其中ID_为任务实例ID,PROC_DEF_ID_表示任务流程定义ID,TASK_DEF_KEY_表示任务定义的key值,PROC_INST_ID_表示流程实例ID, EXECUTION_ID_表示执行ID,NAME_表示任务名称,PARENT_TASK_ID_表示父任务ID,DESCRIPTION_为任务描述,OWNER_为任务拥有者,ASSIGNEE_为任务处理人,START_TIME_为任务开始时间,CLAIM_TIME_为任务签收时间,END_TIME_为任务结束时间,DURATION_为任务持续时间,DELETE_REASON_为任务删除原因,TASK_DEF_TYPE_为任务类型,PRIORITY_为任务优先级,DUE_DATE_为任务到期时间,FORM_KEY_为任务表单key值,CATEGORY_为任务分类,TENANT_ID_为租户ID。