2024-11-13 08:47:44 +01:00
|
|
|
-- Create Workflow Definition Entity
|
|
|
|
CREATE TABLE IF NOT EXISTS workflow_definition_entity (
|
|
|
|
id VARCHAR(36) GENERATED ALWAYS AS (json ->> 'id') STORED NOT NULL,
|
|
|
|
name VARCHAR(256) GENERATED ALWAYS AS (json ->> 'name') STORED NOT NULL,
|
|
|
|
fqnHash VARCHAR(256) NOT NULL COLLATE "C",
|
|
|
|
json JSONB NOT NULL,
|
|
|
|
updatedAt BIGINT GENERATED ALWAYS AS ((json ->> 'updatedAt')::bigint) STORED NOT NULL,
|
|
|
|
updatedBy VARCHAR(256) GENERATED ALWAYS AS (json ->> 'updatedBy') STORED NOT NULL,
|
|
|
|
deleted BOOLEAN GENERATED ALWAYS AS ((json ->> 'deleted')::boolean) STORED NOT NULL,
|
|
|
|
PRIMARY KEY (id),
|
|
|
|
UNIQUE (fqnHash)
|
|
|
|
);
|
|
|
|
|
|
|
|
-- Create Workflow Instance Time Series
|
|
|
|
CREATE TABLE IF NOT EXISTS workflow_instance_time_series (
|
|
|
|
id varchar(36) GENERATED ALWAYS AS (json ->> 'id') STORED NOT NULL,
|
|
|
|
workflowDefinitionId varchar(36) GENERATED ALWAYS AS (json ->> 'workflowDefinitionId') STORED NOT NULL,
|
|
|
|
jsonSchema varchar(256) NOT NULL,
|
|
|
|
json jsonb NOT NULL,
|
|
|
|
timestamp bigint GENERATED ALWAYS AS ((json ->> 'timestamp')::bigint) STORED NOT NULL,
|
|
|
|
startedAt bigint GENERATED ALWAYS AS ((json ->>'startedAt')::bigint) STORED NOT NULL,
|
|
|
|
endedAt bigint GENERATED ALWAYS AS ((json ->>'endedAt')::bigint) STORED NULL,
|
|
|
|
entityFQNHash varchar(768) COLLATE "C" DEFAULT NULL,
|
|
|
|
CONSTRAINT workflow_instance_time_series_unique_constraint UNIQUE (id, entityFQNHash),
|
|
|
|
PRIMARY KEY (id)
|
|
|
|
);
|
|
|
|
|
|
|
|
-- Workflow Instance State Time Series
|
|
|
|
CREATE TABLE IF NOT EXISTS workflow_instance_state_time_series (
|
|
|
|
id varchar(36) GENERATED ALWAYS AS (json ->> 'id') STORED NOT NULL,
|
|
|
|
workflowInstanceId varchar(36) GENERATED ALWAYS AS (json ->> 'workflowInstanceId') STORED NOT NULL,
|
|
|
|
workflowInstanceExecutionId varchar(36) GENERATED ALWAYS AS (json ->> 'workflowInstanceExecutionId') STORED NOT NULL,
|
|
|
|
workflowDefinitionId varchar(36) GENERATED ALWAYS AS (json ->> 'workflowDefinitionId') STORED NOT NULL,
|
|
|
|
stage varchar(256) GENERATED ALWAYS AS (json -> 'stage' ->> 'name') STORED NOT NULL,
|
|
|
|
stageStartedAt bigint GENERATED ALWAYS AS ((json -> 'stage' ->> 'startedAt')::bigint) STORED NOT NULL,
|
|
|
|
stageEndedAt bigint GENERATED ALWAYS AS ((json -> 'stage' ->> 'endedAt')::bigint) STORED NULL,
|
|
|
|
timestamp bigint GENERATED ALWAYS AS ((json ->> 'timestamp')::bigint) STORED NOT NULL,
|
|
|
|
jsonSchema varchar(256) NOT NULL,
|
|
|
|
json jsonb NOT NULL,
|
|
|
|
entityFQNHash varchar(768) COLLATE "C" DEFAULT NULL,
|
|
|
|
CONSTRAINT workflow_instance_state_time_series_unique_constraint UNIQUE (id, entityFQNHash),
|
|
|
|
PRIMARY KEY (id)
|
|
|
|
);
|
|
|
|
CREATE INDEX ON workflow_instance_state_time_series(workflowDefinitionId);
|
|
|
|
CREATE INDEX ON workflow_instance_state_time_series(workflowInstanceId);
|
|
|
|
|
|
|
|
-- Flowable Related Tables
|
|
|
|
create table ACT_GE_PROPERTY (
|
|
|
|
NAME_ varchar(64),
|
|
|
|
VALUE_ varchar(300),
|
|
|
|
REV_ integer,
|
|
|
|
primary key (NAME_)
|
|
|
|
);
|
|
|
|
|
|
|
|
create table ACT_GE_BYTEARRAY (
|
|
|
|
ID_ varchar(64),
|
|
|
|
REV_ integer,
|
|
|
|
NAME_ varchar(255),
|
|
|
|
DEPLOYMENT_ID_ varchar(64),
|
|
|
|
BYTES_ bytea,
|
|
|
|
GENERATED_ boolean,
|
|
|
|
primary key (ID_)
|
|
|
|
);
|
|
|
|
|
|
|
|
insert into ACT_GE_PROPERTY
|
|
|
|
values ('common.schema.version', '7.0.1.1', 1);
|
|
|
|
|
|
|
|
insert into ACT_GE_PROPERTY
|
|
|
|
values ('next.dbid', '1', 1);
|
|
|
|
|
|
|
|
|
|
|
|
create table ACT_RU_ENTITYLINK (
|
|
|
|
ID_ varchar(64),
|
|
|
|
REV_ integer,
|
|
|
|
CREATE_TIME_ timestamp,
|
|
|
|
LINK_TYPE_ varchar(255),
|
|
|
|
SCOPE_ID_ varchar(255),
|
|
|
|
SUB_SCOPE_ID_ varchar(255),
|
|
|
|
SCOPE_TYPE_ varchar(255),
|
|
|
|
SCOPE_DEFINITION_ID_ varchar(255),
|
|
|
|
PARENT_ELEMENT_ID_ varchar(255),
|
|
|
|
REF_SCOPE_ID_ varchar(255),
|
|
|
|
REF_SCOPE_TYPE_ varchar(255),
|
|
|
|
REF_SCOPE_DEFINITION_ID_ varchar(255),
|
|
|
|
ROOT_SCOPE_ID_ varchar(255),
|
|
|
|
ROOT_SCOPE_TYPE_ varchar(255),
|
|
|
|
HIERARCHY_TYPE_ varchar(255),
|
|
|
|
primary key (ID_)
|
|
|
|
);
|
|
|
|
|
|
|
|
create index ACT_IDX_ENT_LNK_SCOPE on ACT_RU_ENTITYLINK(SCOPE_ID_, SCOPE_TYPE_, LINK_TYPE_);
|
|
|
|
create index ACT_IDX_ENT_LNK_REF_SCOPE on ACT_RU_ENTITYLINK(REF_SCOPE_ID_, REF_SCOPE_TYPE_, LINK_TYPE_);
|
|
|
|
create index ACT_IDX_ENT_LNK_ROOT_SCOPE on ACT_RU_ENTITYLINK(ROOT_SCOPE_ID_, ROOT_SCOPE_TYPE_, LINK_TYPE_);
|
|
|
|
create index ACT_IDX_ENT_LNK_SCOPE_DEF on ACT_RU_ENTITYLINK(SCOPE_DEFINITION_ID_, SCOPE_TYPE_, LINK_TYPE_);
|
|
|
|
|
|
|
|
insert into ACT_GE_PROPERTY values ('entitylink.schema.version', '7.0.1.1', 1);
|
|
|
|
|
|
|
|
create table ACT_HI_ENTITYLINK (
|
|
|
|
ID_ varchar(64),
|
|
|
|
LINK_TYPE_ varchar(255),
|
|
|
|
CREATE_TIME_ timestamp,
|
|
|
|
SCOPE_ID_ varchar(255),
|
|
|
|
SUB_SCOPE_ID_ varchar(255),
|
|
|
|
SCOPE_TYPE_ varchar(255),
|
|
|
|
SCOPE_DEFINITION_ID_ varchar(255),
|
|
|
|
PARENT_ELEMENT_ID_ varchar(255),
|
|
|
|
REF_SCOPE_ID_ varchar(255),
|
|
|
|
REF_SCOPE_TYPE_ varchar(255),
|
|
|
|
REF_SCOPE_DEFINITION_ID_ varchar(255),
|
|
|
|
ROOT_SCOPE_ID_ varchar(255),
|
|
|
|
ROOT_SCOPE_TYPE_ varchar(255),
|
|
|
|
HIERARCHY_TYPE_ varchar(255),
|
|
|
|
primary key (ID_)
|
|
|
|
);
|
|
|
|
|
|
|
|
create index ACT_IDX_HI_ENT_LNK_SCOPE on ACT_HI_ENTITYLINK(SCOPE_ID_, SCOPE_TYPE_, LINK_TYPE_);
|
|
|
|
create index ACT_IDX_HI_ENT_LNK_REF_SCOPE on ACT_HI_ENTITYLINK(REF_SCOPE_ID_, REF_SCOPE_TYPE_, LINK_TYPE_);
|
|
|
|
create index ACT_IDX_HI_ENT_LNK_ROOT_SCOPE on ACT_HI_ENTITYLINK(ROOT_SCOPE_ID_, ROOT_SCOPE_TYPE_, LINK_TYPE_);
|
|
|
|
create index ACT_IDX_HI_ENT_LNK_SCOPE_DEF on ACT_HI_ENTITYLINK(SCOPE_DEFINITION_ID_, SCOPE_TYPE_, LINK_TYPE_);
|
|
|
|
|
|
|
|
|
|
|
|
create table ACT_RU_IDENTITYLINK (
|
|
|
|
ID_ varchar(64),
|
|
|
|
REV_ integer,
|
|
|
|
GROUP_ID_ varchar(255),
|
|
|
|
TYPE_ varchar(255),
|
|
|
|
USER_ID_ varchar(255),
|
|
|
|
TASK_ID_ varchar(64),
|
|
|
|
PROC_INST_ID_ varchar(64),
|
|
|
|
PROC_DEF_ID_ varchar (64),
|
|
|
|
SCOPE_ID_ varchar(255),
|
|
|
|
SUB_SCOPE_ID_ varchar(255),
|
|
|
|
SCOPE_TYPE_ varchar(255),
|
|
|
|
SCOPE_DEFINITION_ID_ varchar(255),
|
|
|
|
primary key (ID_)
|
|
|
|
);
|
|
|
|
|
|
|
|
create index ACT_IDX_IDENT_LNK_USER on ACT_RU_IDENTITYLINK(USER_ID_);
|
|
|
|
create index ACT_IDX_IDENT_LNK_GROUP on ACT_RU_IDENTITYLINK(GROUP_ID_);
|
|
|
|
create index ACT_IDX_IDENT_LNK_SCOPE on ACT_RU_IDENTITYLINK(SCOPE_ID_, SCOPE_TYPE_);
|
|
|
|
create index ACT_IDX_IDENT_LNK_SUB_SCOPE on ACT_RU_IDENTITYLINK(SUB_SCOPE_ID_, SCOPE_TYPE_);
|
|
|
|
create index ACT_IDX_IDENT_LNK_SCOPE_DEF on ACT_RU_IDENTITYLINK(SCOPE_DEFINITION_ID_, SCOPE_TYPE_);
|
|
|
|
|
|
|
|
insert into ACT_GE_PROPERTY values ('identitylink.schema.version', '7.0.1.1', 1);
|
|
|
|
|
|
|
|
create table ACT_HI_IDENTITYLINK (
|
|
|
|
ID_ varchar(64),
|
|
|
|
GROUP_ID_ varchar(255),
|
|
|
|
TYPE_ varchar(255),
|
|
|
|
USER_ID_ varchar(255),
|
|
|
|
TASK_ID_ varchar(64),
|
|
|
|
CREATE_TIME_ timestamp,
|
|
|
|
PROC_INST_ID_ varchar(64),
|
|
|
|
SCOPE_ID_ varchar(255),
|
|
|
|
SUB_SCOPE_ID_ varchar(255),
|
|
|
|
SCOPE_TYPE_ varchar(255),
|
|
|
|
SCOPE_DEFINITION_ID_ varchar(255),
|
|
|
|
primary key (ID_)
|
|
|
|
);
|
|
|
|
|
|
|
|
create index ACT_IDX_HI_IDENT_LNK_USER on ACT_HI_IDENTITYLINK(USER_ID_);
|
|
|
|
create index ACT_IDX_HI_IDENT_LNK_SCOPE on ACT_HI_IDENTITYLINK(SCOPE_ID_, SCOPE_TYPE_);
|
|
|
|
create index ACT_IDX_HI_IDENT_LNK_SUB_SCOPE on ACT_HI_IDENTITYLINK(SUB_SCOPE_ID_, SCOPE_TYPE_);
|
|
|
|
create index ACT_IDX_HI_IDENT_LNK_SCOPE_DEF on ACT_HI_IDENTITYLINK(SCOPE_DEFINITION_ID_, SCOPE_TYPE_);
|
|
|
|
|
|
|
|
|
|
|
|
create table ACT_RU_JOB (
|
|
|
|
ID_ varchar(64) NOT NULL,
|
|
|
|
REV_ integer,
|
|
|
|
CATEGORY_ varchar(255),
|
|
|
|
TYPE_ varchar(255) NOT NULL,
|
|
|
|
LOCK_EXP_TIME_ timestamp,
|
|
|
|
LOCK_OWNER_ varchar(255),
|
|
|
|
EXCLUSIVE_ boolean,
|
|
|
|
EXECUTION_ID_ varchar(64),
|
|
|
|
PROCESS_INSTANCE_ID_ varchar(64),
|
|
|
|
PROC_DEF_ID_ varchar(64),
|
|
|
|
ELEMENT_ID_ varchar(255),
|
|
|
|
ELEMENT_NAME_ varchar(255),
|
|
|
|
SCOPE_ID_ varchar(255),
|
|
|
|
SUB_SCOPE_ID_ varchar(255),
|
|
|
|
SCOPE_TYPE_ varchar(255),
|
|
|
|
SCOPE_DEFINITION_ID_ varchar(255),
|
|
|
|
CORRELATION_ID_ varchar(255),
|
|
|
|
RETRIES_ integer,
|
|
|
|
EXCEPTION_STACK_ID_ varchar(64),
|
|
|
|
EXCEPTION_MSG_ varchar(4000),
|
|
|
|
DUEDATE_ timestamp,
|
|
|
|
REPEAT_ varchar(255),
|
|
|
|
HANDLER_TYPE_ varchar(255),
|
|
|
|
HANDLER_CFG_ varchar(4000),
|
|
|
|
CUSTOM_VALUES_ID_ varchar(64),
|
|
|
|
CREATE_TIME_ timestamp,
|
|
|
|
TENANT_ID_ varchar(255) default '',
|
|
|
|
primary key (ID_)
|
|
|
|
);
|
|
|
|
|
|
|
|
create table ACT_RU_TIMER_JOB (
|
|
|
|
ID_ varchar(64) NOT NULL,
|
|
|
|
REV_ integer,
|
|
|
|
CATEGORY_ varchar(255),
|
|
|
|
TYPE_ varchar(255) NOT NULL,
|
|
|
|
LOCK_EXP_TIME_ timestamp,
|
|
|
|
LOCK_OWNER_ varchar(255),
|
|
|
|
EXCLUSIVE_ boolean,
|
|
|
|
EXECUTION_ID_ varchar(64),
|
|
|
|
PROCESS_INSTANCE_ID_ varchar(64),
|
|
|
|
PROC_DEF_ID_ varchar(64),
|
|
|
|
ELEMENT_ID_ varchar(255),
|
|
|
|
ELEMENT_NAME_ varchar(255),
|
|
|
|
SCOPE_ID_ varchar(255),
|
|
|
|
SUB_SCOPE_ID_ varchar(255),
|
|
|
|
SCOPE_TYPE_ varchar(255),
|
|
|
|
SCOPE_DEFINITION_ID_ varchar(255),
|
|
|
|
CORRELATION_ID_ varchar(255),
|
|
|
|
RETRIES_ integer,
|
|
|
|
EXCEPTION_STACK_ID_ varchar(64),
|
|
|
|
EXCEPTION_MSG_ varchar(4000),
|
|
|
|
DUEDATE_ timestamp,
|
|
|
|
REPEAT_ varchar(255),
|
|
|
|
HANDLER_TYPE_ varchar(255),
|
|
|
|
HANDLER_CFG_ varchar(4000),
|
|
|
|
CUSTOM_VALUES_ID_ varchar(64),
|
|
|
|
CREATE_TIME_ timestamp,
|
|
|
|
TENANT_ID_ varchar(255) default '',
|
|
|
|
primary key (ID_)
|
|
|
|
);
|
|
|
|
|
|
|
|
create table ACT_RU_SUSPENDED_JOB (
|
|
|
|
ID_ varchar(64) NOT NULL,
|
|
|
|
REV_ integer,
|
|
|
|
CATEGORY_ varchar(255),
|
|
|
|
TYPE_ varchar(255) NOT NULL,
|
|
|
|
EXCLUSIVE_ boolean,
|
|
|
|
EXECUTION_ID_ varchar(64),
|
|
|
|
PROCESS_INSTANCE_ID_ varchar(64),
|
|
|
|
PROC_DEF_ID_ varchar(64),
|
|
|
|
ELEMENT_ID_ varchar(255),
|
|
|
|
ELEMENT_NAME_ varchar(255),
|
|
|
|
SCOPE_ID_ varchar(255),
|
|
|
|
SUB_SCOPE_ID_ varchar(255),
|
|
|
|
SCOPE_TYPE_ varchar(255),
|
|
|
|
SCOPE_DEFINITION_ID_ varchar(255),
|
|
|
|
CORRELATION_ID_ varchar(255),
|
|
|
|
RETRIES_ integer,
|
|
|
|
EXCEPTION_STACK_ID_ varchar(64),
|
|
|
|
EXCEPTION_MSG_ varchar(4000),
|
|
|
|
DUEDATE_ timestamp,
|
|
|
|
REPEAT_ varchar(255),
|
|
|
|
HANDLER_TYPE_ varchar(255),
|
|
|
|
HANDLER_CFG_ varchar(4000),
|
|
|
|
CUSTOM_VALUES_ID_ varchar(64),
|
|
|
|
CREATE_TIME_ timestamp,
|
|
|
|
TENANT_ID_ varchar(255) default '',
|
|
|
|
primary key (ID_)
|
|
|
|
);
|
|
|
|
|
|
|
|
create table ACT_RU_DEADLETTER_JOB (
|
|
|
|
ID_ varchar(64) NOT NULL,
|
|
|
|
REV_ integer,
|
|
|
|
CATEGORY_ varchar(255),
|
|
|
|
TYPE_ varchar(255) NOT NULL,
|
|
|
|
EXCLUSIVE_ boolean,
|
|
|
|
EXECUTION_ID_ varchar(64),
|
|
|
|
PROCESS_INSTANCE_ID_ varchar(64),
|
|
|
|
PROC_DEF_ID_ varchar(64),
|
|
|
|
ELEMENT_ID_ varchar(255),
|
|
|
|
ELEMENT_NAME_ varchar(255),
|
|
|
|
SCOPE_ID_ varchar(255),
|
|
|
|
SUB_SCOPE_ID_ varchar(255),
|
|
|
|
SCOPE_TYPE_ varchar(255),
|
|
|
|
SCOPE_DEFINITION_ID_ varchar(255),
|
|
|
|
CORRELATION_ID_ varchar(255),
|
|
|
|
EXCEPTION_STACK_ID_ varchar(64),
|
|
|
|
EXCEPTION_MSG_ varchar(4000),
|
|
|
|
DUEDATE_ timestamp,
|
|
|
|
REPEAT_ varchar(255),
|
|
|
|
HANDLER_TYPE_ varchar(255),
|
|
|
|
HANDLER_CFG_ varchar(4000),
|
|
|
|
CUSTOM_VALUES_ID_ varchar(64),
|
|
|
|
CREATE_TIME_ timestamp,
|
|
|
|
TENANT_ID_ varchar(255) default '',
|
|
|
|
primary key (ID_)
|
|
|
|
);
|
|
|
|
|
|
|
|
create table ACT_RU_HISTORY_JOB (
|
|
|
|
ID_ varchar(64) NOT NULL,
|
|
|
|
REV_ integer,
|
|
|
|
LOCK_EXP_TIME_ timestamp,
|
|
|
|
LOCK_OWNER_ varchar(255),
|
|
|
|
RETRIES_ integer,
|
|
|
|
EXCEPTION_STACK_ID_ varchar(64),
|
|
|
|
EXCEPTION_MSG_ varchar(4000),
|
|
|
|
HANDLER_TYPE_ varchar(255),
|
|
|
|
HANDLER_CFG_ varchar(4000),
|
|
|
|
CUSTOM_VALUES_ID_ varchar(64),
|
|
|
|
ADV_HANDLER_CFG_ID_ varchar(64),
|
|
|
|
CREATE_TIME_ timestamp,
|
|
|
|
SCOPE_TYPE_ varchar(255),
|
|
|
|
TENANT_ID_ varchar(255) default '',
|
|
|
|
primary key (ID_)
|
|
|
|
);
|
|
|
|
|
|
|
|
create table ACT_RU_EXTERNAL_JOB (
|
|
|
|
ID_ varchar(64) NOT NULL,
|
|
|
|
REV_ integer,
|
|
|
|
CATEGORY_ varchar(255),
|
|
|
|
TYPE_ varchar(255) NOT NULL,
|
|
|
|
LOCK_EXP_TIME_ timestamp,
|
|
|
|
LOCK_OWNER_ varchar(255),
|
|
|
|
EXCLUSIVE_ boolean,
|
|
|
|
EXECUTION_ID_ varchar(64),
|
|
|
|
PROCESS_INSTANCE_ID_ varchar(64),
|
|
|
|
PROC_DEF_ID_ varchar(64),
|
|
|
|
ELEMENT_ID_ varchar(255),
|
|
|
|
ELEMENT_NAME_ varchar(255),
|
|
|
|
SCOPE_ID_ varchar(255),
|
|
|
|
SUB_SCOPE_ID_ varchar(255),
|
|
|
|
SCOPE_TYPE_ varchar(255),
|
|
|
|
SCOPE_DEFINITION_ID_ varchar(255),
|
|
|
|
CORRELATION_ID_ varchar(255),
|
|
|
|
RETRIES_ integer,
|
|
|
|
EXCEPTION_STACK_ID_ varchar(64),
|
|
|
|
EXCEPTION_MSG_ varchar(4000),
|
|
|
|
DUEDATE_ timestamp,
|
|
|
|
REPEAT_ varchar(255),
|
|
|
|
HANDLER_TYPE_ varchar(255),
|
|
|
|
HANDLER_CFG_ varchar(4000),
|
|
|
|
CUSTOM_VALUES_ID_ varchar(64),
|
|
|
|
CREATE_TIME_ timestamp,
|
|
|
|
TENANT_ID_ varchar(255) default '',
|
|
|
|
primary key (ID_)
|
|
|
|
);
|
|
|
|
|
|
|
|
create index ACT_IDX_JOB_EXCEPTION_STACK_ID on ACT_RU_JOB(EXCEPTION_STACK_ID_);
|
|
|
|
create index ACT_IDX_JOB_CUSTOM_VALUES_ID on ACT_RU_JOB(CUSTOM_VALUES_ID_);
|
|
|
|
create index ACT_IDX_JOB_CORRELATION_ID on ACT_RU_JOB(CORRELATION_ID_);
|
|
|
|
|
|
|
|
create index ACT_IDX_TIMER_JOB_EXCEPTION_STACK_ID on ACT_RU_TIMER_JOB(EXCEPTION_STACK_ID_);
|
|
|
|
create index ACT_IDX_TIMER_JOB_CUSTOM_VALUES_ID on ACT_RU_TIMER_JOB(CUSTOM_VALUES_ID_);
|
|
|
|
create index ACT_IDX_TIMER_JOB_CORRELATION_ID on ACT_RU_TIMER_JOB(CORRELATION_ID_);
|
|
|
|
create index ACT_IDX_TIMER_JOB_DUEDATE on ACT_RU_TIMER_JOB(DUEDATE_);
|
|
|
|
|
|
|
|
create index ACT_IDX_SUSPENDED_JOB_EXCEPTION_STACK_ID on ACT_RU_SUSPENDED_JOB(EXCEPTION_STACK_ID_);
|
|
|
|
create index ACT_IDX_SUSPENDED_JOB_CUSTOM_VALUES_ID on ACT_RU_SUSPENDED_JOB(CUSTOM_VALUES_ID_);
|
|
|
|
create index ACT_IDX_SUSPENDED_JOB_CORRELATION_ID on ACT_RU_SUSPENDED_JOB(CORRELATION_ID_);
|
|
|
|
|
|
|
|
create index ACT_IDX_DEADLETTER_JOB_EXCEPTION_STACK_ID on ACT_RU_DEADLETTER_JOB(EXCEPTION_STACK_ID_);
|
|
|
|
create index ACT_IDX_DEADLETTER_JOB_CUSTOM_VALUES_ID on ACT_RU_DEADLETTER_JOB(CUSTOM_VALUES_ID_);
|
|
|
|
create index ACT_IDX_DEADLETTER_JOB_CORRELATION_ID on ACT_RU_DEADLETTER_JOB(CORRELATION_ID_);
|
|
|
|
|
|
|
|
create index ACT_IDX_EXTERNAL_JOB_EXCEPTION_STACK_ID on ACT_RU_EXTERNAL_JOB(EXCEPTION_STACK_ID_);
|
|
|
|
create index ACT_IDX_EXTERNAL_JOB_CUSTOM_VALUES_ID on ACT_RU_EXTERNAL_JOB(CUSTOM_VALUES_ID_);
|
|
|
|
create index ACT_IDX_EXTERNAL_JOB_CORRELATION_ID on ACT_RU_EXTERNAL_JOB(CORRELATION_ID_);
|
|
|
|
|
|
|
|
alter table ACT_RU_JOB
|
|
|
|
add constraint ACT_FK_JOB_EXCEPTION
|
|
|
|
foreign key (EXCEPTION_STACK_ID_)
|
|
|
|
references ACT_GE_BYTEARRAY (ID_);
|
|
|
|
|
|
|
|
alter table ACT_RU_JOB
|
|
|
|
add constraint ACT_FK_JOB_CUSTOM_VALUES
|
|
|
|
foreign key (CUSTOM_VALUES_ID_)
|
|
|
|
references ACT_GE_BYTEARRAY (ID_);
|
|
|
|
|
|
|
|
alter table ACT_RU_TIMER_JOB
|
|
|
|
add constraint ACT_FK_TIMER_JOB_EXCEPTION
|
|
|
|
foreign key (EXCEPTION_STACK_ID_)
|
|
|
|
references ACT_GE_BYTEARRAY (ID_);
|
|
|
|
|
|
|
|
alter table ACT_RU_TIMER_JOB
|
|
|
|
add constraint ACT_FK_TIMER_JOB_CUSTOM_VALUES
|
|
|
|
foreign key (CUSTOM_VALUES_ID_)
|
|
|
|
references ACT_GE_BYTEARRAY (ID_);
|
|
|
|
|
|
|
|
alter table ACT_RU_SUSPENDED_JOB
|
|
|
|
add constraint ACT_FK_SUSPENDED_JOB_EXCEPTION
|
|
|
|
foreign key (EXCEPTION_STACK_ID_)
|
|
|
|
references ACT_GE_BYTEARRAY (ID_);
|
|
|
|
|
|
|
|
alter table ACT_RU_SUSPENDED_JOB
|
|
|
|
add constraint ACT_FK_SUSPENDED_JOB_CUSTOM_VALUES
|
|
|
|
foreign key (CUSTOM_VALUES_ID_)
|
|
|
|
references ACT_GE_BYTEARRAY (ID_);
|
|
|
|
|
|
|
|
alter table ACT_RU_DEADLETTER_JOB
|
|
|
|
add constraint ACT_FK_DEADLETTER_JOB_EXCEPTION
|
|
|
|
foreign key (EXCEPTION_STACK_ID_)
|
|
|
|
references ACT_GE_BYTEARRAY (ID_);
|
|
|
|
|
|
|
|
alter table ACT_RU_DEADLETTER_JOB
|
|
|
|
add constraint ACT_FK_DEADLETTER_JOB_CUSTOM_VALUES
|
|
|
|
foreign key (CUSTOM_VALUES_ID_)
|
|
|
|
references ACT_GE_BYTEARRAY (ID_);
|
|
|
|
|
|
|
|
alter table ACT_RU_EXTERNAL_JOB
|
|
|
|
add constraint ACT_FK_EXTERNAL_JOB_EXCEPTION
|
|
|
|
foreign key (EXCEPTION_STACK_ID_)
|
|
|
|
references ACT_GE_BYTEARRAY (ID_);
|
|
|
|
|
|
|
|
alter table ACT_RU_EXTERNAL_JOB
|
|
|
|
add constraint ACT_FK_EXTERNAL_JOB_CUSTOM_VALUES
|
|
|
|
foreign key (CUSTOM_VALUES_ID_)
|
|
|
|
references ACT_GE_BYTEARRAY (ID_);
|
|
|
|
|
|
|
|
create index ACT_IDX_JOB_SCOPE on ACT_RU_JOB(SCOPE_ID_, SCOPE_TYPE_);
|
|
|
|
create index ACT_IDX_JOB_SUB_SCOPE on ACT_RU_JOB(SUB_SCOPE_ID_, SCOPE_TYPE_);
|
|
|
|
create index ACT_IDX_JOB_SCOPE_DEF on ACT_RU_JOB(SCOPE_DEFINITION_ID_, SCOPE_TYPE_);
|
|
|
|
|
|
|
|
create index ACT_IDX_TJOB_SCOPE on ACT_RU_TIMER_JOB(SCOPE_ID_, SCOPE_TYPE_);
|
|
|
|
create index ACT_IDX_TJOB_SUB_SCOPE on ACT_RU_TIMER_JOB(SUB_SCOPE_ID_, SCOPE_TYPE_);
|
|
|
|
create index ACT_IDX_TJOB_SCOPE_DEF on ACT_RU_TIMER_JOB(SCOPE_DEFINITION_ID_, SCOPE_TYPE_);
|
|
|
|
|
|
|
|
create index ACT_IDX_SJOB_SCOPE on ACT_RU_SUSPENDED_JOB(SCOPE_ID_, SCOPE_TYPE_);
|
|
|
|
create index ACT_IDX_SJOB_SUB_SCOPE on ACT_RU_SUSPENDED_JOB(SUB_SCOPE_ID_, SCOPE_TYPE_);
|
|
|
|
create index ACT_IDX_SJOB_SCOPE_DEF on ACT_RU_SUSPENDED_JOB(SCOPE_DEFINITION_ID_, SCOPE_TYPE_);
|
|
|
|
|
|
|
|
create index ACT_IDX_DJOB_SCOPE on ACT_RU_DEADLETTER_JOB(SCOPE_ID_, SCOPE_TYPE_);
|
|
|
|
create index ACT_IDX_DJOB_SUB_SCOPE on ACT_RU_DEADLETTER_JOB(SUB_SCOPE_ID_, SCOPE_TYPE_);
|
|
|
|
create index ACT_IDX_DJOB_SCOPE_DEF on ACT_RU_DEADLETTER_JOB(SCOPE_DEFINITION_ID_, SCOPE_TYPE_);
|
|
|
|
|
|
|
|
create index ACT_IDX_EJOB_SCOPE on ACT_RU_EXTERNAL_JOB(SCOPE_ID_, SCOPE_TYPE_);
|
|
|
|
create index ACT_IDX_EJOB_SUB_SCOPE on ACT_RU_EXTERNAL_JOB(SUB_SCOPE_ID_, SCOPE_TYPE_);
|
|
|
|
create index ACT_IDX_EJOB_SCOPE_DEF on ACT_RU_EXTERNAL_JOB(SCOPE_DEFINITION_ID_, SCOPE_TYPE_);
|
|
|
|
|
|
|
|
insert into ACT_GE_PROPERTY values ('job.schema.version', '7.0.1.1', 1);
|
|
|
|
|
|
|
|
insert into ACT_GE_PROPERTY values ('batch.schema.version', '7.0.1.1', 1);
|
|
|
|
|
|
|
|
|
|
|
|
create table ACT_RU_TASK (
|
|
|
|
ID_ varchar(64),
|
|
|
|
REV_ integer,
|
|
|
|
EXECUTION_ID_ varchar(64),
|
|
|
|
PROC_INST_ID_ varchar(64),
|
|
|
|
PROC_DEF_ID_ varchar(64),
|
|
|
|
TASK_DEF_ID_ varchar(64),
|
|
|
|
SCOPE_ID_ varchar(255),
|
|
|
|
SUB_SCOPE_ID_ varchar(255),
|
|
|
|
SCOPE_TYPE_ varchar(255),
|
|
|
|
SCOPE_DEFINITION_ID_ varchar(255),
|
|
|
|
PROPAGATED_STAGE_INST_ID_ varchar(255),
|
|
|
|
NAME_ varchar(255),
|
|
|
|
PARENT_TASK_ID_ varchar(64),
|
|
|
|
DESCRIPTION_ varchar(4000),
|
|
|
|
TASK_DEF_KEY_ varchar(255),
|
|
|
|
OWNER_ varchar(255),
|
|
|
|
ASSIGNEE_ varchar(255),
|
|
|
|
DELEGATION_ varchar(64),
|
|
|
|
PRIORITY_ integer,
|
|
|
|
CREATE_TIME_ timestamp,
|
|
|
|
DUE_DATE_ timestamp,
|
|
|
|
CATEGORY_ varchar(255),
|
|
|
|
SUSPENSION_STATE_ integer,
|
|
|
|
TENANT_ID_ varchar(255) default '',
|
|
|
|
FORM_KEY_ varchar(255),
|
|
|
|
CLAIM_TIME_ timestamp,
|
|
|
|
IS_COUNT_ENABLED_ boolean,
|
|
|
|
VAR_COUNT_ integer,
|
|
|
|
ID_LINK_COUNT_ integer,
|
|
|
|
SUB_TASK_COUNT_ integer,
|
|
|
|
primary key (ID_)
|
|
|
|
);
|
|
|
|
|
|
|
|
create index ACT_IDX_TASK_CREATE on ACT_RU_TASK(CREATE_TIME_);
|
|
|
|
create index ACT_IDX_TASK_SCOPE on ACT_RU_TASK(SCOPE_ID_, SCOPE_TYPE_);
|
|
|
|
create index ACT_IDX_TASK_SUB_SCOPE on ACT_RU_TASK(SUB_SCOPE_ID_, SCOPE_TYPE_);
|
|
|
|
create index ACT_IDX_TASK_SCOPE_DEF on ACT_RU_TASK(SCOPE_DEFINITION_ID_, SCOPE_TYPE_);
|
|
|
|
|
|
|
|
insert into ACT_GE_PROPERTY values ('task.schema.version', '7.0.1.1', 1);
|
|
|
|
|
|
|
|
create table ACT_HI_TASKINST (
|
|
|
|
ID_ varchar(64) not null,
|
|
|
|
REV_ integer default 1,
|
|
|
|
PROC_DEF_ID_ varchar(64),
|
|
|
|
TASK_DEF_ID_ varchar(64),
|
|
|
|
TASK_DEF_KEY_ varchar(255),
|
|
|
|
PROC_INST_ID_ varchar(64),
|
|
|
|
EXECUTION_ID_ varchar(64),
|
|
|
|
SCOPE_ID_ varchar(255),
|
|
|
|
SUB_SCOPE_ID_ varchar(255),
|
|
|
|
SCOPE_TYPE_ varchar(255),
|
|
|
|
SCOPE_DEFINITION_ID_ varchar(255),
|
|
|
|
PROPAGATED_STAGE_INST_ID_ varchar(255),
|
|
|
|
NAME_ varchar(255),
|
|
|
|
PARENT_TASK_ID_ varchar(64),
|
|
|
|
DESCRIPTION_ varchar(4000),
|
|
|
|
OWNER_ varchar(255),
|
|
|
|
ASSIGNEE_ varchar(255),
|
|
|
|
START_TIME_ timestamp not null,
|
|
|
|
CLAIM_TIME_ timestamp,
|
|
|
|
END_TIME_ timestamp,
|
|
|
|
DURATION_ bigint,
|
|
|
|
DELETE_REASON_ varchar(4000),
|
|
|
|
PRIORITY_ integer,
|
|
|
|
DUE_DATE_ timestamp,
|
|
|
|
FORM_KEY_ varchar(255),
|
|
|
|
CATEGORY_ varchar(255),
|
|
|
|
TENANT_ID_ varchar(255) default '',
|
|
|
|
LAST_UPDATED_TIME_ timestamp,
|
|
|
|
primary key (ID_)
|
|
|
|
);
|
|
|
|
|
|
|
|
create table ACT_HI_TSK_LOG (
|
|
|
|
ID_ SERIAL PRIMARY KEY,
|
|
|
|
TYPE_ varchar(64),
|
|
|
|
TASK_ID_ varchar(64) not null,
|
|
|
|
TIME_STAMP_ timestamp not null,
|
|
|
|
USER_ID_ varchar(255),
|
|
|
|
DATA_ varchar(4000),
|
|
|
|
EXECUTION_ID_ varchar(64),
|
|
|
|
PROC_INST_ID_ varchar(64),
|
|
|
|
PROC_DEF_ID_ varchar(64),
|
|
|
|
SCOPE_ID_ varchar(255),
|
|
|
|
SCOPE_DEFINITION_ID_ varchar(255),
|
|
|
|
SUB_SCOPE_ID_ varchar(255),
|
|
|
|
SCOPE_TYPE_ varchar(255),
|
|
|
|
TENANT_ID_ varchar(255) default ''
|
|
|
|
);
|
|
|
|
|
|
|
|
create index ACT_IDX_HI_TASK_SCOPE on ACT_HI_TASKINST(SCOPE_ID_, SCOPE_TYPE_);
|
|
|
|
create index ACT_IDX_HI_TASK_SUB_SCOPE on ACT_HI_TASKINST(SUB_SCOPE_ID_, SCOPE_TYPE_);
|
|
|
|
create index ACT_IDX_HI_TASK_SCOPE_DEF on ACT_HI_TASKINST(SCOPE_DEFINITION_ID_, SCOPE_TYPE_);
|
|
|
|
|
|
|
|
create table ACT_RU_VARIABLE (
|
|
|
|
ID_ varchar(64) not null,
|
|
|
|
REV_ integer,
|
|
|
|
TYPE_ varchar(255) not null,
|
|
|
|
NAME_ varchar(255) not null,
|
|
|
|
EXECUTION_ID_ varchar(64),
|
|
|
|
PROC_INST_ID_ varchar(64),
|
|
|
|
TASK_ID_ varchar(64),
|
|
|
|
SCOPE_ID_ varchar(255),
|
|
|
|
SUB_SCOPE_ID_ varchar(255),
|
|
|
|
SCOPE_TYPE_ varchar(255),
|
|
|
|
BYTEARRAY_ID_ varchar(64),
|
|
|
|
DOUBLE_ double precision,
|
|
|
|
LONG_ bigint,
|
|
|
|
TEXT_ varchar(4000),
|
|
|
|
TEXT2_ varchar(4000),
|
|
|
|
META_INFO_ varchar(4000),
|
|
|
|
primary key (ID_)
|
|
|
|
);
|
|
|
|
|
|
|
|
create index ACT_IDX_RU_VAR_SCOPE_ID_TYPE on ACT_RU_VARIABLE(SCOPE_ID_, SCOPE_TYPE_);
|
|
|
|
create index ACT_IDX_RU_VAR_SUB_ID_TYPE on ACT_RU_VARIABLE(SUB_SCOPE_ID_, SCOPE_TYPE_);
|
|
|
|
|
|
|
|
create index ACT_IDX_VAR_BYTEARRAY on ACT_RU_VARIABLE(BYTEARRAY_ID_);
|
|
|
|
alter table ACT_RU_VARIABLE
|
|
|
|
add constraint ACT_FK_VAR_BYTEARRAY
|
|
|
|
foreign key (BYTEARRAY_ID_)
|
|
|
|
references ACT_GE_BYTEARRAY (ID_);
|
|
|
|
|
|
|
|
insert into ACT_GE_PROPERTY values ('variable.schema.version', '7.0.1.1', 1);
|
|
|
|
|
|
|
|
|
|
|
|
create table ACT_HI_VARINST (
|
|
|
|
ID_ varchar(64) not null,
|
|
|
|
REV_ integer default 1,
|
|
|
|
PROC_INST_ID_ varchar(64),
|
|
|
|
EXECUTION_ID_ varchar(64),
|
|
|
|
TASK_ID_ varchar(64),
|
|
|
|
NAME_ varchar(255) not null,
|
|
|
|
VAR_TYPE_ varchar(100),
|
|
|
|
SCOPE_ID_ varchar(255),
|
|
|
|
SUB_SCOPE_ID_ varchar(255),
|
|
|
|
SCOPE_TYPE_ varchar(255),
|
|
|
|
BYTEARRAY_ID_ varchar(64),
|
|
|
|
DOUBLE_ double precision,
|
|
|
|
LONG_ bigint,
|
|
|
|
TEXT_ varchar(4000),
|
|
|
|
TEXT2_ varchar(4000),
|
|
|
|
CREATE_TIME_ timestamp,
|
|
|
|
LAST_UPDATED_TIME_ timestamp,
|
|
|
|
META_INFO_ varchar(4000),
|
|
|
|
primary key (ID_)
|
|
|
|
);
|
|
|
|
|
|
|
|
create index ACT_IDX_HI_PROCVAR_NAME_TYPE on ACT_HI_VARINST(NAME_, VAR_TYPE_);
|
|
|
|
create index ACT_IDX_HI_VAR_SCOPE_ID_TYPE on ACT_HI_VARINST(SCOPE_ID_, SCOPE_TYPE_);
|
|
|
|
create index ACT_IDX_HI_VAR_SUB_ID_TYPE on ACT_HI_VARINST(SUB_SCOPE_ID_, SCOPE_TYPE_);
|
|
|
|
|
|
|
|
|
|
|
|
create table ACT_RU_EVENT_SUBSCR (
|
|
|
|
ID_ varchar(64) not null,
|
|
|
|
REV_ integer,
|
|
|
|
EVENT_TYPE_ varchar(255) not null,
|
|
|
|
EVENT_NAME_ varchar(255),
|
|
|
|
EXECUTION_ID_ varchar(64),
|
|
|
|
PROC_INST_ID_ varchar(64),
|
Feat# Implementation of Custom Workflows (#23023)
* Draft Implementation of Custom Workflows
* Multiple Entities in the Same Trigger for Workflow, along with draft implementation of signal id
* Improved User Approval Task and Impl
* Custom Workflows - Draft Implementation 2, improved periodic batch entity filter and other improvements
* feat(governance): Implement transactional custom workflows - improved
This commit introduces a robust, transactional, and extensible framework for custom governance workflows in OpenMetadata.
Key features and improvements include:
Transactional Workflow Management: A new WorkflowTransactionManager ensures atomic operations for creating, updating, and deleting workflow definitions, maintaining consistency between the OpenMetadata database and the Flowable engine.
Safe ID Encoding: Implemented a WorkflowIdEncoder to generate safe, Base64-encoded, and collision-resistant IDs for Flowable processes, preventing errors from ID truncation.
Rollback and Deprecation Tasks:
Added RollbackEntityTask to revert entities to their last approved state.
Introduced DeprecateStaleEntityTask for automated lifecycle management of stale assets.
Enhanced Workflow Engine:
Improved WorkflowHandler to validate workflow definitions before deployment.
Added new custom functions to the rule engine for checking entity update timestamps and calculating field completeness scores.
CI/CD and Build Improvements:
Updated the CI Dockerfile with a multi-stage build and refined dependency installation.
Modified POM files to include necessary dependencies for new features.
* Adding DataCompleteness Task Node, Flowable Debug logs
* Transaction handling for Custom Workflow - Initial Draft
* add new tasks to node definition interface
* Update generated TypeScript types
* Draft Implementation of Multi Reviewer Approval Task with Migration
* Update generated TypeScript types
* Transaction handling fix, id truncation fix by migration, feed repo fix for multi reviewer pattern, copilot comments
* Update generated TypeScript types
* Fixed Multi Reviewer approval to take consideration of the namespaced variables, Fixed RollBackEntity task to follow subprocess like other automated tasks, copilot nitpicks
* Remove conditionalSetEntityAttributes as it is not needed anymore
* Update generated TypeScript types
* Completely remove the setConditionalAttributes to fix compilation errors
* Removed the comments in the schemaChanges
* Created a new Task called CreateDetailedApprovalTaskImpl, Fixed RollBackEntityTask to roll back to either Approved or Rejected state, use namespaced variables, Updated the workflow handler to resolve the tasks and remove them from the user who has approved the task in the feed during multi reviewer approval, TransactionManager updated to keep Transactions in place, Improve the Validation Node input in the Mainworkflow java to handle proper graph traversal, Find Proper Termination Message for the two user events that are conflicting, Include Message in the request approval thread task for proper messages
* Update generated TypeScript types
* Rendering of messages in task thread
* Fix PeriodicBatchEntityTriggerTask to separate workflows based on entities Draft, Fix: SetEntityAttributes Impl to handle multiple fields, Fix: DataCompletenessTask Draft
* Fix DataCompletenessTask BoundaryEvent in Flowable
* Introduced Wf Deployment Strategy for transaction Handling, Improved user tasks for better termination event naming, fix periodic batch entity trigger to fetch the entity instead of all the entities in the trigger, Migrated GlossaryApprovalWorkflow.json with new nodes and edges, Fixed test cases and some edge cases
* Update generated TypeScript types
* Added performTasks for TagRepository and DataProductRepository, Removed test api, removed unnecessary change from workflow json, improved DataCompletenessImpl, Improved CreateDetailedApprovalTaskImpl to show what updated and not updated in the thread response
* Remove Entity Certification and Entity Status tasks and make use of generic set entity attribute task
* Update generated TypeScript types
* Fix the compilation issues!
* Remove setCertification and setEntityAttributes from createWorkflowDefinition
* Test cases for custom workflows related to glossaryTermApprovalWorkflow
* Test cases for custom workflows
* Changed info to debug logs
* Update generated TypeScript types
* DetailedUserApprovalTask changed to reviewChange task, Have validations for workflows where user approval tasks can only be available for entities that support reviewers
* Fix compilation issues and mvn spotless apply
* Update generated TypeScript types
* Remove Extra assignees from user tasks
* Update generated TypeScript types
* Replace Tags/GlossaryTerms during Mutual Exclusivity and Append when there is no Mutual Exclusivity
* Workflow Transaction Manager to handle authorization as part of its functionality, Added Validation for workflows using /validate endpoint
* Increase the Flowable's polling time to 60 seconds to poll timer and async jobs table
* Update generated TypeScript types
* Enum for UserTask Termination Messages, Removed WorkflowUtils to use WorkflowHandler's terminateDuplicate Instances, Approval and rejecters list in the variables, using namespaced variables for updatedBy
* Reverted the enum for userTaskType for now
* Added new tests for dataContract, dataProduct and Tag for user approval tasks
* Glossary Approval Workflow changed to handle jsonLogic according to UI expectations
* Added a new Task type for change description tasks to review and suggest the changes, Added checkUpdatedByReviewer incase of perfom tasks, increase wf test timeout
* Update generated TypeScript types
* TaskWorkflow constructor public to be used by Collate Repo
* AutoApproveServiceTaskImpl incase the assignees are not there for the userTask with ExlusiveGateway builder with hasAssignees
* Fix Compilation Issues - Upgrade of deps to lang3
* ExclusiveGatewayBuilder set exclusive as true, and other minor changes for test and approval tasks
* Added a different wait mechanism for user tasks in WorkflowDefinitionResourceTest.java
* Combined UserApprovalTask and ChangeReviewTask into one to handle suggestions in the same task!
* Update generated TypeScript types
* Test Case Approval Workflow, Removing orphaned changeReviewTask, Test case fix and new test cases
* Update generated TypeScript types
* Treat empty strings, arrays as missing by default
* Update generated TypeScript types
* fix compilation issues by changing the schema properly
* Remove Stale ChangeReview Task
* Update generated TypeScript types
* Enhanced User Approval task to show changed fields along with what changed and the task resolve function as well
* Update generated TypeScript types
* Add Knowledge center page to workflows event consumer, remove legacy backward compatibility for triggers, lenient validations for workflows when there are no nodes
* EntitySpecific Filters for EventBased Trigger, Removing Backward Compatibility logic for filters, Removed unnecessary comments and execution variables, Handle Structured task resolver for dataProduct, dataContract, tag and testCase, Modified GlossaryApprovalWorkflow.json and improved the MigrationUtil
* Update generated TypeScript types
* Bring back entitycertification and glosarystatus task for backward compatibility
* Update generated TypeScript types
* Filter is a map, entity specific filters are stringified, have certification and glossary status tasks in nodeinterface
* Merge Main
* Remove Suggestions for RequestApproval
* Update generated TypeScript types
* Remove Old Deployments of Periodic Batch Entity Trigger and use hiphen to trigger to avoid accidental triggering
* Resolve Merge conflicts, Java Checkstyle
* Update generated TypeScript types
* Fix Migrations
* Added alter table queries in 1.6.0 to avoid cached plan queries in flowable
* Increase timeout in workflow definition resource test
* Increase polling in workflow definition resource test
* Fix java Checkstyle
* comment the flaky test
* COmmented out Flaky Test Cases, fixed a bug on team reviewers
* Resolve java checkstyle after resolving conflicts
* add updated at field in json logic for glossary
* update fields
* add version field
* Update the rule config of new term node with "and" and update the migration as well
* add equal not equal op
* Delete the trigger workflows using like condition
* Defensive Fallback for multiple task instances created by race condition, Terminate duplicate instances of main workflows
* reverting operators
* Approval Capabilities for Metrics
* Update generated TypeScript types
* Move Migrations to 1.10.1 from 1.10.0
* Removed the extra spaces in Migration 1.10
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: karanh37 <karanh37@gmail.com>
2025-10-08 18:57:44 +05:30
|
|
|
ACTIVITY_ID_ varchar(255),
|
2024-11-13 08:47:44 +01:00
|
|
|
CONFIGURATION_ varchar(255),
|
|
|
|
CREATED_ timestamp not null,
|
|
|
|
PROC_DEF_ID_ varchar(64),
|
|
|
|
SUB_SCOPE_ID_ varchar(64),
|
|
|
|
SCOPE_ID_ varchar(64),
|
|
|
|
SCOPE_DEFINITION_ID_ varchar(64),
|
|
|
|
SCOPE_TYPE_ varchar(64),
|
|
|
|
LOCK_TIME_ timestamp,
|
|
|
|
LOCK_OWNER_ varchar(255),
|
|
|
|
TENANT_ID_ varchar(255) default '',
|
|
|
|
primary key (ID_)
|
|
|
|
);
|
|
|
|
|
|
|
|
create index ACT_IDX_EVENT_SUBSCR_CONFIG_ on ACT_RU_EVENT_SUBSCR(CONFIGURATION_);
|
|
|
|
create index ACT_IDX_EVENT_SUBSCR on ACT_RU_EVENT_SUBSCR(EXECUTION_ID_);
|
|
|
|
create index ACT_IDX_EVENT_SUBSCR_SCOPEREF_ on ACT_RU_EVENT_SUBSCR(SCOPE_ID_, SCOPE_TYPE_);
|
|
|
|
|
|
|
|
insert into ACT_GE_PROPERTY values ('eventsubscription.schema.version', '7.0.1.1', 1);
|
|
|
|
create table ACT_RE_DEPLOYMENT (
|
|
|
|
ID_ varchar(64),
|
|
|
|
NAME_ varchar(255),
|
|
|
|
CATEGORY_ varchar(255),
|
|
|
|
KEY_ varchar(255),
|
|
|
|
TENANT_ID_ varchar(255) default '',
|
|
|
|
DEPLOY_TIME_ timestamp,
|
|
|
|
DERIVED_FROM_ varchar(64),
|
|
|
|
DERIVED_FROM_ROOT_ varchar(64),
|
|
|
|
PARENT_DEPLOYMENT_ID_ varchar(255),
|
|
|
|
ENGINE_VERSION_ varchar(255),
|
|
|
|
primary key (ID_)
|
|
|
|
);
|
|
|
|
|
|
|
|
create table ACT_RE_MODEL (
|
|
|
|
ID_ varchar(64) not null,
|
|
|
|
REV_ integer,
|
|
|
|
NAME_ varchar(255),
|
|
|
|
KEY_ varchar(255),
|
|
|
|
CATEGORY_ varchar(255),
|
|
|
|
CREATE_TIME_ timestamp,
|
|
|
|
LAST_UPDATE_TIME_ timestamp,
|
|
|
|
VERSION_ integer,
|
|
|
|
META_INFO_ varchar(4000),
|
|
|
|
DEPLOYMENT_ID_ varchar(64),
|
|
|
|
EDITOR_SOURCE_VALUE_ID_ varchar(64),
|
|
|
|
EDITOR_SOURCE_EXTRA_VALUE_ID_ varchar(64),
|
|
|
|
TENANT_ID_ varchar(255) default '',
|
|
|
|
primary key (ID_)
|
|
|
|
);
|
|
|
|
|
|
|
|
create table ACT_RU_EXECUTION (
|
|
|
|
ID_ varchar(64),
|
|
|
|
REV_ integer,
|
|
|
|
PROC_INST_ID_ varchar(64),
|
|
|
|
BUSINESS_KEY_ varchar(255),
|
|
|
|
PARENT_ID_ varchar(64),
|
|
|
|
PROC_DEF_ID_ varchar(64),
|
|
|
|
SUPER_EXEC_ varchar(64),
|
|
|
|
ROOT_PROC_INST_ID_ varchar(64),
|
|
|
|
ACT_ID_ varchar(255),
|
|
|
|
IS_ACTIVE_ boolean,
|
|
|
|
IS_CONCURRENT_ boolean,
|
|
|
|
IS_SCOPE_ boolean,
|
|
|
|
IS_EVENT_SCOPE_ boolean,
|
|
|
|
IS_MI_ROOT_ boolean,
|
|
|
|
SUSPENSION_STATE_ integer,
|
|
|
|
CACHED_ENT_STATE_ integer,
|
|
|
|
TENANT_ID_ varchar(255) default '',
|
|
|
|
NAME_ varchar(255),
|
|
|
|
START_ACT_ID_ varchar(255),
|
|
|
|
START_TIME_ timestamp,
|
|
|
|
START_USER_ID_ varchar(255),
|
|
|
|
LOCK_TIME_ timestamp,
|
|
|
|
LOCK_OWNER_ varchar(255),
|
|
|
|
IS_COUNT_ENABLED_ boolean,
|
|
|
|
EVT_SUBSCR_COUNT_ integer,
|
|
|
|
TASK_COUNT_ integer,
|
|
|
|
JOB_COUNT_ integer,
|
|
|
|
TIMER_JOB_COUNT_ integer,
|
|
|
|
SUSP_JOB_COUNT_ integer,
|
|
|
|
DEADLETTER_JOB_COUNT_ integer,
|
|
|
|
EXTERNAL_WORKER_JOB_COUNT_ integer,
|
|
|
|
VAR_COUNT_ integer,
|
|
|
|
ID_LINK_COUNT_ integer,
|
|
|
|
CALLBACK_ID_ varchar(255),
|
|
|
|
CALLBACK_TYPE_ varchar(255),
|
|
|
|
REFERENCE_ID_ varchar(255),
|
|
|
|
REFERENCE_TYPE_ varchar(255),
|
|
|
|
PROPAGATED_STAGE_INST_ID_ varchar(255),
|
|
|
|
BUSINESS_STATUS_ varchar(255),
|
|
|
|
primary key (ID_)
|
|
|
|
);
|
|
|
|
|
|
|
|
create table ACT_RE_PROCDEF (
|
|
|
|
ID_ varchar(64) NOT NULL,
|
|
|
|
REV_ integer,
|
|
|
|
CATEGORY_ varchar(255),
|
|
|
|
NAME_ varchar(255),
|
|
|
|
KEY_ varchar(255) NOT NULL,
|
|
|
|
VERSION_ integer NOT NULL,
|
|
|
|
DEPLOYMENT_ID_ varchar(64),
|
|
|
|
RESOURCE_NAME_ varchar(4000),
|
|
|
|
DGRM_RESOURCE_NAME_ varchar(4000),
|
|
|
|
DESCRIPTION_ varchar(4000),
|
|
|
|
HAS_START_FORM_KEY_ boolean,
|
|
|
|
HAS_GRAPHICAL_NOTATION_ boolean,
|
|
|
|
SUSPENSION_STATE_ integer,
|
|
|
|
TENANT_ID_ varchar(255) default '',
|
|
|
|
DERIVED_FROM_ varchar(64),
|
|
|
|
DERIVED_FROM_ROOT_ varchar(64),
|
|
|
|
DERIVED_VERSION_ integer NOT NULL default 0,
|
|
|
|
ENGINE_VERSION_ varchar(255),
|
|
|
|
primary key (ID_)
|
|
|
|
);
|
|
|
|
|
|
|
|
create table ACT_EVT_LOG (
|
|
|
|
LOG_NR_ SERIAL PRIMARY KEY,
|
|
|
|
TYPE_ varchar(64),
|
|
|
|
PROC_DEF_ID_ varchar(64),
|
|
|
|
PROC_INST_ID_ varchar(64),
|
|
|
|
EXECUTION_ID_ varchar(64),
|
|
|
|
TASK_ID_ varchar(64),
|
|
|
|
TIME_STAMP_ timestamp not null,
|
|
|
|
USER_ID_ varchar(255),
|
|
|
|
DATA_ bytea,
|
|
|
|
LOCK_OWNER_ varchar(255),
|
|
|
|
LOCK_TIME_ timestamp null,
|
|
|
|
IS_PROCESSED_ smallint default 0
|
|
|
|
);
|
|
|
|
|
|
|
|
create table ACT_PROCDEF_INFO (
|
|
|
|
ID_ varchar(64) not null,
|
|
|
|
PROC_DEF_ID_ varchar(64) not null,
|
|
|
|
REV_ integer,
|
|
|
|
INFO_JSON_ID_ varchar(64),
|
|
|
|
primary key (ID_)
|
|
|
|
);
|
|
|
|
|
|
|
|
create table ACT_RU_ACTINST (
|
|
|
|
ID_ varchar(64) not null,
|
|
|
|
REV_ integer default 1,
|
|
|
|
PROC_DEF_ID_ varchar(64) not null,
|
|
|
|
PROC_INST_ID_ varchar(64) not null,
|
|
|
|
EXECUTION_ID_ varchar(64) not null,
|
|
|
|
ACT_ID_ varchar(255) not null,
|
|
|
|
TASK_ID_ varchar(64),
|
|
|
|
CALL_PROC_INST_ID_ varchar(64),
|
|
|
|
ACT_NAME_ varchar(255),
|
|
|
|
ACT_TYPE_ varchar(255) not null,
|
|
|
|
ASSIGNEE_ varchar(255),
|
|
|
|
START_TIME_ timestamp not null,
|
|
|
|
END_TIME_ timestamp,
|
|
|
|
DURATION_ bigint,
|
|
|
|
TRANSACTION_ORDER_ integer,
|
|
|
|
DELETE_REASON_ varchar(4000),
|
|
|
|
TENANT_ID_ varchar(255) default '',
|
|
|
|
primary key (ID_)
|
|
|
|
);
|
|
|
|
|
|
|
|
create index ACT_IDX_EXEC_BUSKEY on ACT_RU_EXECUTION(BUSINESS_KEY_);
|
|
|
|
create index ACT_IDX_EXE_ROOT on ACT_RU_EXECUTION(ROOT_PROC_INST_ID_);
|
|
|
|
create index ACT_IDX_EXEC_REF_ID_ on ACT_RU_EXECUTION(REFERENCE_ID_);
|
|
|
|
create index ACT_IDX_VARIABLE_TASK_ID on ACT_RU_VARIABLE(TASK_ID_);
|
|
|
|
|
|
|
|
create index ACT_IDX_BYTEAR_DEPL on ACT_GE_BYTEARRAY(DEPLOYMENT_ID_);
|
|
|
|
|
|
|
|
create index ACT_IDX_RU_ACTI_START on ACT_RU_ACTINST(START_TIME_);
|
|
|
|
create index ACT_IDX_RU_ACTI_END on ACT_RU_ACTINST(END_TIME_);
|
|
|
|
create index ACT_IDX_RU_ACTI_PROC on ACT_RU_ACTINST(PROC_INST_ID_);
|
|
|
|
create index ACT_IDX_RU_ACTI_PROC_ACT on ACT_RU_ACTINST(PROC_INST_ID_, ACT_ID_);
|
|
|
|
create index ACT_IDX_RU_ACTI_EXEC on ACT_RU_ACTINST(EXECUTION_ID_);
|
|
|
|
create index ACT_IDX_RU_ACTI_EXEC_ACT on ACT_RU_ACTINST(EXECUTION_ID_, ACT_ID_);
|
|
|
|
create index ACT_IDX_RU_ACTI_TASK on ACT_RU_ACTINST(TASK_ID_);
|
|
|
|
|
|
|
|
alter table ACT_GE_BYTEARRAY
|
|
|
|
add constraint ACT_FK_BYTEARR_DEPL
|
|
|
|
foreign key (DEPLOYMENT_ID_)
|
|
|
|
references ACT_RE_DEPLOYMENT (ID_);
|
|
|
|
|
|
|
|
alter table ACT_RE_PROCDEF
|
|
|
|
add constraint ACT_UNIQ_PROCDEF
|
|
|
|
unique (KEY_,VERSION_, DERIVED_VERSION_, TENANT_ID_);
|
|
|
|
|
|
|
|
create index ACT_IDX_EXE_PROCINST on ACT_RU_EXECUTION(PROC_INST_ID_);
|
|
|
|
alter table ACT_RU_EXECUTION
|
|
|
|
add constraint ACT_FK_EXE_PROCINST
|
|
|
|
foreign key (PROC_INST_ID_)
|
|
|
|
references ACT_RU_EXECUTION (ID_);
|
|
|
|
|
|
|
|
create index ACT_IDX_EXE_PARENT on ACT_RU_EXECUTION(PARENT_ID_);
|
|
|
|
alter table ACT_RU_EXECUTION
|
|
|
|
add constraint ACT_FK_EXE_PARENT
|
|
|
|
foreign key (PARENT_ID_)
|
|
|
|
references ACT_RU_EXECUTION (ID_);
|
|
|
|
|
|
|
|
create index ACT_IDX_EXE_SUPER on ACT_RU_EXECUTION(SUPER_EXEC_);
|
|
|
|
alter table ACT_RU_EXECUTION
|
|
|
|
add constraint ACT_FK_EXE_SUPER
|
|
|
|
foreign key (SUPER_EXEC_)
|
|
|
|
references ACT_RU_EXECUTION (ID_);
|
|
|
|
|
|
|
|
|
|
|
|
create index ACT_IDX_EXE_PROCDEF on ACT_RU_EXECUTION(PROC_DEF_ID_);
|
|
|
|
alter table ACT_RU_EXECUTION
|
|
|
|
add constraint ACT_FK_EXE_PROCDEF
|
|
|
|
foreign key (PROC_DEF_ID_)
|
|
|
|
references ACT_RE_PROCDEF (ID_);
|
|
|
|
|
|
|
|
|
|
|
|
create index ACT_IDX_TSKASS_TASK on ACT_RU_IDENTITYLINK(TASK_ID_);
|
|
|
|
alter table ACT_RU_IDENTITYLINK
|
|
|
|
add constraint ACT_FK_TSKASS_TASK
|
|
|
|
foreign key (TASK_ID_)
|
|
|
|
references ACT_RU_TASK (ID_);
|
|
|
|
|
|
|
|
create index ACT_IDX_ATHRZ_PROCEDEF on ACT_RU_IDENTITYLINK(PROC_DEF_ID_);
|
|
|
|
alter table ACT_RU_IDENTITYLINK
|
|
|
|
add constraint ACT_FK_ATHRZ_PROCEDEF
|
|
|
|
foreign key (PROC_DEF_ID_)
|
|
|
|
references ACT_RE_PROCDEF (ID_);
|
|
|
|
|
|
|
|
create index ACT_IDX_IDL_PROCINST on ACT_RU_IDENTITYLINK(PROC_INST_ID_);
|
|
|
|
alter table ACT_RU_IDENTITYLINK
|
|
|
|
add constraint ACT_FK_IDL_PROCINST
|
|
|
|
foreign key (PROC_INST_ID_)
|
|
|
|
references ACT_RU_EXECUTION (ID_);
|
|
|
|
|
|
|
|
create index ACT_IDX_TASK_EXEC on ACT_RU_TASK(EXECUTION_ID_);
|
|
|
|
alter table ACT_RU_TASK
|
|
|
|
add constraint ACT_FK_TASK_EXE
|
|
|
|
foreign key (EXECUTION_ID_)
|
|
|
|
references ACT_RU_EXECUTION (ID_);
|
|
|
|
|
|
|
|
create index ACT_IDX_TASK_PROCINST on ACT_RU_TASK(PROC_INST_ID_);
|
|
|
|
alter table ACT_RU_TASK
|
|
|
|
add constraint ACT_FK_TASK_PROCINST
|
|
|
|
foreign key (PROC_INST_ID_)
|
|
|
|
references ACT_RU_EXECUTION (ID_);
|
|
|
|
|
|
|
|
create index ACT_IDX_TASK_PROCDEF on ACT_RU_TASK(PROC_DEF_ID_);
|
|
|
|
alter table ACT_RU_TASK
|
|
|
|
add constraint ACT_FK_TASK_PROCDEF
|
|
|
|
foreign key (PROC_DEF_ID_)
|
|
|
|
references ACT_RE_PROCDEF (ID_);
|
|
|
|
|
|
|
|
create index ACT_IDX_VAR_EXE on ACT_RU_VARIABLE(EXECUTION_ID_);
|
|
|
|
alter table ACT_RU_VARIABLE
|
|
|
|
add constraint ACT_FK_VAR_EXE
|
|
|
|
foreign key (EXECUTION_ID_)
|
|
|
|
references ACT_RU_EXECUTION (ID_);
|
|
|
|
|
|
|
|
create index ACT_IDX_VAR_PROCINST on ACT_RU_VARIABLE(PROC_INST_ID_);
|
|
|
|
alter table ACT_RU_VARIABLE
|
|
|
|
add constraint ACT_FK_VAR_PROCINST
|
|
|
|
foreign key (PROC_INST_ID_)
|
|
|
|
references ACT_RU_EXECUTION(ID_);
|
|
|
|
|
|
|
|
create index ACT_IDX_JOB_EXECUTION_ID on ACT_RU_JOB(EXECUTION_ID_);
|
|
|
|
alter table ACT_RU_JOB
|
|
|
|
add constraint ACT_FK_JOB_EXECUTION
|
|
|
|
foreign key (EXECUTION_ID_)
|
|
|
|
references ACT_RU_EXECUTION (ID_);
|
|
|
|
|
|
|
|
create index ACT_IDX_JOB_PROCESS_INSTANCE_ID on ACT_RU_JOB(PROCESS_INSTANCE_ID_);
|
|
|
|
alter table ACT_RU_JOB
|
|
|
|
add constraint ACT_FK_JOB_PROCESS_INSTANCE
|
|
|
|
foreign key (PROCESS_INSTANCE_ID_)
|
|
|
|
references ACT_RU_EXECUTION (ID_);
|
|
|
|
|
|
|
|
create index ACT_IDX_JOB_PROC_DEF_ID on ACT_RU_JOB(PROC_DEF_ID_);
|
|
|
|
alter table ACT_RU_JOB
|
|
|
|
add constraint ACT_FK_JOB_PROC_DEF
|
|
|
|
foreign key (PROC_DEF_ID_)
|
|
|
|
references ACT_RE_PROCDEF (ID_);
|
|
|
|
|
|
|
|
create index ACT_IDX_TIMER_JOB_EXECUTION_ID on ACT_RU_TIMER_JOB(EXECUTION_ID_);
|
|
|
|
alter table ACT_RU_TIMER_JOB
|
|
|
|
add constraint ACT_FK_TIMER_JOB_EXECUTION
|
|
|
|
foreign key (EXECUTION_ID_)
|
|
|
|
references ACT_RU_EXECUTION (ID_);
|
|
|
|
|
|
|
|
create index ACT_IDX_TIMER_JOB_PROCESS_INSTANCE_ID on ACT_RU_TIMER_JOB(PROCESS_INSTANCE_ID_);
|
|
|
|
alter table ACT_RU_TIMER_JOB
|
|
|
|
add constraint ACT_FK_TIMER_JOB_PROCESS_INSTANCE
|
|
|
|
foreign key (PROCESS_INSTANCE_ID_)
|
|
|
|
references ACT_RU_EXECUTION (ID_);
|
|
|
|
|
|
|
|
create index ACT_IDX_TIMER_JOB_PROC_DEF_ID on ACT_RU_TIMER_JOB(PROC_DEF_ID_);
|
|
|
|
alter table ACT_RU_TIMER_JOB
|
|
|
|
add constraint ACT_FK_TIMER_JOB_PROC_DEF
|
|
|
|
foreign key (PROC_DEF_ID_)
|
|
|
|
references ACT_RE_PROCDEF (ID_);
|
|
|
|
|
|
|
|
create index ACT_IDX_SUSPENDED_JOB_EXECUTION_ID on ACT_RU_SUSPENDED_JOB(EXECUTION_ID_);
|
|
|
|
alter table ACT_RU_SUSPENDED_JOB
|
|
|
|
add constraint ACT_FK_SUSPENDED_JOB_EXECUTION
|
|
|
|
foreign key (EXECUTION_ID_)
|
|
|
|
references ACT_RU_EXECUTION (ID_);
|
|
|
|
|
|
|
|
create index ACT_IDX_SUSPENDED_JOB_PROCESS_INSTANCE_ID on ACT_RU_SUSPENDED_JOB(PROCESS_INSTANCE_ID_);
|
|
|
|
alter table ACT_RU_SUSPENDED_JOB
|
|
|
|
add constraint ACT_FK_SUSPENDED_JOB_PROCESS_INSTANCE
|
|
|
|
foreign key (PROCESS_INSTANCE_ID_)
|
|
|
|
references ACT_RU_EXECUTION (ID_);
|
|
|
|
|
|
|
|
create index ACT_IDX_SUSPENDED_JOB_PROC_DEF_ID on ACT_RU_SUSPENDED_JOB(PROC_DEF_ID_);
|
|
|
|
alter table ACT_RU_SUSPENDED_JOB
|
|
|
|
add constraint ACT_FK_SUSPENDED_JOB_PROC_DEF
|
|
|
|
foreign key (PROC_DEF_ID_)
|
|
|
|
references ACT_RE_PROCDEF (ID_);
|
|
|
|
|
|
|
|
create index ACT_IDX_DEADLETTER_JOB_EXECUTION_ID on ACT_RU_DEADLETTER_JOB(EXECUTION_ID_);
|
|
|
|
alter table ACT_RU_DEADLETTER_JOB
|
|
|
|
add constraint ACT_FK_DEADLETTER_JOB_EXECUTION
|
|
|
|
foreign key (EXECUTION_ID_)
|
|
|
|
references ACT_RU_EXECUTION (ID_);
|
|
|
|
|
|
|
|
create index ACT_IDX_DEADLETTER_JOB_PROCESS_INSTANCE_ID on ACT_RU_DEADLETTER_JOB(PROCESS_INSTANCE_ID_);
|
|
|
|
alter table ACT_RU_DEADLETTER_JOB
|
|
|
|
add constraint ACT_FK_DEADLETTER_JOB_PROCESS_INSTANCE
|
|
|
|
foreign key (PROCESS_INSTANCE_ID_)
|
|
|
|
references ACT_RU_EXECUTION (ID_);
|
|
|
|
|
|
|
|
create index ACT_IDX_DEADLETTER_JOB_PROC_DEF_ID on ACT_RU_DEADLETTER_JOB(PROC_DEF_ID_);
|
|
|
|
alter table ACT_RU_DEADLETTER_JOB
|
|
|
|
add constraint ACT_FK_DEADLETTER_JOB_PROC_DEF
|
|
|
|
foreign key (PROC_DEF_ID_)
|
|
|
|
references ACT_RE_PROCDEF (ID_);
|
|
|
|
|
|
|
|
alter table ACT_RU_EVENT_SUBSCR
|
|
|
|
add constraint ACT_FK_EVENT_EXEC
|
|
|
|
foreign key (EXECUTION_ID_)
|
|
|
|
references ACT_RU_EXECUTION(ID_);
|
|
|
|
|
|
|
|
create index ACT_IDX_MODEL_SOURCE on ACT_RE_MODEL(EDITOR_SOURCE_VALUE_ID_);
|
|
|
|
alter table ACT_RE_MODEL
|
|
|
|
add constraint ACT_FK_MODEL_SOURCE
|
|
|
|
foreign key (EDITOR_SOURCE_VALUE_ID_)
|
|
|
|
references ACT_GE_BYTEARRAY (ID_);
|
|
|
|
|
|
|
|
create index ACT_IDX_MODEL_SOURCE_EXTRA on ACT_RE_MODEL(EDITOR_SOURCE_EXTRA_VALUE_ID_);
|
|
|
|
alter table ACT_RE_MODEL
|
|
|
|
add constraint ACT_FK_MODEL_SOURCE_EXTRA
|
|
|
|
foreign key (EDITOR_SOURCE_EXTRA_VALUE_ID_)
|
|
|
|
references ACT_GE_BYTEARRAY (ID_);
|
|
|
|
|
|
|
|
create index ACT_IDX_MODEL_DEPLOYMENT on ACT_RE_MODEL(DEPLOYMENT_ID_);
|
|
|
|
alter table ACT_RE_MODEL
|
|
|
|
add constraint ACT_FK_MODEL_DEPLOYMENT
|
|
|
|
foreign key (DEPLOYMENT_ID_)
|
|
|
|
references ACT_RE_DEPLOYMENT (ID_);
|
|
|
|
|
|
|
|
create index ACT_IDX_PROCDEF_INFO_JSON on ACT_PROCDEF_INFO(INFO_JSON_ID_);
|
|
|
|
alter table ACT_PROCDEF_INFO
|
|
|
|
add constraint ACT_FK_INFO_JSON_BA
|
|
|
|
foreign key (INFO_JSON_ID_)
|
|
|
|
references ACT_GE_BYTEARRAY (ID_);
|
|
|
|
|
|
|
|
create index ACT_IDX_PROCDEF_INFO_PROC on ACT_PROCDEF_INFO(PROC_DEF_ID_);
|
|
|
|
alter table ACT_PROCDEF_INFO
|
|
|
|
add constraint ACT_FK_INFO_PROCDEF
|
|
|
|
foreign key (PROC_DEF_ID_)
|
|
|
|
references ACT_RE_PROCDEF (ID_);
|
|
|
|
|
|
|
|
alter table ACT_PROCDEF_INFO
|
|
|
|
add constraint ACT_UNIQ_INFO_PROCDEF
|
|
|
|
unique (PROC_DEF_ID_);
|
|
|
|
|
|
|
|
insert into ACT_GE_PROPERTY
|
|
|
|
values ('schema.version', '7.0.1.1', 1);
|
|
|
|
|
|
|
|
insert into ACT_GE_PROPERTY
|
|
|
|
values ('schema.history', 'create(7.0.1.1)', 1);
|
|
|
|
|
|
|
|
create table ACT_HI_PROCINST (
|
|
|
|
ID_ varchar(64) not null,
|
|
|
|
REV_ integer default 1,
|
|
|
|
PROC_INST_ID_ varchar(64) not null,
|
|
|
|
BUSINESS_KEY_ varchar(255),
|
|
|
|
PROC_DEF_ID_ varchar(64) not null,
|
|
|
|
START_TIME_ timestamp not null,
|
|
|
|
END_TIME_ timestamp,
|
|
|
|
DURATION_ bigint,
|
|
|
|
START_USER_ID_ varchar(255),
|
|
|
|
START_ACT_ID_ varchar(255),
|
|
|
|
END_ACT_ID_ varchar(255),
|
|
|
|
SUPER_PROCESS_INSTANCE_ID_ varchar(64),
|
|
|
|
DELETE_REASON_ varchar(4000),
|
|
|
|
TENANT_ID_ varchar(255) default '',
|
|
|
|
NAME_ varchar(255),
|
|
|
|
CALLBACK_ID_ varchar(255),
|
|
|
|
CALLBACK_TYPE_ varchar(255),
|
|
|
|
REFERENCE_ID_ varchar(255),
|
|
|
|
REFERENCE_TYPE_ varchar(255),
|
|
|
|
PROPAGATED_STAGE_INST_ID_ varchar(255),
|
|
|
|
BUSINESS_STATUS_ varchar(255),
|
|
|
|
primary key (ID_),
|
|
|
|
unique (PROC_INST_ID_)
|
|
|
|
);
|
|
|
|
|
|
|
|
create table ACT_HI_ACTINST (
|
|
|
|
ID_ varchar(64) not null,
|
|
|
|
REV_ integer default 1,
|
|
|
|
PROC_DEF_ID_ varchar(64) not null,
|
|
|
|
PROC_INST_ID_ varchar(64) not null,
|
|
|
|
EXECUTION_ID_ varchar(64) not null,
|
|
|
|
ACT_ID_ varchar(255) not null,
|
|
|
|
TASK_ID_ varchar(64),
|
|
|
|
CALL_PROC_INST_ID_ varchar(64),
|
|
|
|
ACT_NAME_ varchar(255),
|
|
|
|
ACT_TYPE_ varchar(255) not null,
|
|
|
|
ASSIGNEE_ varchar(255),
|
|
|
|
START_TIME_ timestamp not null,
|
|
|
|
END_TIME_ timestamp,
|
|
|
|
TRANSACTION_ORDER_ integer,
|
|
|
|
DURATION_ bigint,
|
|
|
|
DELETE_REASON_ varchar(4000),
|
|
|
|
TENANT_ID_ varchar(255) default '',
|
|
|
|
primary key (ID_)
|
|
|
|
);
|
|
|
|
|
|
|
|
create table ACT_HI_DETAIL (
|
|
|
|
ID_ varchar(64) not null,
|
|
|
|
TYPE_ varchar(255) not null,
|
|
|
|
PROC_INST_ID_ varchar(64),
|
|
|
|
EXECUTION_ID_ varchar(64),
|
|
|
|
TASK_ID_ varchar(64),
|
|
|
|
ACT_INST_ID_ varchar(64),
|
|
|
|
NAME_ varchar(255) not null,
|
|
|
|
VAR_TYPE_ varchar(64),
|
|
|
|
REV_ integer,
|
|
|
|
TIME_ timestamp not null,
|
|
|
|
BYTEARRAY_ID_ varchar(64),
|
|
|
|
DOUBLE_ double precision,
|
|
|
|
LONG_ bigint,
|
|
|
|
TEXT_ varchar(4000),
|
|
|
|
TEXT2_ varchar(4000),
|
|
|
|
primary key (ID_)
|
|
|
|
);
|
|
|
|
|
|
|
|
create table ACT_HI_COMMENT (
|
|
|
|
ID_ varchar(64) not null,
|
|
|
|
TYPE_ varchar(255),
|
|
|
|
TIME_ timestamp not null,
|
|
|
|
USER_ID_ varchar(255),
|
|
|
|
TASK_ID_ varchar(64),
|
|
|
|
PROC_INST_ID_ varchar(64),
|
|
|
|
ACTION_ varchar(255),
|
|
|
|
MESSAGE_ varchar(4000),
|
|
|
|
FULL_MSG_ bytea,
|
|
|
|
primary key (ID_)
|
|
|
|
);
|
|
|
|
|
|
|
|
create table ACT_HI_ATTACHMENT (
|
|
|
|
ID_ varchar(64) not null,
|
|
|
|
REV_ integer,
|
|
|
|
USER_ID_ varchar(255),
|
|
|
|
NAME_ varchar(255),
|
|
|
|
DESCRIPTION_ varchar(4000),
|
|
|
|
TYPE_ varchar(255),
|
|
|
|
TASK_ID_ varchar(64),
|
|
|
|
PROC_INST_ID_ varchar(64),
|
|
|
|
URL_ varchar(4000),
|
|
|
|
CONTENT_ID_ varchar(64),
|
|
|
|
TIME_ timestamp,
|
|
|
|
primary key (ID_)
|
|
|
|
);
|
|
|
|
|
|
|
|
create index ACT_IDX_HI_PRO_INST_END on ACT_HI_PROCINST(END_TIME_);
|
|
|
|
create index ACT_IDX_HI_PRO_I_BUSKEY on ACT_HI_PROCINST(BUSINESS_KEY_);
|
|
|
|
create index ACT_IDX_HI_PRO_SUPER_PROCINST on ACT_HI_PROCINST(SUPER_PROCESS_INSTANCE_ID_);
|
|
|
|
create index ACT_IDX_HI_ACT_INST_START on ACT_HI_ACTINST(START_TIME_);
|
|
|
|
create index ACT_IDX_HI_ACT_INST_END on ACT_HI_ACTINST(END_TIME_);
|
|
|
|
create index ACT_IDX_HI_DETAIL_PROC_INST on ACT_HI_DETAIL(PROC_INST_ID_);
|
|
|
|
create index ACT_IDX_HI_DETAIL_ACT_INST on ACT_HI_DETAIL(ACT_INST_ID_);
|
|
|
|
create index ACT_IDX_HI_DETAIL_TIME on ACT_HI_DETAIL(TIME_);
|
|
|
|
create index ACT_IDX_HI_DETAIL_NAME on ACT_HI_DETAIL(NAME_);
|
|
|
|
create index ACT_IDX_HI_DETAIL_TASK_ID on ACT_HI_DETAIL(TASK_ID_);
|
|
|
|
create index ACT_IDX_HI_PROCVAR_PROC_INST on ACT_HI_VARINST(PROC_INST_ID_);
|
|
|
|
create index ACT_IDX_HI_PROCVAR_TASK_ID on ACT_HI_VARINST(TASK_ID_);
|
|
|
|
create index ACT_IDX_HI_PROCVAR_EXE on ACT_HI_VARINST(EXECUTION_ID_);
|
|
|
|
create index ACT_IDX_HI_ACT_INST_PROCINST on ACT_HI_ACTINST(PROC_INST_ID_, ACT_ID_);
|
|
|
|
create index ACT_IDX_HI_ACT_INST_EXEC on ACT_HI_ACTINST(EXECUTION_ID_, ACT_ID_);
|
|
|
|
create index ACT_IDX_HI_IDENT_LNK_TASK on ACT_HI_IDENTITYLINK(TASK_ID_);
|
|
|
|
create index ACT_IDX_HI_IDENT_LNK_PROCINST on ACT_HI_IDENTITYLINK(PROC_INST_ID_);
|
|
|
|
create index ACT_IDX_HI_TASK_INST_PROCINST on ACT_HI_TASKINST(PROC_INST_ID_);
|
|
|
|
create table ACT_ID_PROPERTY (
|
|
|
|
NAME_ varchar(64),
|
|
|
|
VALUE_ varchar(300),
|
|
|
|
REV_ integer,
|
|
|
|
primary key (NAME_)
|
|
|
|
);
|
|
|
|
|
|
|
|
insert into ACT_ID_PROPERTY
|
|
|
|
values ('schema.version', '7.0.1.1', 1);
|
|
|
|
|
|
|
|
create table ACT_ID_BYTEARRAY (
|
|
|
|
ID_ varchar(64),
|
|
|
|
REV_ integer,
|
|
|
|
NAME_ varchar(255),
|
|
|
|
BYTES_ bytea,
|
|
|
|
primary key (ID_)
|
|
|
|
);
|
|
|
|
|
|
|
|
create table ACT_ID_GROUP (
|
|
|
|
ID_ varchar(64),
|
|
|
|
REV_ integer,
|
|
|
|
NAME_ varchar(255),
|
|
|
|
TYPE_ varchar(255),
|
|
|
|
primary key (ID_)
|
|
|
|
);
|
|
|
|
|
|
|
|
create table ACT_ID_MEMBERSHIP (
|
|
|
|
USER_ID_ varchar(64),
|
|
|
|
GROUP_ID_ varchar(64),
|
|
|
|
primary key (USER_ID_, GROUP_ID_)
|
|
|
|
);
|
|
|
|
|
|
|
|
create table ACT_ID_USER (
|
|
|
|
ID_ varchar(64),
|
|
|
|
REV_ integer,
|
|
|
|
FIRST_ varchar(255),
|
|
|
|
LAST_ varchar(255),
|
|
|
|
DISPLAY_NAME_ varchar(255),
|
|
|
|
EMAIL_ varchar(255),
|
|
|
|
PWD_ varchar(255),
|
|
|
|
PICTURE_ID_ varchar(64),
|
|
|
|
TENANT_ID_ varchar(255) default '',
|
|
|
|
primary key (ID_)
|
|
|
|
);
|
|
|
|
|
|
|
|
create table ACT_ID_INFO (
|
|
|
|
ID_ varchar(64),
|
|
|
|
REV_ integer,
|
|
|
|
USER_ID_ varchar(64),
|
|
|
|
TYPE_ varchar(64),
|
|
|
|
KEY_ varchar(255),
|
|
|
|
VALUE_ varchar(255),
|
|
|
|
PASSWORD_ bytea,
|
|
|
|
PARENT_ID_ varchar(255),
|
|
|
|
primary key (ID_)
|
|
|
|
);
|
|
|
|
|
|
|
|
create table ACT_ID_TOKEN (
|
|
|
|
ID_ varchar(64) not null,
|
|
|
|
REV_ integer,
|
|
|
|
TOKEN_VALUE_ varchar(255),
|
|
|
|
TOKEN_DATE_ timestamp,
|
|
|
|
IP_ADDRESS_ varchar(255),
|
|
|
|
USER_AGENT_ varchar(255),
|
|
|
|
USER_ID_ varchar(255),
|
|
|
|
TOKEN_DATA_ varchar(2000),
|
|
|
|
primary key (ID_)
|
|
|
|
);
|
|
|
|
|
|
|
|
create table ACT_ID_PRIV (
|
|
|
|
ID_ varchar(64) not null,
|
|
|
|
NAME_ varchar(255) not null,
|
|
|
|
primary key (ID_)
|
|
|
|
);
|
|
|
|
|
|
|
|
create table ACT_ID_PRIV_MAPPING (
|
|
|
|
ID_ varchar(64) not null,
|
|
|
|
PRIV_ID_ varchar(64) not null,
|
|
|
|
USER_ID_ varchar(255),
|
|
|
|
GROUP_ID_ varchar(255),
|
|
|
|
primary key (ID_)
|
|
|
|
);
|
|
|
|
|
|
|
|
create index ACT_IDX_MEMB_GROUP on ACT_ID_MEMBERSHIP(GROUP_ID_);
|
|
|
|
alter table ACT_ID_MEMBERSHIP
|
|
|
|
add constraint ACT_FK_MEMB_GROUP
|
|
|
|
foreign key (GROUP_ID_)
|
|
|
|
references ACT_ID_GROUP (ID_);
|
|
|
|
|
|
|
|
create index ACT_IDX_MEMB_USER on ACT_ID_MEMBERSHIP(USER_ID_);
|
|
|
|
alter table ACT_ID_MEMBERSHIP
|
|
|
|
add constraint ACT_FK_MEMB_USER
|
|
|
|
foreign key (USER_ID_)
|
|
|
|
references ACT_ID_USER (ID_);
|
|
|
|
|
|
|
|
create index ACT_IDX_PRIV_MAPPING on ACT_ID_PRIV_MAPPING(PRIV_ID_);
|
|
|
|
alter table ACT_ID_PRIV_MAPPING
|
|
|
|
add constraint ACT_FK_PRIV_MAPPING
|
|
|
|
foreign key (PRIV_ID_)
|
|
|
|
references ACT_ID_PRIV (ID_);
|
|
|
|
|
|
|
|
create index ACT_IDX_PRIV_USER on ACT_ID_PRIV_MAPPING(USER_ID_);
|
|
|
|
create index ACT_IDX_PRIV_GROUP on ACT_ID_PRIV_MAPPING(GROUP_ID_);
|
|
|
|
|
|
|
|
alter table ACT_ID_PRIV
|
|
|
|
add constraint ACT_UNIQ_PRIV_NAME
|
|
|
|
unique (NAME_);
|
|
|
|
|
|
|
|
CREATE TABLE flw_ev_databasechangeloglock (ID INTEGER NOT NULL, LOCKED BOOLEAN NOT NULL, LOCKGRANTED TIMESTAMP WITHOUT TIME ZONE, LOCKEDBY VARCHAR(255), CONSTRAINT FLW_EV_DATABASECHANGELOGLOCK_PKEY PRIMARY KEY (ID));
|
|
|
|
|
|
|
|
DELETE FROM flw_ev_databasechangeloglock;
|
|
|
|
|
|
|
|
INSERT INTO flw_ev_databasechangeloglock (ID, LOCKED) VALUES (1, FALSE);
|
|
|
|
|
|
|
|
UPDATE flw_ev_databasechangeloglock SET LOCKED = TRUE, LOCKEDBY = '192.168.10.1 (192.168.10.1)', LOCKGRANTED = '2022-12-21 18:21:46.681' WHERE ID = 1 AND LOCKED = FALSE;
|
|
|
|
|
|
|
|
CREATE TABLE flw_ev_databasechangelog (ID VARCHAR(255) NOT NULL, AUTHOR VARCHAR(255) NOT NULL, FILENAME VARCHAR(255) NOT NULL, DATEEXECUTED TIMESTAMP WITHOUT TIME ZONE NOT NULL, ORDEREXECUTED INTEGER NOT NULL, EXECTYPE VARCHAR(10) NOT NULL, MD5SUM VARCHAR(35), DESCRIPTION VARCHAR(255), COMMENTS VARCHAR(255), TAG VARCHAR(255), LIQUIBASE VARCHAR(20), CONTEXTS VARCHAR(255), LABELS VARCHAR(255), DEPLOYMENT_ID VARCHAR(10));
|
|
|
|
|
|
|
|
CREATE TABLE FLW_EVENT_DEPLOYMENT (ID_ VARCHAR(255) NOT NULL, NAME_ VARCHAR(255), CATEGORY_ VARCHAR(255), DEPLOY_TIME_ TIMESTAMP(3) WITHOUT TIME ZONE, TENANT_ID_ VARCHAR(255), PARENT_DEPLOYMENT_ID_ VARCHAR(255), CONSTRAINT FLW_EVENT_DEPLOYMENT_PKEY PRIMARY KEY (ID_));
|
|
|
|
|
|
|
|
CREATE TABLE FLW_EVENT_RESOURCE (ID_ VARCHAR(255) NOT NULL, NAME_ VARCHAR(255), DEPLOYMENT_ID_ VARCHAR(255), RESOURCE_BYTES_ BYTEA, CONSTRAINT FLW_EVENT_RESOURCE_PKEY PRIMARY KEY (ID_));
|
|
|
|
|
|
|
|
CREATE TABLE FLW_EVENT_DEFINITION (ID_ VARCHAR(255) NOT NULL, NAME_ VARCHAR(255), VERSION_ INTEGER, KEY_ VARCHAR(255), CATEGORY_ VARCHAR(255), DEPLOYMENT_ID_ VARCHAR(255), TENANT_ID_ VARCHAR(255), RESOURCE_NAME_ VARCHAR(255), DESCRIPTION_ VARCHAR(255), CONSTRAINT FLW_EVENT_DEFINITION_PKEY PRIMARY KEY (ID_));
|
|
|
|
|
|
|
|
CREATE UNIQUE INDEX ACT_IDX_EVENT_DEF_UNIQ ON FLW_EVENT_DEFINITION(KEY_, VERSION_, TENANT_ID_);
|
|
|
|
|
|
|
|
CREATE TABLE FLW_CHANNEL_DEFINITION (ID_ VARCHAR(255) NOT NULL, NAME_ VARCHAR(255), VERSION_ INTEGER, KEY_ VARCHAR(255), CATEGORY_ VARCHAR(255), DEPLOYMENT_ID_ VARCHAR(255), CREATE_TIME_ TIMESTAMP(3) WITHOUT TIME ZONE, TENANT_ID_ VARCHAR(255), RESOURCE_NAME_ VARCHAR(255), DESCRIPTION_ VARCHAR(255), CONSTRAINT FLW_CHANNEL_DEFINITION_PKEY PRIMARY KEY (ID_));
|
|
|
|
|
|
|
|
CREATE UNIQUE INDEX ACT_IDX_CHANNEL_DEF_UNIQ ON FLW_CHANNEL_DEFINITION(KEY_, VERSION_, TENANT_ID_);
|
|
|
|
|
|
|
|
INSERT INTO flw_ev_databasechangelog (ID, AUTHOR, FILENAME, DATEEXECUTED, ORDEREXECUTED, MD5SUM, DESCRIPTION, COMMENTS, EXECTYPE, CONTEXTS, LABELS, LIQUIBASE, DEPLOYMENT_ID) VALUES ('1', 'flowable', 'org/flowable/eventregistry/db/liquibase/flowable-eventregistry-db-changelog.xml', NOW(), 1, '8:1b0c48c9cf7945be799d868a2626d687', 'createTable tableName=FLW_EVENT_DEPLOYMENT; createTable tableName=FLW_EVENT_RESOURCE; createTable tableName=FLW_EVENT_DEFINITION; createIndex indexName=ACT_IDX_EVENT_DEF_UNIQ, tableName=FLW_EVENT_DEFINITION; createTable tableName=FLW_CHANNEL_DEFIN...', '', 'EXECUTED', NULL, NULL, '4.3.5', '1643306778');
|
|
|
|
|
|
|
|
ALTER TABLE FLW_CHANNEL_DEFINITION ADD TYPE_ VARCHAR(255);
|
|
|
|
|
|
|
|
ALTER TABLE FLW_CHANNEL_DEFINITION ADD IMPLEMENTATION_ VARCHAR(255);
|
|
|
|
|
|
|
|
INSERT INTO flw_ev_databasechangelog (ID, AUTHOR, FILENAME, DATEEXECUTED, ORDEREXECUTED, MD5SUM, DESCRIPTION, COMMENTS, EXECTYPE, CONTEXTS, LABELS, LIQUIBASE, DEPLOYMENT_ID) VALUES ('2', 'flowable', 'org/flowable/eventregistry/db/liquibase/flowable-eventregistry-db-changelog.xml', NOW(), 2, '8:0ea825feb8e470558f0b5754352b9cda', 'addColumn tableName=FLW_CHANNEL_DEFINITION; addColumn tableName=FLW_CHANNEL_DEFINITION', '', 'EXECUTED', NULL, NULL, '4.3.5', '1643306778');
|
|
|
|
|
|
|
|
INSERT INTO flw_ev_databasechangelog (ID, AUTHOR, FILENAME, DATEEXECUTED, ORDEREXECUTED, MD5SUM, DESCRIPTION, COMMENTS, EXECTYPE, CONTEXTS, LABELS, LIQUIBASE, DEPLOYMENT_ID) VALUES ('3', 'flowable', 'org/flowable/eventregistry/db/liquibase/flowable-eventregistry-db-changelog.xml', NOW(), 3, '8:3c2bb293350b5cbe6504331980c9dcee', 'customChange', '', 'EXECUTED', NULL, NULL, '4.3.5', '1643306778');
|
|
|
|
|
|
|
|
UPDATE flw_ev_databasechangeloglock SET LOCKED = FALSE, LOCKEDBY = NULL, LOCKGRANTED = NULL WHERE ID = 1;
|
|
|
|
|
|
|
|
alter table ACT_RU_EVENT_SUBSCR add column SCOPE_DEFINITION_KEY_ varchar(255);
|
|
|
|
|
|
|
|
update ACT_GE_PROPERTY set VALUE_ = '7.0.1.1' where NAME_ = 'common.schema.version';
|
|
|
|
|
|
|
|
update ACT_GE_PROPERTY set VALUE_ = '7.0.1.1' where NAME_ = 'entitylink.schema.version';
|
|
|
|
|
|
|
|
update ACT_GE_PROPERTY set VALUE_ = '7.0.1.1' where NAME_ = 'identitylink.schema.version';
|
|
|
|
|
|
|
|
update ACT_GE_PROPERTY set VALUE_ = '7.0.1.1' where NAME_ = 'job.schema.version';
|
|
|
|
|
|
|
|
update ACT_GE_PROPERTY set VALUE_ = '7.0.1.1' where NAME_ = 'batch.schema.version';
|
|
|
|
|
|
|
|
alter table ACT_RU_TASK
|
|
|
|
add column STATE_ varchar(255),
|
|
|
|
add column IN_PROGRESS_TIME_ timestamp,
|
|
|
|
add column IN_PROGRESS_STARTED_BY_ varchar(255),
|
|
|
|
add column CLAIMED_BY_ varchar(255),
|
|
|
|
add column SUSPENDED_TIME_ timestamp,
|
|
|
|
add column SUSPENDED_BY_ varchar(255),
|
|
|
|
add column IN_PROGRESS_DUE_DATE_ timestamp;
|
|
|
|
|
|
|
|
alter table ACT_HI_TASKINST
|
|
|
|
add column STATE_ varchar(255),
|
|
|
|
add column IN_PROGRESS_TIME_ timestamp,
|
|
|
|
add column IN_PROGRESS_STARTED_BY_ varchar(255),
|
|
|
|
add column CLAIMED_BY_ varchar(255),
|
|
|
|
add column SUSPENDED_TIME_ timestamp,
|
|
|
|
add column SUSPENDED_BY_ varchar(255),
|
|
|
|
add column COMPLETED_BY_ varchar(255),
|
|
|
|
add column IN_PROGRESS_DUE_DATE_ timestamp;
|
|
|
|
|
|
|
|
update ACT_GE_PROPERTY set VALUE_ = '7.0.1.1' where NAME_ = 'task.schema.version';
|
|
|
|
|
|
|
|
update ACT_GE_PROPERTY set VALUE_ = '7.0.1.1' where NAME_ = 'variable.schema.version';
|
|
|
|
|
|
|
|
update ACT_GE_PROPERTY set VALUE_ = '7.0.1.1' where NAME_ = 'schema.version';
|
|
|
|
|
|
|
|
update ACT_ID_PROPERTY set VALUE_ = '7.0.1.1' where NAME_ = 'schema.version';
|
|
|
|
-- ------------------------------------
|
|
|
|
|
2024-10-03 11:00:29 +02:00
|
|
|
-- Clean dangling workflows not removed after test connection
|
2024-10-10 19:25:11 +05:30
|
|
|
truncate automations_workflow;
|
|
|
|
|
|
|
|
-- App Data Store
|
|
|
|
CREATE TABLE IF NOT EXISTS apps_data_store (
|
|
|
|
identifier VARCHAR(256) NOT NULL,
|
|
|
|
type VARCHAR(256) NOT NULL,
|
|
|
|
json JSON NOT NULL
|
2024-10-31 00:25:51 +05:30
|
|
|
);
|
|
|
|
|
|
|
|
-- Add the source column to the consumers_dlq table
|
2024-10-31 14:10:19 +05:30
|
|
|
ALTER TABLE consumers_dlq ADD COLUMN source VARCHAR(255);
|
2024-10-31 00:25:51 +05:30
|
|
|
|
|
|
|
-- Create an index on the source column in the consumers_dlq table
|
2024-11-08 17:17:16 +05:30
|
|
|
CREATE INDEX idx_consumers_dlq_source ON consumers_dlq (source);
|
|
|
|
|
2024-11-11 14:27:46 +05:30
|
|
|
-- Data Insight charts: add metrics field
|
|
|
|
UPDATE
|
|
|
|
di_chart_entity
|
|
|
|
SET
|
|
|
|
json = jsonb_set(
|
|
|
|
json #- '{chartDetails,formula}' #- '{chartDetails,filter}' #- '{chartDetails,function}' #- '{chartDetails,field}' #- '{chartDetails,treeFilter}',
|
|
|
|
'{chartDetails,metrics}',
|
|
|
|
jsonb_build_array(
|
|
|
|
jsonb_strip_nulls(
|
|
|
|
jsonb_build_object(
|
|
|
|
'formula', json -> 'chartDetails' -> 'formula',
|
|
|
|
'filter', json -> 'chartDetails' -> 'filter',
|
|
|
|
'function', json -> 'chartDetails' -> 'function',
|
|
|
|
'field', json -> 'chartDetails' -> 'field',
|
|
|
|
'treeFilter', json -> 'chartDetails' -> 'treeFilter'
|
|
|
|
)
|
|
|
|
)
|
|
|
|
)
|
2024-12-10 09:49:39 +05:30
|
|
|
)
|
2024-11-11 14:27:46 +05:30
|
|
|
WHERE
|
2024-11-13 12:22:47 +05:30
|
|
|
json -> 'chartDetails' -> 'metrics' is null;
|
2024-11-11 14:27:46 +05:30
|
|
|
|
|
|
|
|
2024-12-10 09:49:39 +05:30
|
|
|
-- Rename and remove 'offset' to 'currentOffset' and add 'startingOffset'
|
2024-11-08 17:17:16 +05:30
|
|
|
UPDATE change_event_consumers
|
|
|
|
SET json = jsonb_set(
|
2024-12-10 09:49:39 +05:30
|
|
|
jsonb_set(
|
|
|
|
json - 'offset',
|
|
|
|
'{currentOffset}', json -> 'offset'
|
|
|
|
),
|
|
|
|
'{startingOffset}', json -> 'offset'
|
|
|
|
)
|
2024-11-08 17:17:16 +05:30
|
|
|
WHERE json -> 'offset' IS NOT NULL
|
|
|
|
AND jsonSchema = 'eventSubscriptionOffset';
|
|
|
|
|
|
|
|
|
|
|
|
-- Create table successful_sent_change_events for storing successfully sent events per alert
|
|
|
|
CREATE TABLE IF NOT EXISTS successful_sent_change_events (
|
|
|
|
change_event_id VARCHAR(36) NOT NULL,
|
|
|
|
event_subscription_id VARCHAR(36) NOT NULL,
|
|
|
|
json jsonb NOT NULL,
|
2024-11-14 17:39:45 +05:30
|
|
|
timestamp BIGINT NOT NULL,
|
|
|
|
PRIMARY KEY (change_event_id, event_subscription_id)
|
2024-11-08 17:17:16 +05:30
|
|
|
);
|
|
|
|
|
|
|
|
-- Create an index on the event_subscription_id column in the successful_sent_change_events table
|
2024-11-11 14:27:46 +05:30
|
|
|
CREATE INDEX idx_event_subscription_id ON successful_sent_change_events (event_subscription_id);
|
|
|
|
|
2024-11-13 00:08:55 +05:30
|
|
|
-- Remove Override View Lineage
|
|
|
|
UPDATE ingestion_pipeline_entity
|
|
|
|
SET json = json::jsonb #- '{sourceConfig,config,overrideViewLineage}'
|
|
|
|
WHERE json #>> '{pipelineType}' = 'metadata';
|
2024-11-19 08:10:45 +01:00
|
|
|
|
|
|
|
-- classification and sampling configs from the profiler pipelines
|
|
|
|
UPDATE ingestion_pipeline_entity
|
2024-12-04 09:32:25 +01:00
|
|
|
SET json = json::jsonb #- '{sourceConfig,config,processPiiSensitive}' #- '{sourceConfig,config,confidence}' #- '{sourceConfig,config,generateSampleData}' #- '{sourceConfig,config,sampleDataCount}'
|
2024-11-28 16:10:34 +05:30
|
|
|
WHERE json #>> '{pipelineType}' = 'profiler';
|
|
|
|
|
|
|
|
-- set value of 'jobId' as an array into 'jobIds' for dbt cloud
|
|
|
|
UPDATE pipeline_service_entity
|
|
|
|
SET json = (case when json#>>'{connection, config, jobId}' IS NOT null
|
|
|
|
then
|
|
|
|
jsonb_set(json, '{connection, config, jobIds}', to_jsonb(ARRAY[json#>>'{connection, config, jobId}']), true)
|
|
|
|
else
|
|
|
|
jsonb_set(json, '{connection, config, jobIds}', '[]', true)
|
|
|
|
end
|
|
|
|
)
|
|
|
|
WHERE servicetype = 'DBTCloud';
|
|
|
|
|
|
|
|
-- remove 'jobId' after setting 'jobIds' for dbt cloud
|
|
|
|
UPDATE pipeline_service_entity
|
|
|
|
SET json = json::jsonb #- '{connection,config,jobId}'
|
|
|
|
WHERE json#>>'{connection, config, jobId}' IS NOT null
|
|
|
|
and servicetype = 'DBTCloud';
|
|
|
|
|
|
|
|
-- add 'projectIds' for dbt cloud
|
|
|
|
UPDATE pipeline_service_entity
|
|
|
|
SET json = jsonb_set(json, '{connection, config, projectIds}', '[]', true)
|
|
|
|
WHERE servicetype = 'DBTCloud';
|
2024-11-28 18:50:42 +05:30
|
|
|
|
|
|
|
-- Update serviceType in dashboard_entity table
|
|
|
|
UPDATE dashboard_entity
|
|
|
|
SET json = jsonb_set(json, '{serviceType}', '"MicroStrategy"')
|
|
|
|
WHERE jsonb_extract_path_text(json, 'serviceType') = 'Mstr';
|
|
|
|
|
|
|
|
-- Update serviceType in dashboard_service_entity table
|
|
|
|
UPDATE dashboard_service_entity
|
|
|
|
SET json = jsonb_set(json, '{serviceType}', '"MicroStrategy"')
|
|
|
|
WHERE jsonb_extract_path_text(json, 'serviceType') = 'Mstr';
|
|
|
|
|
|
|
|
UPDATE dashboard_service_entity
|
|
|
|
SET json = jsonb_set(json, '{connection,config,type}', '"MicroStrategy"')
|
|
|
|
WHERE jsonb_extract_path_text(json, 'connection', 'config', 'type') = 'Mstr';
|
|
|
|
|
|
|
|
-- Update serviceType in dashboard_data_model_entity table
|
|
|
|
UPDATE dashboard_data_model_entity
|
|
|
|
SET json = jsonb_set(json, '{serviceType}', '"MicroStrategy"')
|
|
|
|
WHERE jsonb_extract_path_text(json, 'serviceType') = 'Mstr';
|
|
|
|
|
|
|
|
-- Update serviceType in chart_entity table
|
|
|
|
UPDATE chart_entity
|
|
|
|
SET json = jsonb_set(json, '{serviceType}', '"MicroStrategy"')
|
Feat# Implementation of Custom Workflows (#23023)
* Draft Implementation of Custom Workflows
* Multiple Entities in the Same Trigger for Workflow, along with draft implementation of signal id
* Improved User Approval Task and Impl
* Custom Workflows - Draft Implementation 2, improved periodic batch entity filter and other improvements
* feat(governance): Implement transactional custom workflows - improved
This commit introduces a robust, transactional, and extensible framework for custom governance workflows in OpenMetadata.
Key features and improvements include:
Transactional Workflow Management: A new WorkflowTransactionManager ensures atomic operations for creating, updating, and deleting workflow definitions, maintaining consistency between the OpenMetadata database and the Flowable engine.
Safe ID Encoding: Implemented a WorkflowIdEncoder to generate safe, Base64-encoded, and collision-resistant IDs for Flowable processes, preventing errors from ID truncation.
Rollback and Deprecation Tasks:
Added RollbackEntityTask to revert entities to their last approved state.
Introduced DeprecateStaleEntityTask for automated lifecycle management of stale assets.
Enhanced Workflow Engine:
Improved WorkflowHandler to validate workflow definitions before deployment.
Added new custom functions to the rule engine for checking entity update timestamps and calculating field completeness scores.
CI/CD and Build Improvements:
Updated the CI Dockerfile with a multi-stage build and refined dependency installation.
Modified POM files to include necessary dependencies for new features.
* Adding DataCompleteness Task Node, Flowable Debug logs
* Transaction handling for Custom Workflow - Initial Draft
* add new tasks to node definition interface
* Update generated TypeScript types
* Draft Implementation of Multi Reviewer Approval Task with Migration
* Update generated TypeScript types
* Transaction handling fix, id truncation fix by migration, feed repo fix for multi reviewer pattern, copilot comments
* Update generated TypeScript types
* Fixed Multi Reviewer approval to take consideration of the namespaced variables, Fixed RollBackEntity task to follow subprocess like other automated tasks, copilot nitpicks
* Remove conditionalSetEntityAttributes as it is not needed anymore
* Update generated TypeScript types
* Completely remove the setConditionalAttributes to fix compilation errors
* Removed the comments in the schemaChanges
* Created a new Task called CreateDetailedApprovalTaskImpl, Fixed RollBackEntityTask to roll back to either Approved or Rejected state, use namespaced variables, Updated the workflow handler to resolve the tasks and remove them from the user who has approved the task in the feed during multi reviewer approval, TransactionManager updated to keep Transactions in place, Improve the Validation Node input in the Mainworkflow java to handle proper graph traversal, Find Proper Termination Message for the two user events that are conflicting, Include Message in the request approval thread task for proper messages
* Update generated TypeScript types
* Rendering of messages in task thread
* Fix PeriodicBatchEntityTriggerTask to separate workflows based on entities Draft, Fix: SetEntityAttributes Impl to handle multiple fields, Fix: DataCompletenessTask Draft
* Fix DataCompletenessTask BoundaryEvent in Flowable
* Introduced Wf Deployment Strategy for transaction Handling, Improved user tasks for better termination event naming, fix periodic batch entity trigger to fetch the entity instead of all the entities in the trigger, Migrated GlossaryApprovalWorkflow.json with new nodes and edges, Fixed test cases and some edge cases
* Update generated TypeScript types
* Added performTasks for TagRepository and DataProductRepository, Removed test api, removed unnecessary change from workflow json, improved DataCompletenessImpl, Improved CreateDetailedApprovalTaskImpl to show what updated and not updated in the thread response
* Remove Entity Certification and Entity Status tasks and make use of generic set entity attribute task
* Update generated TypeScript types
* Fix the compilation issues!
* Remove setCertification and setEntityAttributes from createWorkflowDefinition
* Test cases for custom workflows related to glossaryTermApprovalWorkflow
* Test cases for custom workflows
* Changed info to debug logs
* Update generated TypeScript types
* DetailedUserApprovalTask changed to reviewChange task, Have validations for workflows where user approval tasks can only be available for entities that support reviewers
* Fix compilation issues and mvn spotless apply
* Update generated TypeScript types
* Remove Extra assignees from user tasks
* Update generated TypeScript types
* Replace Tags/GlossaryTerms during Mutual Exclusivity and Append when there is no Mutual Exclusivity
* Workflow Transaction Manager to handle authorization as part of its functionality, Added Validation for workflows using /validate endpoint
* Increase the Flowable's polling time to 60 seconds to poll timer and async jobs table
* Update generated TypeScript types
* Enum for UserTask Termination Messages, Removed WorkflowUtils to use WorkflowHandler's terminateDuplicate Instances, Approval and rejecters list in the variables, using namespaced variables for updatedBy
* Reverted the enum for userTaskType for now
* Added new tests for dataContract, dataProduct and Tag for user approval tasks
* Glossary Approval Workflow changed to handle jsonLogic according to UI expectations
* Added a new Task type for change description tasks to review and suggest the changes, Added checkUpdatedByReviewer incase of perfom tasks, increase wf test timeout
* Update generated TypeScript types
* TaskWorkflow constructor public to be used by Collate Repo
* AutoApproveServiceTaskImpl incase the assignees are not there for the userTask with ExlusiveGateway builder with hasAssignees
* Fix Compilation Issues - Upgrade of deps to lang3
* ExclusiveGatewayBuilder set exclusive as true, and other minor changes for test and approval tasks
* Added a different wait mechanism for user tasks in WorkflowDefinitionResourceTest.java
* Combined UserApprovalTask and ChangeReviewTask into one to handle suggestions in the same task!
* Update generated TypeScript types
* Test Case Approval Workflow, Removing orphaned changeReviewTask, Test case fix and new test cases
* Update generated TypeScript types
* Treat empty strings, arrays as missing by default
* Update generated TypeScript types
* fix compilation issues by changing the schema properly
* Remove Stale ChangeReview Task
* Update generated TypeScript types
* Enhanced User Approval task to show changed fields along with what changed and the task resolve function as well
* Update generated TypeScript types
* Add Knowledge center page to workflows event consumer, remove legacy backward compatibility for triggers, lenient validations for workflows when there are no nodes
* EntitySpecific Filters for EventBased Trigger, Removing Backward Compatibility logic for filters, Removed unnecessary comments and execution variables, Handle Structured task resolver for dataProduct, dataContract, tag and testCase, Modified GlossaryApprovalWorkflow.json and improved the MigrationUtil
* Update generated TypeScript types
* Bring back entitycertification and glosarystatus task for backward compatibility
* Update generated TypeScript types
* Filter is a map, entity specific filters are stringified, have certification and glossary status tasks in nodeinterface
* Merge Main
* Remove Suggestions for RequestApproval
* Update generated TypeScript types
* Remove Old Deployments of Periodic Batch Entity Trigger and use hiphen to trigger to avoid accidental triggering
* Resolve Merge conflicts, Java Checkstyle
* Update generated TypeScript types
* Fix Migrations
* Added alter table queries in 1.6.0 to avoid cached plan queries in flowable
* Increase timeout in workflow definition resource test
* Increase polling in workflow definition resource test
* Fix java Checkstyle
* comment the flaky test
* COmmented out Flaky Test Cases, fixed a bug on team reviewers
* Resolve java checkstyle after resolving conflicts
* add updated at field in json logic for glossary
* update fields
* add version field
* Update the rule config of new term node with "and" and update the migration as well
* add equal not equal op
* Delete the trigger workflows using like condition
* Defensive Fallback for multiple task instances created by race condition, Terminate duplicate instances of main workflows
* reverting operators
* Approval Capabilities for Metrics
* Update generated TypeScript types
* Move Migrations to 1.10.1 from 1.10.0
* Removed the extra spaces in Migration 1.10
---------
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: karanh37 <karanh37@gmail.com>
2025-10-08 18:57:44 +05:30
|
|
|
WHERE jsonb_extract_path_text(json, 'serviceType') = 'Mstr';
|
|
|
|
|
|
|
|
-- Increase Flowable ACTIVITY_ID_ column size to support longer user-defined workflow node names
|
|
|
|
ALTER TABLE ACT_RU_EVENT_SUBSCR ALTER COLUMN ACTIVITY_ID_ TYPE varchar(255);
|