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。

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/259526.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2024-12-15 16:29
下一篇 2024-12-15 16:29

相关推荐

  • Vue TS工程结构用法介绍

    在本篇文章中,我们将从多个方面对Vue TS工程结构进行详细的阐述,涵盖文件结构、路由配置、组件间通讯、状态管理等内容,并给出对应的代码示例。 一、文件结构 一个好的文件结构可以极…

    编程 2025-04-29
  • Python程序的三种基本控制结构

    控制结构是编程语言中非常重要的一部分,它们指导着程序如何在不同的情况下执行相应的指令。Python作为一种高级编程语言,也拥有三种基本的控制结构:顺序结构、选择结构和循环结构。 一…

    编程 2025-04-29
  • Lidar避障与AI结构光避障哪个更好?

    简单回答:Lidar避障适用于需要高精度避障的场景,而AI结构光避障更适用于需要快速响应的场景。 一、Lidar避障 Lidar,即激光雷达,通过激光束扫描环境获取点云数据,从而实…

    编程 2025-04-27
  • Activiti 6自动部署后不生成数据库act_hi_*的解决方法

    本文将从多个方面详细阐述Activiti 6自动部署后不生成数据库act_hi_*的问题,并提供对应的代码示例。 一、问题分析 在使用Activiti 6部署流程后,我们发现act…

    编程 2025-04-27
  • 神经网络代码详解

    神经网络作为一种人工智能技术,被广泛应用于语音识别、图像识别、自然语言处理等领域。而神经网络的模型编写,离不开代码。本文将从多个方面详细阐述神经网络模型编写的代码技术。 一、神经网…

    编程 2025-04-25
  • Linux sync详解

    一、sync概述 sync是Linux中一个非常重要的命令,它可以将文件系统缓存中的内容,强制写入磁盘中。在执行sync之前,所有的文件系统更新将不会立即写入磁盘,而是先缓存在内存…

    编程 2025-04-25
  • git config user.name的详解

    一、为什么要使用git config user.name? git是一个非常流行的分布式版本控制系统,很多程序员都会用到它。在使用git commit提交代码时,需要记录commi…

    编程 2025-04-25
  • Linux修改文件名命令详解

    在Linux系统中,修改文件名是一个很常见的操作。Linux提供了多种方式来修改文件名,这篇文章将介绍Linux修改文件名的详细操作。 一、mv命令 mv命令是Linux下的常用命…

    编程 2025-04-25
  • Python输入输出详解

    一、文件读写 Python中文件的读写操作是必不可少的基本技能之一。读写文件分别使用open()函数中的’r’和’w’参数,读取文件…

    编程 2025-04-25
  • 详解eclipse设置

    一、安装与基础设置 1、下载eclipse并进行安装。 2、打开eclipse,选择对应的工作空间路径。 File -> Switch Workspace -> [选择…

    编程 2025-04-25

发表回复

登录后才能评论