第二章
Acitiviti表结构
一、通用数据表
1、 资源表ACT-GE-BYTEARRAY
该表存放与流程引擎相关的资源,包括流程图,流程文件内容,只要调用了与存储相关的API,产生的资源都会序列化保存到该表中。
ID:主键,不多说,Activiti有自己的主键生成策略
REV:数据版本,记录数据被操作的次数
NAME:资源名称
DEPLOYMENT_ID:与流程部署表中的id相关联,用来标示是哪个部署流程产生的资源,与ACT_RE_DEPLOYMENT表中的主键ID关联
BYTES_:资源内容,类型为longblob,最大可存储4G内容
GENERATED:用来标示是否由Activiti自动产生的资源0是,1不是
流程文件是作者自己的,流程图png文件是Activiti自动生成的资源
2、 属性表ACT_GE_PROPERTY
存储key-value对
NAME:数据名称,相当于key
VALUE:属性值
REV:数据版本号
二、流程存储表ACT_RE开头
1、部署表ACT_RE_DEPLOYMENT
ID:主键ID,由Activiti自己的主键生成策略生成
NAME:部署名称
CREATETIME:部署时间
除了主键ID,其他都可以为空
1、 流程定义表ACT_RE_PROCDEF
ID_:主键ID,由Activiti自己的主键生成策略生成
REV_:数据版本号
CATEGORY_:流程定义分类,读取的xml中的命名空间
NAME_:流程定义名称,读取xml中process元素的name,如上图中的Name属性
KEY_:流程定义的key,读取xml中process元素的id,如上图中的id属性
VERSION_:流程定义的版本,第一次发布的时候是1,以后每发布一次加1
DEPLOYMENT_ID_:关联流程部署表ACT_RE_DEPLOYMENT的主键ID
RESOURCE_NAME_:流程文件的相对路径
DGRM_RESOURCE_NAME_:流程图相对路径
HAS_START_FORM_KEY_:是否有开始表单,可以再开始事件中activiti:formKey配置开始表单
SUSPENSION_STATE_:表示流程定义的状态是激活还是中止,激活为1,中止为2,中止后,流程无法启动。
三、身份数据表ACT_ID开头
1、用户表ACT_ID_USER
ID_:主键,由Acitiviti自己的主键生成策略生成
REV_:数据版本号
FIRST_:用户的名
LAST_:用户的姓
EMAL_:用户email
PWD_:用户密码
PICTURE_ID:用户图片,对应ACT_GE_BYTEARRAY中的ID
2、用户账号(信息)表ACT_ID_INFO
Activiti将用户、用户信息、用户账户分别开来,其中用户表ACT_ID_USER只保存用户自身识别信息,而用户信息和用户账户则保存在ACT_ID_INFO中,两种不同信息通过里面的type字段来区分
ID_:主键,由Activiti主键生成策略生成
REV_:数据版本号
USER_ID_:和用户表ID关联
TYPE_:用来区分用户信息和用户账号的字段,有account、userinfo、null三种不同值
KEY_:不解释
VALUE_:不解释
PASSWORD_:用户账号的密码
PARENT_ID_:父信息ID,自关联
4、用户组表ACT_ID_GROUP
ID_:主键
REV_:数据版本号
NAME_:用户组名称
TYPE_:用户组类型
5、用户和用户组的关联关系表ACT_ID_MEMBERSHIP
USER_ID_:用户ID,不能为NULL
GROUP_ID_:用户组ID,不能为NULL
四、运行时数据表ACT_RU开头
1、流程实例(执行流)表ACT_RU_EXECUTION
ID_:主键
REV_:版本号
PROCESS_INST_ID_:流程实例ID,一个流程实例下可能会有很多个执行流,但是不管是多少个执行流,该流程实例ID是唯一且一致的
BUSINESS_KEY_:流程启动时指定的业务主键
PARENT_ID_:流程执行流的ID,一个流程实例可能会产生多个执行流,子执行流就是以这个字段来标识属于哪个流程,该字段关联流程实例ID
PROC_DEF_ID_:关联流程定义的ID
SUPER_EXEC_:父实例(执行流)ID,一个执行流可能会产生新的流程实例,该字段就是用来标识该流程实例属于哪个流程实例(执行流)
ACT_ID_:当前节点的id,该id在bpmn配置文件中
IS_ACTIVE_:该执行流是否活跃的标志,1活跃0不活跃
IS_CONCURENT_:是否正在进行,1进行0不进行
IS_SCOPE_:是否在执行流范围内
IS_EVENT_SCOPE_:是否在事件范围内
SUSPENSION_STATE_:中断状态标识
CACHED_ENT_STATE_:流程实体的缓存,取0-7的值,话说没用过啊。
2、流程任务表ACT_RU_TASK
ID_:主键
REV_:数据版本号
EXECUTION_ID_:任务所处的执行流ID
PROC_INST_ID_:任务所处的流程实例ID
NAME_:任务名称
TASK_DEF_KEY_:任务ID,在流程文件中读取,即节点的ID
PARENT_TASK_ID_:父任务ID,只有子任务才会设置此值
DESCRIPTION_:任务描述,在流程文件中读取
TASK_DEF_KEY_:任务节点ID,在流程文件中定义
OWNER_:任务所有人
ASSIGNEE_:任务委托人
DELEGATION_:委托状态,有等候中和已解决两种状态,可为null
PRIORITY_:任务优先级,默认50
CREATE_TIME_:任务创建时间
DUE_DATE_:任务预定日期
3、流程参数表ACT_RU_VARIABLE
ID_:主键
REV_:数据版本号
TYPE_:参数类型,有string,boolean等等类型
NAME_:参数名称
EXECUTION_ID_:参数对应的执行流的ID
PROC_INST_ID_:该参数对应的流程实例ID
TASK_ID_:如果该参数是任务参数,则对应任务节点的ID
BYTEARRAY_ID_:如果参数值是序列化对象,则将该对象保存到ACT_GE_BYTEARRAY表中,并关联其ID
DOUBLE_:参数值类型为double时,保存到该字段中
LONG_:参数值类型为long时,保存到该字段中
TEXT_:用于保存文本类型的参数,CLOB类型,有的版本是VARCHAR2,2000byte
TEXT2_:同上,VARCHAR2类型,4000byte,具体看自己的表去
4、流程与身份关系表ACT_RU_IDNTITYLINK
ID_:主键
REV_:数据任务号
GROUP_ID_:用户组ID
TYPE_:关系数据类型,用户所扮演的角色,有assignee(委托人), owner(所有人), candidate(候选人)
USER_ID_:用户ID
TASK_ID_:任务ID
PROC_DEF_ID_:流程定义ID,关联ACT_RE_PROCDEF中的ID