diff --git a/modules/flowable-app-engine/pom.xml b/modules/flowable-app-engine/pom.xml index aaedae7c02f..0e910f8ea74 100644 --- a/modules/flowable-app-engine/pom.xml +++ b/modules/flowable-app-engine/pom.xml @@ -98,6 +98,11 @@ mysql-connector-j test + + cn.com.kingbase + kingbase8 + 9.0.1 + org.postgresql postgresql diff --git a/modules/flowable-app-engine/src/main/resources/org/flowable/app/db/create/flowable.kingbase-mysql.create.app.sql b/modules/flowable-app-engine/src/main/resources/org/flowable/app/db/create/flowable.kingbase-mysql.create.app.sql new file mode 100644 index 00000000000..c420343cd9f --- /dev/null +++ b/modules/flowable-app-engine/src/main/resources/org/flowable/app/db/create/flowable.kingbase-mysql.create.app.sql @@ -0,0 +1,20 @@ +CREATE TABLE ACT_APP_DEPLOYMENT (ID_ VARCHAR(255) NOT NULL, NAME_ VARCHAR(255) NULL, CATEGORY_ VARCHAR(255) NULL, KEY_ VARCHAR(255) NULL, DEPLOY_TIME_ datetime NULL, TENANT_ID_ VARCHAR(255) DEFAULT '' NULL, CONSTRAINT PK_ACT_APP_DEPLOYMENT PRIMARY KEY (ID_)); + +CREATE TABLE ACT_APP_DEPLOYMENT_RESOURCE (ID_ VARCHAR(255) NOT NULL, NAME_ VARCHAR(255) NULL, DEPLOYMENT_ID_ VARCHAR(255) NULL, RESOURCE_BYTES_ LONGBLOB NULL, CONSTRAINT PK_APP_DEPLOYMENT_RESOURCE PRIMARY KEY (ID_)); + +ALTER TABLE ACT_APP_DEPLOYMENT_RESOURCE ADD CONSTRAINT ACT_FK_APP_RSRC_DPL FOREIGN KEY (DEPLOYMENT_ID_) REFERENCES ACT_APP_DEPLOYMENT (ID_); + +CREATE INDEX ACT_IDX_APP_RSRC_DPL ON ACT_APP_DEPLOYMENT_RESOURCE(DEPLOYMENT_ID_); + +CREATE TABLE ACT_APP_APPDEF (ID_ VARCHAR(255) NOT NULL, REV_ INT NOT NULL, NAME_ VARCHAR(255) NULL, KEY_ VARCHAR(255) NOT NULL, VERSION_ INT NOT NULL, CATEGORY_ VARCHAR(255) NULL, DEPLOYMENT_ID_ VARCHAR(255) NULL, RESOURCE_NAME_ VARCHAR(4000) NULL, DESCRIPTION_ VARCHAR(4000) NULL, TENANT_ID_ VARCHAR(255) DEFAULT '' NULL, CONSTRAINT PK_ACT_APP_APPDEF PRIMARY KEY (ID_)); + +ALTER TABLE ACT_APP_APPDEF ADD CONSTRAINT ACT_FK_APP_DEF_DPLY FOREIGN KEY (DEPLOYMENT_ID_) REFERENCES ACT_APP_DEPLOYMENT (ID_); + +CREATE INDEX ACT_IDX_APP_DEF_DPLY ON ACT_APP_APPDEF(DEPLOYMENT_ID_); + +ALTER TABLE ACT_APP_DEPLOYMENT MODIFY DEPLOY_TIME_ datetime(3); + +CREATE UNIQUE INDEX ACT_IDX_APP_DEF_UNIQ ON ACT_APP_APPDEF(KEY_, VERSION_, TENANT_ID_); + +insert into ACT_GE_PROPERTY +values ('app.schema.version', '7.1.0.2', 1); diff --git a/modules/flowable-app-engine/src/main/resources/org/flowable/app/db/create/flowable.kingbase-oracle.create.app.sql b/modules/flowable-app-engine/src/main/resources/org/flowable/app/db/create/flowable.kingbase-oracle.create.app.sql new file mode 100644 index 00000000000..45f021f2271 --- /dev/null +++ b/modules/flowable-app-engine/src/main/resources/org/flowable/app/db/create/flowable.kingbase-oracle.create.app.sql @@ -0,0 +1,18 @@ +CREATE TABLE ACT_APP_DEPLOYMENT (ID_ VARCHAR2(255) NOT NULL, NAME_ VARCHAR2(255), CATEGORY_ VARCHAR2(255), KEY_ VARCHAR2(255), DEPLOY_TIME_ TIMESTAMP, TENANT_ID_ VARCHAR2(255) DEFAULT '', CONSTRAINT PK_ACT_APP_DEPLOYMENT PRIMARY KEY (ID_)); + +CREATE TABLE ACT_APP_DEPLOYMENT_RESOURCE (ID_ VARCHAR2(255) NOT NULL, NAME_ VARCHAR2(255), DEPLOYMENT_ID_ VARCHAR2(255), RESOURCE_BYTES_ BLOB, CONSTRAINT PK_APP_DEPLOYMENT_RESOURCE PRIMARY KEY (ID_)); + +ALTER TABLE ACT_APP_DEPLOYMENT_RESOURCE ADD CONSTRAINT ACT_FK_APP_RSRC_DPL FOREIGN KEY (DEPLOYMENT_ID_) REFERENCES ACT_APP_DEPLOYMENT (ID_); + +CREATE INDEX ACT_IDX_APP_RSRC_DPL ON ACT_APP_DEPLOYMENT_RESOURCE(DEPLOYMENT_ID_); + +CREATE TABLE ACT_APP_APPDEF (ID_ VARCHAR2(255) NOT NULL, REV_ INTEGER NOT NULL, NAME_ VARCHAR2(255), KEY_ VARCHAR2(255) NOT NULL, VERSION_ INTEGER NOT NULL, CATEGORY_ VARCHAR2(255), DEPLOYMENT_ID_ VARCHAR2(255), RESOURCE_NAME_ VARCHAR2(4000), DESCRIPTION_ VARCHAR2(4000), TENANT_ID_ VARCHAR2(255) DEFAULT '', CONSTRAINT PK_ACT_APP_APPDEF PRIMARY KEY (ID_)); + +ALTER TABLE ACT_APP_APPDEF ADD CONSTRAINT ACT_FK_APP_DEF_DPLY FOREIGN KEY (DEPLOYMENT_ID_) REFERENCES ACT_APP_DEPLOYMENT (ID_); + +CREATE INDEX ACT_IDX_APP_DEF_DPLY ON ACT_APP_APPDEF(DEPLOYMENT_ID_); + +CREATE UNIQUE INDEX ACT_IDX_APP_DEF_UNIQ ON ACT_APP_APPDEF(KEY_, VERSION_, TENANT_ID_); + +insert into ACT_GE_PROPERTY +values ('app.schema.version', '7.1.0.2', 1); \ No newline at end of file diff --git a/modules/flowable-app-engine/src/main/resources/org/flowable/app/db/create/flowable.kingbase-sqlserver.create.app.sql b/modules/flowable-app-engine/src/main/resources/org/flowable/app/db/create/flowable.kingbase-sqlserver.create.app.sql new file mode 100644 index 00000000000..b32d15a86fc --- /dev/null +++ b/modules/flowable-app-engine/src/main/resources/org/flowable/app/db/create/flowable.kingbase-sqlserver.create.app.sql @@ -0,0 +1,18 @@ +CREATE TABLE ACT_APP_DEPLOYMENT (ID_ varchar(255) NOT NULL, NAME_ varchar(255), CATEGORY_ varchar(255), KEY_ varchar(255), DEPLOY_TIME_ datetime, TENANT_ID_ varchar(255) CONSTRAINT DF_ACT_APP_DEPLOYMENT_TENANT_ID_ DEFAULT '', CONSTRAINT PK_ACT_APP_DEPLOYMENT PRIMARY KEY (ID_)); + +CREATE TABLE ACT_APP_DEPLOYMENT_RESOURCE (ID_ varchar(255) NOT NULL, NAME_ varchar(255), DEPLOYMENT_ID_ varchar(255), RESOURCE_BYTES_ varbinary(MAX), CONSTRAINT PK_APP_DEPLOYMENT_RESOURCE PRIMARY KEY (ID_)); + +ALTER TABLE ACT_APP_DEPLOYMENT_RESOURCE ADD CONSTRAINT ACT_FK_APP_RSRC_DPL FOREIGN KEY (DEPLOYMENT_ID_) REFERENCES ACT_APP_DEPLOYMENT (ID_); + +CREATE NONCLUSTERED INDEX ACT_IDX_APP_RSRC_DPL ON ACT_APP_DEPLOYMENT_RESOURCE(DEPLOYMENT_ID_); + +CREATE TABLE ACT_APP_APPDEF (ID_ varchar(255) NOT NULL, REV_ int NOT NULL, NAME_ varchar(255), KEY_ varchar(255) NOT NULL, VERSION_ int NOT NULL, CATEGORY_ varchar(255), DEPLOYMENT_ID_ varchar(255), RESOURCE_NAME_ varchar(4000), DESCRIPTION_ varchar(4000), TENANT_ID_ varchar(255) CONSTRAINT DF_ACT_APP_APPDEF_TENANT_ID_ DEFAULT '', CONSTRAINT PK_ACT_APP_APPDEF PRIMARY KEY (ID_)); + +ALTER TABLE ACT_APP_APPDEF ADD CONSTRAINT ACT_FK_APP_DEF_DPLY FOREIGN KEY (DEPLOYMENT_ID_) REFERENCES ACT_APP_DEPLOYMENT (ID_); + +CREATE NONCLUSTERED INDEX ACT_IDX_APP_DEF_DPLY ON ACT_APP_APPDEF(DEPLOYMENT_ID_); + +CREATE UNIQUE NONCLUSTERED INDEX ACT_IDX_APP_DEF_UNIQ ON ACT_APP_APPDEF(KEY_, VERSION_, TENANT_ID_); + +insert into ACT_GE_PROPERTY +values ('app.schema.version', '7.1.0.2', 1); diff --git a/modules/flowable-app-engine/src/main/resources/org/flowable/app/db/drop/flowable.kingbase-mysql.drop.app.sql b/modules/flowable-app-engine/src/main/resources/org/flowable/app/db/drop/flowable.kingbase-mysql.drop.app.sql new file mode 100644 index 00000000000..32b1397b61b --- /dev/null +++ b/modules/flowable-app-engine/src/main/resources/org/flowable/app/db/drop/flowable.kingbase-mysql.drop.app.sql @@ -0,0 +1,3 @@ +drop table if exists ACT_APP_APPDEF cascade; +drop table if exists ACT_APP_DEPLOYMENT_RESOURCE cascade; +drop table if exists ACT_APP_DEPLOYMENT cascade; diff --git a/modules/flowable-app-engine/src/main/resources/org/flowable/app/db/drop/flowable.kingbase-oracle.drop.app.sql b/modules/flowable-app-engine/src/main/resources/org/flowable/app/db/drop/flowable.kingbase-oracle.drop.app.sql new file mode 100644 index 00000000000..4774b34af5a --- /dev/null +++ b/modules/flowable-app-engine/src/main/resources/org/flowable/app/db/drop/flowable.kingbase-oracle.drop.app.sql @@ -0,0 +1,3 @@ +drop table if exists ACT_APP_APPDEF cascade; +drop table if exists ACT_APP_DEPLOYMENT_RESOURCE cascade; +drop table if exists ACT_APP_DEPLOYMENT cascade; \ No newline at end of file diff --git a/modules/flowable-app-engine/src/main/resources/org/flowable/app/db/drop/flowable.kingbase-sqlserver.drop.app.sql b/modules/flowable-app-engine/src/main/resources/org/flowable/app/db/drop/flowable.kingbase-sqlserver.drop.app.sql new file mode 100644 index 00000000000..4774b34af5a --- /dev/null +++ b/modules/flowable-app-engine/src/main/resources/org/flowable/app/db/drop/flowable.kingbase-sqlserver.drop.app.sql @@ -0,0 +1,3 @@ +drop table if exists ACT_APP_APPDEF cascade; +drop table if exists ACT_APP_DEPLOYMENT_RESOURCE cascade; +drop table if exists ACT_APP_DEPLOYMENT cascade; \ No newline at end of file diff --git a/modules/flowable-cmmn-engine/pom.xml b/modules/flowable-cmmn-engine/pom.xml index 9fd4e194257..b0cf144c799 100644 --- a/modules/flowable-cmmn-engine/pom.xml +++ b/modules/flowable-cmmn-engine/pom.xml @@ -150,6 +150,11 @@ h2 test + + cn.com.kingbase + kingbase8 + 9.0.1 + com.mysql mysql-connector-j diff --git a/modules/flowable-cmmn-engine/src/main/resources/org/flowable/cmmn/db/create/flowable.kingbase-mysql.create.cmmn.sql b/modules/flowable-cmmn-engine/src/main/resources/org/flowable/cmmn/db/create/flowable.kingbase-mysql.create.cmmn.sql new file mode 100644 index 00000000000..847b814b027 --- /dev/null +++ b/modules/flowable-cmmn-engine/src/main/resources/org/flowable/cmmn/db/create/flowable.kingbase-mysql.create.cmmn.sql @@ -0,0 +1,258 @@ +CREATE TABLE ACT_CMMN_DEPLOYMENT +( + ID_ VARCHAR(255) NOT NULL, + NAME_ VARCHAR(255) NULL, + CATEGORY_ VARCHAR(255) NULL, + KEY_ VARCHAR(255) NULL, + DEPLOY_TIME_ datetime(3) NULL, + PARENT_DEPLOYMENT_ID_ VARCHAR(255) NULL, + TENANT_ID_ VARCHAR(255) DEFAULT '' NULL, + CONSTRAINT PK_ACT_CMMN_DEPLOYMENT PRIMARY KEY (ID_) +); + +CREATE TABLE ACT_CMMN_DEPLOYMENT_RESOURCE +( + ID_ VARCHAR(255) NOT NULL, + NAME_ VARCHAR(255) NULL, + DEPLOYMENT_ID_ VARCHAR(255) NULL, + RESOURCE_BYTES_ LONGBLOB NULL, + GENERATED_ TINYINT NULL, + CONSTRAINT PK_CMMN_DEPLOYMENT_RESOURCE PRIMARY KEY (ID_) +); + +ALTER TABLE ACT_CMMN_DEPLOYMENT_RESOURCE + ADD CONSTRAINT ACT_FK_CMMN_RSRC_DPL FOREIGN KEY (DEPLOYMENT_ID_) REFERENCES ACT_CMMN_DEPLOYMENT (ID_); + +CREATE INDEX ACT_IDX_CMMN_RSRC_DPL ON ACT_CMMN_DEPLOYMENT_RESOURCE (DEPLOYMENT_ID_); + +CREATE TABLE ACT_CMMN_CASEDEF +( + ID_ VARCHAR(255) NOT NULL, + REV_ INT NOT NULL, + NAME_ VARCHAR(255) NULL, + KEY_ VARCHAR(255) NOT NULL, + VERSION_ INT NOT NULL, + CATEGORY_ VARCHAR(255) NULL, + DEPLOYMENT_ID_ VARCHAR(255) NULL, + RESOURCE_NAME_ VARCHAR(4000) NULL, + DESCRIPTION_ VARCHAR(4000) NULL, + HAS_GRAPHICAL_NOTATION_ TINYINT NULL, + DGRM_RESOURCE_NAME_ VARCHAR(4000) NULL, + HAS_START_FORM_KEY_ TINYINT NULL, + TENANT_ID_ VARCHAR(255) DEFAULT '' NULL, + CONSTRAINT PK_ACT_CMMN_CASEDEF PRIMARY KEY (ID_) +); + +ALTER TABLE ACT_CMMN_CASEDEF + ADD CONSTRAINT ACT_FK_CASE_DEF_DPLY FOREIGN KEY (DEPLOYMENT_ID_) REFERENCES ACT_CMMN_DEPLOYMENT (ID_); +CREATE INDEX ACT_IDX_CASE_DEF_DPLY ON ACT_CMMN_CASEDEF (DEPLOYMENT_ID_); + +CREATE UNIQUE INDEX ACT_IDX_CASE_DEF_UNIQ ON ACT_CMMN_CASEDEF (KEY_, VERSION_, TENANT_ID_); + +CREATE TABLE ACT_CMMN_RU_CASE_INST +( + ID_ VARCHAR(255) NOT NULL, + REV_ INT NOT NULL, + BUSINESS_KEY_ VARCHAR(255) NULL, + NAME_ VARCHAR(255) NULL, + PARENT_ID_ VARCHAR(255) NULL, + CASE_DEF_ID_ VARCHAR(255) NULL, + STATE_ VARCHAR(255) NULL, + START_TIME_ datetime(3) NULL, + START_USER_ID_ VARCHAR(255) NULL, + CALLBACK_ID_ VARCHAR(255) NULL, + CALLBACK_TYPE_ VARCHAR(255) NULL, + LOCK_TIME_ datetime(3) NULL, + LOCK_OWNER_ VARCHAR(255) NULL, + IS_COMPLETEABLE_ TINYINT NULL, + REFERENCE_ID_ VARCHAR(255) NULL, + REFERENCE_TYPE_ VARCHAR(255) NULL, + LAST_REACTIVATION_TIME_ datetime(3) NULL, + LAST_REACTIVATION_USER_ID_ VARCHAR(255) NULL, + BUSINESS_STATUS_ VARCHAR(255) NULL, + TENANT_ID_ VARCHAR(255) DEFAULT '' NULL, + CONSTRAINT PK_ACT_CMMN_RU_CASE_INST PRIMARY KEY (ID_) +); + +ALTER TABLE ACT_CMMN_RU_CASE_INST + ADD CONSTRAINT ACT_FK_CASE_INST_CASE_DEF FOREIGN KEY (CASE_DEF_ID_) REFERENCES ACT_CMMN_CASEDEF (ID_); + +CREATE INDEX ACT_IDX_CASE_INST_CASE_DEF ON ACT_CMMN_RU_CASE_INST (CASE_DEF_ID_); +CREATE INDEX ACT_IDX_CASE_INST_PARENT ON ACT_CMMN_RU_CASE_INST (PARENT_ID_); +CREATE INDEX ACT_IDX_CASE_INST_REF_ID_ ON ACT_CMMN_RU_CASE_INST (REFERENCE_ID_); + +CREATE TABLE ACT_CMMN_RU_PLAN_ITEM_INST +( + ID_ VARCHAR(255) NOT NULL, + REV_ INT NOT NULL, + CASE_DEF_ID_ VARCHAR(255) NULL, + CASE_INST_ID_ VARCHAR(255) NULL, + STAGE_INST_ID_ VARCHAR(255) NULL, + IS_STAGE_ TINYINT NULL, + ELEMENT_ID_ VARCHAR(255) NULL, + NAME_ VARCHAR(255) NULL, + STATE_ VARCHAR(255) NULL, + CREATE_TIME_ datetime(3) NULL, + START_USER_ID_ VARCHAR(255) NULL, + REFERENCE_ID_ VARCHAR(255) NULL, + REFERENCE_TYPE_ VARCHAR(255) NULL, + ITEM_DEFINITION_ID_ VARCHAR(255) NULL, + ITEM_DEFINITION_TYPE_ VARCHAR(255) NULL, + IS_COMPLETEABLE_ TINYINT NULL, + IS_COUNT_ENABLED_ TINYINT NULL, + VAR_COUNT_ INT NULL, + SENTRY_PART_INST_COUNT_ INT NULL, + LAST_AVAILABLE_TIME_ datetime(3) NULL, + LAST_ENABLED_TIME_ datetime(3) NULL, + LAST_DISABLED_TIME_ datetime(3) NULL, + LAST_STARTED_TIME_ datetime(3) NULL, + LAST_SUSPENDED_TIME_ datetime(3) NULL, + COMPLETED_TIME_ datetime(3) NULL, + OCCURRED_TIME_ datetime(3) NULL, + TERMINATED_TIME_ datetime(3) NULL, + EXIT_TIME_ datetime(3) NULL, + ENDED_TIME_ datetime(3) NULL, + ENTRY_CRITERION_ID_ VARCHAR(255) NULL, + EXIT_CRITERION_ID_ VARCHAR(255) NULL, + EXTRA_VALUE_ VARCHAR(255) NULL, + DERIVED_CASE_DEF_ID_ VARCHAR(255) NULL, + LAST_UNAVAILABLE_TIME_ datetime(3) NULL, + TENANT_ID_ VARCHAR(255) DEFAULT '' NULL, + CONSTRAINT PK_CMMN_PLAN_ITEM_INST PRIMARY KEY (ID_) +); + +ALTER TABLE ACT_CMMN_RU_PLAN_ITEM_INST + ADD CONSTRAINT ACT_FK_PLAN_ITEM_CASE_DEF FOREIGN KEY (CASE_DEF_ID_) REFERENCES ACT_CMMN_CASEDEF (ID_); +CREATE INDEX ACT_IDX_PLAN_ITEM_CASE_DEF ON ACT_CMMN_RU_PLAN_ITEM_INST (CASE_DEF_ID_); + +ALTER TABLE ACT_CMMN_RU_PLAN_ITEM_INST + ADD CONSTRAINT ACT_FK_PLAN_ITEM_CASE_INST FOREIGN KEY (CASE_INST_ID_) REFERENCES ACT_CMMN_RU_CASE_INST (ID_); +CREATE INDEX ACT_IDX_PLAN_ITEM_CASE_INST ON ACT_CMMN_RU_PLAN_ITEM_INST (CASE_INST_ID_); + +CREATE INDEX ACT_IDX_PLAN_ITEM_STAGE_INST ON ACT_CMMN_RU_PLAN_ITEM_INST (STAGE_INST_ID_); + +CREATE TABLE ACT_CMMN_RU_SENTRY_PART_INST +( + ID_ VARCHAR(255) NOT NULL, + REV_ INT NOT NULL, + CASE_DEF_ID_ VARCHAR(255) NULL, + CASE_INST_ID_ VARCHAR(255) NULL, + PLAN_ITEM_INST_ID_ VARCHAR(255) NULL, + ON_PART_ID_ VARCHAR(255) NULL, + IF_PART_ID_ VARCHAR(255) NULL, + TIME_STAMP_ datetime(3) NULL, + CONSTRAINT PK_CMMN_SENTRY_PART_INST PRIMARY KEY (ID_) +); + +ALTER TABLE ACT_CMMN_RU_SENTRY_PART_INST + ADD CONSTRAINT ACT_FK_SENTRY_CASE_DEF FOREIGN KEY (CASE_DEF_ID_) REFERENCES ACT_CMMN_CASEDEF (ID_); +CREATE INDEX ACT_IDX_SENTRY_CASE_DEF ON ACT_CMMN_RU_SENTRY_PART_INST (CASE_DEF_ID_); + +ALTER TABLE ACT_CMMN_RU_SENTRY_PART_INST + ADD CONSTRAINT ACT_FK_SENTRY_CASE_INST FOREIGN KEY (CASE_INST_ID_) REFERENCES ACT_CMMN_RU_CASE_INST (ID_); +CREATE INDEX ACT_IDX_SENTRY_CASE_INST ON ACT_CMMN_RU_SENTRY_PART_INST (CASE_INST_ID_); + +ALTER TABLE ACT_CMMN_RU_SENTRY_PART_INST + ADD CONSTRAINT ACT_FK_SENTRY_PLAN_ITEM FOREIGN KEY (PLAN_ITEM_INST_ID_) REFERENCES ACT_CMMN_RU_PLAN_ITEM_INST (ID_); +CREATE INDEX ACT_IDX_SENTRY_PLAN_ITEM ON ACT_CMMN_RU_SENTRY_PART_INST (PLAN_ITEM_INST_ID_); + +CREATE TABLE ACT_CMMN_RU_MIL_INST +( + ID_ VARCHAR(255) NOT NULL, + NAME_ VARCHAR(255) NOT NULL, + TIME_STAMP_ datetime(3) NOT NULL, + CASE_INST_ID_ VARCHAR(255) NOT NULL, + CASE_DEF_ID_ VARCHAR(255) NOT NULL, + ELEMENT_ID_ VARCHAR(255) NOT NULL, + TENANT_ID_ VARCHAR(255) DEFAULT '' NULL, + CONSTRAINT PK_ACT_CMMN_RU_MIL_INST PRIMARY KEY (ID_) +); + +ALTER TABLE ACT_CMMN_RU_MIL_INST + ADD CONSTRAINT ACT_FK_MIL_CASE_DEF FOREIGN KEY (CASE_DEF_ID_) REFERENCES ACT_CMMN_CASEDEF (ID_); +CREATE INDEX ACT_IDX_MIL_CASE_DEF ON ACT_CMMN_RU_MIL_INST (CASE_DEF_ID_); + +ALTER TABLE ACT_CMMN_RU_MIL_INST + ADD CONSTRAINT ACT_FK_MIL_CASE_INST FOREIGN KEY (CASE_INST_ID_) REFERENCES ACT_CMMN_RU_CASE_INST (ID_); +CREATE INDEX ACT_IDX_MIL_CASE_INST ON ACT_CMMN_RU_MIL_INST (CASE_INST_ID_); + +CREATE TABLE ACT_CMMN_HI_CASE_INST +( + ID_ VARCHAR(255) NOT NULL, + REV_ INT NOT NULL, + BUSINESS_KEY_ VARCHAR(255) NULL, + NAME_ VARCHAR(255) NULL, + PARENT_ID_ VARCHAR(255) NULL, + CASE_DEF_ID_ VARCHAR(255) NULL, + STATE_ VARCHAR(255) NULL, + START_TIME_ datetime(3) NULL, + END_TIME_ datetime(3) NULL, + START_USER_ID_ VARCHAR(255) NULL, + CALLBACK_ID_ VARCHAR(255) NULL, + CALLBACK_TYPE_ VARCHAR(255) NULL, + REFERENCE_ID_ VARCHAR(255) NULL, + REFERENCE_TYPE_ VARCHAR(255) NULL, + LAST_REACTIVATION_TIME_ datetime(3) NULL, + LAST_REACTIVATION_USER_ID_ VARCHAR(255) NULL, + BUSINESS_STATUS_ VARCHAR(255) NULL, + TENANT_ID_ VARCHAR(255) DEFAULT '' NULL, + CONSTRAINT PK_ACT_CMMN_HI_CASE_INST PRIMARY KEY (ID_) +); + +CREATE INDEX ACT_IDX_HI_CASE_INST_END ON ACT_CMMN_HI_CASE_INST (END_TIME_); + +CREATE TABLE ACT_CMMN_HI_MIL_INST +( + ID_ VARCHAR(255) NOT NULL, + REV_ INT NOT NULL, + NAME_ VARCHAR(255) NOT NULL, + TIME_STAMP_ datetime(3) NOT NULL, + CASE_INST_ID_ VARCHAR(255) NOT NULL, + CASE_DEF_ID_ VARCHAR(255) NOT NULL, + ELEMENT_ID_ VARCHAR(255) NOT NULL, + TENANT_ID_ VARCHAR(255) DEFAULT '' NULL, + CONSTRAINT PK_ACT_CMMN_HI_MIL_INST PRIMARY KEY (ID_) +); + +CREATE TABLE ACT_CMMN_HI_PLAN_ITEM_INST +( + ID_ VARCHAR(255) NOT NULL, + REV_ INT NOT NULL, + NAME_ VARCHAR(255) NULL, + STATE_ VARCHAR(255) NULL, + CASE_DEF_ID_ VARCHAR(255) NULL, + CASE_INST_ID_ VARCHAR(255) NULL, + STAGE_INST_ID_ VARCHAR(255) NULL, + IS_STAGE_ TINYINT NULL, + ELEMENT_ID_ VARCHAR(255) NULL, + ITEM_DEFINITION_ID_ VARCHAR(255) NULL, + ITEM_DEFINITION_TYPE_ VARCHAR(255) NULL, + CREATE_TIME_ datetime(3) NULL, + LAST_AVAILABLE_TIME_ datetime(3) NULL, + LAST_ENABLED_TIME_ datetime(3) NULL, + LAST_DISABLED_TIME_ datetime(3) NULL, + LAST_STARTED_TIME_ datetime(3) NULL, + LAST_SUSPENDED_TIME_ datetime(3) NULL, + COMPLETED_TIME_ datetime(3) NULL, + OCCURRED_TIME_ datetime(3) NULL, + TERMINATED_TIME_ datetime(3) NULL, + EXIT_TIME_ datetime(3) NULL, + ENDED_TIME_ datetime(3) NULL, + LAST_UPDATED_TIME_ datetime(3) NULL, + START_USER_ID_ VARCHAR(255) NULL, + REFERENCE_ID_ VARCHAR(255) NULL, + REFERENCE_TYPE_ VARCHAR(255) NULL, + ENTRY_CRITERION_ID_ VARCHAR(255) NULL, + EXIT_CRITERION_ID_ VARCHAR(255) NULL, + SHOW_IN_OVERVIEW_ TINYINT NULL, + EXTRA_VALUE_ VARCHAR(255) NULL, + DERIVED_CASE_DEF_ID_ VARCHAR(255) NULL, + LAST_UNAVAILABLE_TIME_ datetime(3) NULL, + TENANT_ID_ VARCHAR(255) DEFAULT '' NULL, + CONSTRAINT PK_ACT_CMMN_HI_PLAN_ITEM_INST PRIMARY KEY (ID_) +); + +CREATE INDEX ACT_IDX_HI_PLAN_ITEM_INST_CASE ON ACT_CMMN_HI_PLAN_ITEM_INST (CASE_INST_ID_); + +insert into ACT_GE_PROPERTY +values ('cmmn.schema.version', '7.1.0.2', 1); diff --git a/modules/flowable-cmmn-engine/src/main/resources/org/flowable/cmmn/db/create/flowable.kingbase-oracle.create.cmmn.sql b/modules/flowable-cmmn-engine/src/main/resources/org/flowable/cmmn/db/create/flowable.kingbase-oracle.create.cmmn.sql new file mode 100644 index 00000000000..456fccb4dee --- /dev/null +++ b/modules/flowable-cmmn-engine/src/main/resources/org/flowable/cmmn/db/create/flowable.kingbase-oracle.create.cmmn.sql @@ -0,0 +1,263 @@ +CREATE TABLE ACT_CMMN_DEPLOYMENT +( + ID_ VARCHAR2(255) NOT NULL, + NAME_ VARCHAR2(255), + CATEGORY_ VARCHAR2(255), + KEY_ VARCHAR2(255), + DEPLOY_TIME_ TIMESTAMP, + PARENT_DEPLOYMENT_ID_ VARCHAR2(255), + TENANT_ID_ VARCHAR2(255) DEFAULT '', + CONSTRAINT PK_ACT_CMMN_DEPLOYMENT PRIMARY KEY (ID_) +); + +CREATE TABLE ACT_CMMN_DEPLOYMENT_RESOURCE +( + ID_ VARCHAR2(255) NOT NULL, + NAME_ VARCHAR2(255), + DEPLOYMENT_ID_ VARCHAR2(255), + RESOURCE_BYTES_ BLOB, + GENERATED_ NUMBER(1), + CONSTRAINT PK_CMMN_DEPLOYMENT_RESOURCE PRIMARY KEY (ID_) +); + +ALTER TABLE ACT_CMMN_DEPLOYMENT_RESOURCE + ADD CONSTRAINT ACT_FK_CMMN_RSRC_DPL FOREIGN KEY (DEPLOYMENT_ID_) REFERENCES ACT_CMMN_DEPLOYMENT (ID_); + +CREATE INDEX ACT_IDX_CMMN_RSRC_DPL ON ACT_CMMN_DEPLOYMENT_RESOURCE (DEPLOYMENT_ID_); + +CREATE TABLE ACT_CMMN_CASEDEF +( + ID_ VARCHAR2(255) NOT NULL, + REV_ INTEGER NOT NULL, + NAME_ VARCHAR2(255), + KEY_ VARCHAR2(255) NOT NULL, + VERSION_ INTEGER NOT NULL, + CATEGORY_ VARCHAR2(255), + DEPLOYMENT_ID_ VARCHAR2(255), + RESOURCE_NAME_ VARCHAR2(4000), + DESCRIPTION_ VARCHAR2(4000), + HAS_GRAPHICAL_NOTATION_ NUMBER(1), + DGRM_RESOURCE_NAME_ VARCHAR2(4000), + HAS_START_FORM_KEY_ NUMBER(1), + TENANT_ID_ VARCHAR2(255) DEFAULT '', + CONSTRAINT PK_ACT_CMMN_CASEDEF PRIMARY KEY (ID_) +); + +ALTER TABLE ACT_CMMN_CASEDEF + ADD CONSTRAINT ACT_FK_CASE_DEF_DPLY FOREIGN KEY (DEPLOYMENT_ID_) REFERENCES ACT_CMMN_DEPLOYMENT (ID_); +CREATE INDEX ACT_IDX_CASE_DEF_DPLY ON ACT_CMMN_CASEDEF (DEPLOYMENT_ID_); + +CREATE UNIQUE INDEX ACT_IDX_CASE_DEF_UNIQ ON ACT_CMMN_CASEDEF (KEY_, VERSION_, TENANT_ID_); + +CREATE TABLE ACT_CMMN_RU_CASE_INST +( + ID_ VARCHAR2(255) NOT NULL, + REV_ INTEGER NOT NULL, + BUSINESS_KEY_ VARCHAR2(255), + NAME_ VARCHAR2(255), + PARENT_ID_ VARCHAR2(255), + CASE_DEF_ID_ VARCHAR2(255), + STATE_ VARCHAR2(255), + START_TIME_ TIMESTAMP, + START_USER_ID_ VARCHAR2(255), + CALLBACK_ID_ VARCHAR2(255), + CALLBACK_TYPE_ VARCHAR2(255), + LOCK_TIME_ TIMESTAMP, + LOCK_OWNER_ VARCHAR2(255), + IS_COMPLETEABLE_ NUMBER(1), + REFERENCE_ID_ VARCHAR2(255), + REFERENCE_TYPE_ VARCHAR2(255), + LAST_REACTIVATION_TIME_ TIMESTAMP(3), + LAST_REACTIVATION_USER_ID_ VARCHAR2(255), + BUSINESS_STATUS_ VARCHAR2(255), + TENANT_ID_ VARCHAR2(255) DEFAULT '', + CONSTRAINT PK_ACT_CMMN_RU_CASE_INST PRIMARY KEY (ID_) +); + +ALTER TABLE ACT_CMMN_RU_CASE_INST + ADD CONSTRAINT ACT_FK_CASE_INST_CASE_DEF FOREIGN KEY (CASE_DEF_ID_) REFERENCES ACT_CMMN_CASEDEF (ID_); + +CREATE INDEX ACT_IDX_CASE_INST_CASE_DEF ON ACT_CMMN_RU_CASE_INST (CASE_DEF_ID_); +CREATE INDEX ACT_IDX_CASE_INST_PARENT ON ACT_CMMN_RU_CASE_INST (PARENT_ID_); +CREATE INDEX ACT_IDX_CASE_INST_REF_ID_ ON ACT_CMMN_RU_CASE_INST (REFERENCE_ID_); + +CREATE TABLE ACT_CMMN_RU_PLAN_ITEM_INST +( + ID_ VARCHAR2(255) NOT NULL, + REV_ INTEGER NOT NULL, + CASE_DEF_ID_ VARCHAR2(255), + CASE_INST_ID_ VARCHAR2(255), + STAGE_INST_ID_ VARCHAR2(255), + IS_STAGE_ NUMBER(1), + ELEMENT_ID_ VARCHAR2(255), + NAME_ VARCHAR2(255), + STATE_ VARCHAR2(255), + CREATE_TIME_ TIMESTAMP, + START_USER_ID_ VARCHAR2(255), + ASSIGNEE_ VARCHAR2(255), + COMPLETED_BY_ VARCHAR2(255), + REFERENCE_ID_ VARCHAR2(255), + REFERENCE_TYPE_ VARCHAR2(255), + ITEM_DEFINITION_ID_ VARCHAR2(255), + ITEM_DEFINITION_TYPE_ VARCHAR2(255), + IS_COMPLETEABLE_ NUMBER(1), + IS_COUNT_ENABLED_ NUMBER(1), + VAR_COUNT_ INTEGER, + SENTRY_PART_INST_COUNT_ INTEGER, + LAST_AVAILABLE_TIME_ TIMESTAMP(3), + LAST_ENABLED_TIME_ TIMESTAMP(3), + LAST_DISABLED_TIME_ TIMESTAMP(3), + LAST_STARTED_TIME_ TIMESTAMP(3), + LAST_SUSPENDED_TIME_ TIMESTAMP(3), + COMPLETED_TIME_ TIMESTAMP(3), + OCCURRED_TIME_ TIMESTAMP(3), + TERMINATED_TIME_ TIMESTAMP(3), + EXIT_TIME_ TIMESTAMP(3), + ENDED_TIME_ TIMESTAMP(3), + ENTRY_CRITERION_ID_ VARCHAR2(255), + EXIT_CRITERION_ID_ VARCHAR2(255), + EXTRA_VALUE_ VARCHAR2(255), + DERIVED_CASE_DEF_ID_ VARCHAR2(255), + LAST_UNAVAILABLE_TIME_ TIMESTAMP(3), + TENANT_ID_ VARCHAR2(255) DEFAULT '', + CONSTRAINT PK_CMMN_PLAN_ITEM_INST PRIMARY KEY (ID_) +); + +ALTER TABLE ACT_CMMN_RU_PLAN_ITEM_INST + ADD CONSTRAINT ACT_FK_PLAN_ITEM_CASE_DEF FOREIGN KEY (CASE_DEF_ID_) REFERENCES ACT_CMMN_CASEDEF (ID_); +CREATE INDEX ACT_IDX_PLAN_ITEM_CASE_DEF ON ACT_CMMN_RU_PLAN_ITEM_INST (CASE_DEF_ID_); + +ALTER TABLE ACT_CMMN_RU_PLAN_ITEM_INST + ADD CONSTRAINT ACT_FK_PLAN_ITEM_CASE_INST FOREIGN KEY (CASE_INST_ID_) REFERENCES ACT_CMMN_RU_CASE_INST (ID_); +CREATE INDEX ACT_IDX_PLAN_ITEM_CASE_INST ON ACT_CMMN_RU_PLAN_ITEM_INST (CASE_INST_ID_); + +CREATE INDEX ACT_IDX_PLAN_ITEM_STAGE_INST ON ACT_CMMN_RU_PLAN_ITEM_INST (STAGE_INST_ID_); + +CREATE TABLE ACT_CMMN_RU_SENTRY_PART_INST +( + ID_ VARCHAR2(255) NOT NULL, + REV_ INTEGER NOT NULL, + CASE_DEF_ID_ VARCHAR2(255), + CASE_INST_ID_ VARCHAR2(255), + PLAN_ITEM_INST_ID_ VARCHAR2(255), + ON_PART_ID_ VARCHAR2(255), + IF_PART_ID_ VARCHAR2(255), + TIME_STAMP_ TIMESTAMP, + CONSTRAINT PK_CMMN_SENTRY_PART_INST PRIMARY KEY (ID_) +); + +ALTER TABLE ACT_CMMN_RU_SENTRY_PART_INST + ADD CONSTRAINT ACT_FK_SENTRY_CASE_DEF FOREIGN KEY (CASE_DEF_ID_) REFERENCES ACT_CMMN_CASEDEF (ID_); +CREATE INDEX ACT_IDX_SENTRY_CASE_DEF ON ACT_CMMN_RU_SENTRY_PART_INST (CASE_DEF_ID_); + +ALTER TABLE ACT_CMMN_RU_SENTRY_PART_INST + ADD CONSTRAINT ACT_FK_SENTRY_CASE_INST FOREIGN KEY (CASE_INST_ID_) REFERENCES ACT_CMMN_RU_CASE_INST (ID_); +CREATE INDEX ACT_IDX_SENTRY_CASE_INST ON ACT_CMMN_RU_SENTRY_PART_INST (CASE_INST_ID_); + +ALTER TABLE ACT_CMMN_RU_SENTRY_PART_INST + ADD CONSTRAINT ACT_FK_SENTRY_PLAN_ITEM FOREIGN KEY (PLAN_ITEM_INST_ID_) REFERENCES ACT_CMMN_RU_PLAN_ITEM_INST (ID_); +CREATE INDEX ACT_IDX_SENTRY_PLAN_ITEM ON ACT_CMMN_RU_SENTRY_PART_INST (PLAN_ITEM_INST_ID_); + +CREATE TABLE ACT_CMMN_RU_MIL_INST +( + ID_ VARCHAR2(255) NOT NULL, + NAME_ VARCHAR2(255) NOT NULL, + TIME_STAMP_ TIMESTAMP NOT NULL, + CASE_INST_ID_ VARCHAR2(255) NOT NULL, + CASE_DEF_ID_ VARCHAR2(255) NOT NULL, + ELEMENT_ID_ VARCHAR2(255) NOT NULL, + TENANT_ID_ VARCHAR2(255) DEFAULT '', + CONSTRAINT PK_ACT_CMMN_RU_MIL_INST PRIMARY KEY (ID_) +); + +ALTER TABLE ACT_CMMN_RU_MIL_INST + ADD CONSTRAINT ACT_FK_MIL_CASE_DEF FOREIGN KEY (CASE_DEF_ID_) REFERENCES ACT_CMMN_CASEDEF (ID_); +CREATE INDEX ACT_IDX_MIL_CASE_DEF ON ACT_CMMN_RU_MIL_INST (CASE_DEF_ID_); + +ALTER TABLE ACT_CMMN_RU_MIL_INST + ADD CONSTRAINT ACT_FK_MIL_CASE_INST FOREIGN KEY (CASE_INST_ID_) REFERENCES ACT_CMMN_RU_CASE_INST (ID_); +CREATE INDEX ACT_IDX_MIL_CASE_INST ON ACT_CMMN_RU_MIL_INST (CASE_INST_ID_); + +CREATE TABLE ACT_CMMN_HI_CASE_INST +( + ID_ VARCHAR2(255) NOT NULL, + REV_ INTEGER NOT NULL, + BUSINESS_KEY_ VARCHAR2(255), + NAME_ VARCHAR2(255), + PARENT_ID_ VARCHAR2(255), + CASE_DEF_ID_ VARCHAR2(255), + STATE_ VARCHAR2(255), + START_TIME_ TIMESTAMP, + END_TIME_ TIMESTAMP, + START_USER_ID_ VARCHAR2(255), + CALLBACK_ID_ VARCHAR2(255), + CALLBACK_TYPE_ VARCHAR2(255), + REFERENCE_ID_ VARCHAR2(255), + REFERENCE_TYPE_ VARCHAR2(255), + LAST_REACTIVATION_TIME_ TIMESTAMP(3), + LAST_REACTIVATION_USER_ID_ VARCHAR2(255), + BUSINESS_STATUS_ VARCHAR2(255), + TENANT_ID_ VARCHAR2(255) DEFAULT '', + END_USER_ID_ VARCHAR2(255), + CONSTRAINT PK_ACT_CMMN_HI_CASE_INST PRIMARY KEY (ID_) +); + +CREATE INDEX ACT_IDX_HI_CASE_INST_END ON ACT_CMMN_HI_CASE_INST (END_TIME_); + +CREATE TABLE ACT_CMMN_HI_MIL_INST +( + ID_ VARCHAR2(255) NOT NULL, + REV_ INTEGER NOT NULL, + NAME_ VARCHAR2(255) NOT NULL, + TIME_STAMP_ TIMESTAMP NOT NULL, + CASE_INST_ID_ VARCHAR2(255) NOT NULL, + CASE_DEF_ID_ VARCHAR2(255) NOT NULL, + ELEMENT_ID_ VARCHAR2(255) NOT NULL, + TENANT_ID_ VARCHAR2(255) DEFAULT '', + CONSTRAINT PK_ACT_CMMN_HI_MIL_INST PRIMARY KEY (ID_) +); + +CREATE TABLE ACT_CMMN_HI_PLAN_ITEM_INST +( + ID_ VARCHAR2(255) NOT NULL, + REV_ INTEGER NOT NULL, + NAME_ VARCHAR2(255), + STATE_ VARCHAR2(255), + CASE_DEF_ID_ VARCHAR2(255), + CASE_INST_ID_ VARCHAR2(255), + STAGE_INST_ID_ VARCHAR2(255), + IS_STAGE_ NUMBER(1), + ELEMENT_ID_ VARCHAR2(255), + ITEM_DEFINITION_ID_ VARCHAR2(255), + ITEM_DEFINITION_TYPE_ VARCHAR2(255), + CREATE_TIME_ TIMESTAMP, + LAST_AVAILABLE_TIME_ TIMESTAMP, + LAST_ENABLED_TIME_ TIMESTAMP, + LAST_DISABLED_TIME_ TIMESTAMP, + LAST_STARTED_TIME_ TIMESTAMP, + LAST_SUSPENDED_TIME_ TIMESTAMP, + COMPLETED_TIME_ TIMESTAMP, + OCCURRED_TIME_ TIMESTAMP, + TERMINATED_TIME_ TIMESTAMP, + EXIT_TIME_ TIMESTAMP, + ENDED_TIME_ TIMESTAMP, + LAST_UPDATED_TIME_ TIMESTAMP, + START_USER_ID_ VARCHAR2(255), + ASSIGNEE_ VARCHAR2(255), + COMPLETED_BY_ VARCHAR2(255), + REFERENCE_ID_ VARCHAR2(255), + REFERENCE_TYPE_ VARCHAR2(255), + ENTRY_CRITERION_ID_ VARCHAR2(255), + EXIT_CRITERION_ID_ VARCHAR2(255), + SHOW_IN_OVERVIEW_ NUMBER(1), + EXTRA_VALUE_ VARCHAR2(255), + DERIVED_CASE_DEF_ID_ VARCHAR2(255), + LAST_UNAVAILABLE_TIME_ TIMESTAMP(3), + TENANT_ID_ VARCHAR2(255) DEFAULT '', + CONSTRAINT PK_ACT_CMMN_HI_PLAN_ITEM_INST PRIMARY KEY (ID_) +); + +CREATE INDEX ACT_IDX_HI_PLAN_ITEM_INST_CASE ON ACT_CMMN_HI_PLAN_ITEM_INST (CASE_INST_ID_); + +insert into ACT_GE_PROPERTY +values ('cmmn.schema.version', '7.1.0.2', 1); \ No newline at end of file diff --git a/modules/flowable-cmmn-engine/src/main/resources/org/flowable/cmmn/db/create/flowable.kingbase-sqlserver.create.cmmn.sql b/modules/flowable-cmmn-engine/src/main/resources/org/flowable/cmmn/db/create/flowable.kingbase-sqlserver.create.cmmn.sql new file mode 100644 index 00000000000..99d747af72d --- /dev/null +++ b/modules/flowable-cmmn-engine/src/main/resources/org/flowable/cmmn/db/create/flowable.kingbase-sqlserver.create.cmmn.sql @@ -0,0 +1,263 @@ +CREATE TABLE ACT_CMMN_DEPLOYMENT +( + ID_ varchar(255) NOT NULL, + NAME_ nvarchar(255), + CATEGORY_ varchar(255), + KEY_ varchar(255), + DEPLOY_TIME_ datetime, + PARENT_DEPLOYMENT_ID_ varchar(255), + TENANT_ID_ varchar(255) CONSTRAINT DF_ACT_CMMN_DEPLOYMENT_TENANT_ID_ DEFAULT '', + CONSTRAINT PK_ACT_CMMN_DEPLOYMENT PRIMARY KEY (ID_) +); + +CREATE TABLE ACT_CMMN_DEPLOYMENT_RESOURCE +( + ID_ varchar(255) NOT NULL, + NAME_ nvarchar(255), + DEPLOYMENT_ID_ varchar(255), + RESOURCE_BYTES_ varbinary(MAX), + GENERATED_ bit, + CONSTRAINT PK_CMMN_DEPLOYMENT_RESOURCE PRIMARY KEY (ID_) +); + +ALTER TABLE ACT_CMMN_DEPLOYMENT_RESOURCE + ADD CONSTRAINT ACT_FK_CMMN_RSRC_DPL FOREIGN KEY (DEPLOYMENT_ID_) REFERENCES ACT_CMMN_DEPLOYMENT (ID_); + +CREATE NONCLUSTERED INDEX ACT_IDX_CMMN_RSRC_DPL ON ACT_CMMN_DEPLOYMENT_RESOURCE(DEPLOYMENT_ID_); + +CREATE TABLE ACT_CMMN_CASEDEF +( + ID_ varchar(255) NOT NULL, + REV_ int NOT NULL, + NAME_ nvarchar(255), + KEY_ varchar(255) NOT NULL, + VERSION_ int NOT NULL, + CATEGORY_ varchar(255), + DEPLOYMENT_ID_ varchar(255), + RESOURCE_NAME_ nvarchar(4000), + DESCRIPTION_ nvarchar(4000), + HAS_GRAPHICAL_NOTATION_ bit, + DGRM_RESOURCE_NAME_ nvarchar(4000), + HAS_START_FORM_KEY_ bit, + TENANT_ID_ varchar(255) CONSTRAINT DF_ACT_CMMN_CASEDEF_TENANT_ID_ DEFAULT '', + CONSTRAINT PK_ACT_CMMN_CASEDEF PRIMARY KEY (ID_) +); + +ALTER TABLE ACT_CMMN_CASEDEF + ADD CONSTRAINT ACT_FK_CASE_DEF_DPLY FOREIGN KEY (DEPLOYMENT_ID_) REFERENCES ACT_CMMN_DEPLOYMENT (ID_); +CREATE NONCLUSTERED INDEX ACT_IDX_CASE_DEF_DPLY ON ACT_CMMN_CASEDEF(DEPLOYMENT_ID_); + +CREATE UNIQUE NONCLUSTERED INDEX ACT_IDX_CASE_DEF_UNIQ ON ACT_CMMN_CASEDEF(KEY_, VERSION_, TENANT_ID_); + +CREATE TABLE ACT_CMMN_RU_CASE_INST +( + ID_ varchar(255) NOT NULL, + REV_ int NOT NULL, + BUSINESS_KEY_ nvarchar(255), + NAME_ nvarchar(255), + PARENT_ID_ varchar(255), + CASE_DEF_ID_ varchar(255), + STATE_ varchar(255), + START_TIME_ datetime, + START_USER_ID_ varchar(255), + CALLBACK_ID_ varchar(255), + CALLBACK_TYPE_ varchar(255), + LOCK_TIME_ datetime, + LOCK_OWNER_ varchar(255), + IS_COMPLETEABLE_ bit, + REFERENCE_ID_ varchar(255), + REFERENCE_TYPE_ varchar(255), + LAST_REACTIVATION_TIME_ datetime, + LAST_REACTIVATION_USER_ID_ varchar(255), + BUSINESS_STATUS_ nvarchar(255), + TENANT_ID_ varchar(255) CONSTRAINT DF_ACT_CMMN_RU_CASE_INST_TENANT_ID_ DEFAULT '', + CONSTRAINT PK_ACT_CMMN_RU_CASE_INST PRIMARY KEY (ID_) +); + +ALTER TABLE ACT_CMMN_RU_CASE_INST + ADD CONSTRAINT ACT_FK_CASE_INST_CASE_DEF FOREIGN KEY (CASE_DEF_ID_) REFERENCES ACT_CMMN_CASEDEF (ID_); + +CREATE NONCLUSTERED INDEX ACT_IDX_CASE_INST_CASE_DEF ON ACT_CMMN_RU_CASE_INST(CASE_DEF_ID_); +CREATE NONCLUSTERED INDEX ACT_IDX_CASE_INST_PARENT ON ACT_CMMN_RU_CASE_INST(PARENT_ID_); +CREATE NONCLUSTERED INDEX ACT_IDX_CASE_INST_REF_ID_ ON ACT_CMMN_RU_CASE_INST(REFERENCE_ID_); + +CREATE TABLE ACT_CMMN_RU_PLAN_ITEM_INST +( + ID_ varchar(255) NOT NULL, + REV_ int NOT NULL, + CASE_DEF_ID_ varchar(255), + CASE_INST_ID_ varchar(255), + STAGE_INST_ID_ varchar(255), + IS_STAGE_ bit, + ELEMENT_ID_ varchar(255), + NAME_ nvarchar(255), + STATE_ varchar(255), + CREATE_TIME_ datetime, + START_USER_ID_ varchar(255), + ASSIGNEE_ nvarchar(255), + COMPLETED_BY_ nvarchar(255), + REFERENCE_ID_ varchar(255), + REFERENCE_TYPE_ varchar(255), + ITEM_DEFINITION_ID_ varchar(255), + ITEM_DEFINITION_TYPE_ varchar(255), + IS_COMPLETEABLE_ bit, + IS_COUNT_ENABLED_ bit, + VAR_COUNT_ int, + SENTRY_PART_INST_COUNT_ int, + LAST_AVAILABLE_TIME_ datetime, + LAST_ENABLED_TIME_ datetime, + LAST_DISABLED_TIME_ datetime, + LAST_STARTED_TIME_ datetime, + LAST_SUSPENDED_TIME_ datetime, + COMPLETED_TIME_ datetime, + OCCURRED_TIME_ datetime, + TERMINATED_TIME_ datetime, + EXIT_TIME_ datetime, + ENDED_TIME_ datetime, + ENTRY_CRITERION_ID_ varchar(255), + EXIT_CRITERION_ID_ varchar(255), + EXTRA_VALUE_ varchar(255), + DERIVED_CASE_DEF_ID_ varchar(255), + LAST_UNAVAILABLE_TIME_ datetime, + TENANT_ID_ varchar(255) CONSTRAINT DF_ACT_CMMN_RU_PLAN_ITEM_INST_TENANT_ID_ DEFAULT '', + CONSTRAINT PK_CMMN_PLAN_ITEM_INST PRIMARY KEY (ID_) +); + +ALTER TABLE ACT_CMMN_RU_PLAN_ITEM_INST + ADD CONSTRAINT ACT_FK_PLAN_ITEM_CASE_DEF FOREIGN KEY (CASE_DEF_ID_) REFERENCES ACT_CMMN_CASEDEF (ID_); +CREATE NONCLUSTERED INDEX ACT_IDX_PLAN_ITEM_CASE_DEF ON ACT_CMMN_RU_PLAN_ITEM_INST(CASE_DEF_ID_); + +ALTER TABLE ACT_CMMN_RU_PLAN_ITEM_INST + ADD CONSTRAINT ACT_FK_PLAN_ITEM_CASE_INST FOREIGN KEY (CASE_INST_ID_) REFERENCES ACT_CMMN_RU_CASE_INST (ID_); +CREATE NONCLUSTERED INDEX ACT_IDX_PLAN_ITEM_CASE_INST ON ACT_CMMN_RU_PLAN_ITEM_INST(CASE_INST_ID_); + +CREATE NONCLUSTERED INDEX ACT_IDX_PLAN_ITEM_STAGE_INST ON ACT_CMMN_RU_PLAN_ITEM_INST(STAGE_INST_ID_); + +CREATE TABLE ACT_CMMN_RU_SENTRY_PART_INST +( + ID_ varchar(255) NOT NULL, + REV_ int NOT NULL, + CASE_DEF_ID_ varchar(255), + CASE_INST_ID_ varchar(255), + PLAN_ITEM_INST_ID_ varchar(255), + ON_PART_ID_ varchar(255), + IF_PART_ID_ varchar(255), + TIME_STAMP_ datetime, + CONSTRAINT PK_CMMN_SENTRY_PART_INST PRIMARY KEY (ID_) +); + +ALTER TABLE ACT_CMMN_RU_SENTRY_PART_INST + ADD CONSTRAINT ACT_FK_SENTRY_CASE_DEF FOREIGN KEY (CASE_DEF_ID_) REFERENCES ACT_CMMN_CASEDEF (ID_); +CREATE NONCLUSTERED INDEX ACT_IDX_SENTRY_CASE_DEF ON ACT_CMMN_RU_SENTRY_PART_INST(CASE_DEF_ID_); + +ALTER TABLE ACT_CMMN_RU_SENTRY_PART_INST + ADD CONSTRAINT ACT_FK_SENTRY_CASE_INST FOREIGN KEY (CASE_INST_ID_) REFERENCES ACT_CMMN_RU_CASE_INST (ID_); +CREATE NONCLUSTERED INDEX ACT_IDX_SENTRY_CASE_INST ON ACT_CMMN_RU_SENTRY_PART_INST(CASE_INST_ID_); + +ALTER TABLE ACT_CMMN_RU_SENTRY_PART_INST + ADD CONSTRAINT ACT_FK_SENTRY_PLAN_ITEM FOREIGN KEY (PLAN_ITEM_INST_ID_) REFERENCES ACT_CMMN_RU_PLAN_ITEM_INST (ID_); +CREATE NONCLUSTERED INDEX ACT_IDX_SENTRY_PLAN_ITEM ON ACT_CMMN_RU_SENTRY_PART_INST(PLAN_ITEM_INST_ID_); + +CREATE TABLE ACT_CMMN_RU_MIL_INST +( + ID_ varchar(255) NOT NULL, + NAME_ nvarchar(255) NOT NULL, + TIME_STAMP_ datetime NOT NULL, + CASE_INST_ID_ varchar(255) NOT NULL, + CASE_DEF_ID_ varchar(255) NOT NULL, + ELEMENT_ID_ varchar(255) NOT NULL, + TENANT_ID_ varchar(255) CONSTRAINT DF_ACT_CMMN_RU_MIL_INST_TENANT_ID_ DEFAULT '', + CONSTRAINT PK_ACT_CMMN_RU_MIL_INST PRIMARY KEY (ID_) +); + +ALTER TABLE ACT_CMMN_RU_MIL_INST + ADD CONSTRAINT ACT_FK_MIL_CASE_DEF FOREIGN KEY (CASE_DEF_ID_) REFERENCES ACT_CMMN_CASEDEF (ID_); +CREATE NONCLUSTERED INDEX ACT_IDX_MIL_CASE_DEF ON ACT_CMMN_RU_MIL_INST(CASE_DEF_ID_); + +ALTER TABLE ACT_CMMN_RU_MIL_INST + ADD CONSTRAINT ACT_FK_MIL_CASE_INST FOREIGN KEY (CASE_INST_ID_) REFERENCES ACT_CMMN_RU_CASE_INST (ID_); +CREATE NONCLUSTERED INDEX ACT_IDX_MIL_CASE_INST ON ACT_CMMN_RU_MIL_INST(CASE_INST_ID_); + +CREATE TABLE ACT_CMMN_HI_CASE_INST +( + ID_ varchar(255) NOT NULL, + REV_ int NOT NULL, + BUSINESS_KEY_ nvarchar(255), + NAME_ nvarchar(255), + PARENT_ID_ varchar(255), + CASE_DEF_ID_ varchar(255), + STATE_ varchar(255), + START_TIME_ datetime, + END_TIME_ datetime, + START_USER_ID_ varchar(255), + CALLBACK_ID_ varchar(255), + CALLBACK_TYPE_ varchar(255), + REFERENCE_ID_ varchar(255), + REFERENCE_TYPE_ varchar(255), + LAST_REACTIVATION_TIME_ datetime, + LAST_REACTIVATION_USER_ID_ varchar(255), + BUSINESS_STATUS_ nvarchar(255), + TENANT_ID_ varchar(255) CONSTRAINT DF_ACT_CMMN_HI_CASE_INST_TENANT_ID_ DEFAULT '', + END_USER_ID_ varchar(255), + CONSTRAINT PK_ACT_CMMN_HI_CASE_INST PRIMARY KEY (ID_) +); + +CREATE NONCLUSTERED INDEX ACT_IDX_HI_CASE_INST_END ON ACT_CMMN_HI_CASE_INST(END_TIME_); + +CREATE TABLE ACT_CMMN_HI_MIL_INST +( + ID_ varchar(255) NOT NULL, + REV_ int NOT NULL, + NAME_ nvarchar(255) NOT NULL, + TIME_STAMP_ datetime NOT NULL, + CASE_INST_ID_ varchar(255) NOT NULL, + CASE_DEF_ID_ varchar(255) NOT NULL, + ELEMENT_ID_ varchar(255) NOT NULL, + TENANT_ID_ varchar(255) CONSTRAINT DF_ACT_CMMN_HI_MIL_INST_TENANT_ID_ DEFAULT '', + CONSTRAINT PK_ACT_CMMN_HI_MIL_INST PRIMARY KEY (ID_) +); + +CREATE TABLE ACT_CMMN_HI_PLAN_ITEM_INST +( + ID_ varchar(255) NOT NULL, + REV_ int NOT NULL, + NAME_ nvarchar(255), + STATE_ varchar(255), + CASE_DEF_ID_ varchar(255), + CASE_INST_ID_ varchar(255), + STAGE_INST_ID_ varchar(255), + IS_STAGE_ bit, + ELEMENT_ID_ varchar(255), + ITEM_DEFINITION_ID_ varchar(255), + ITEM_DEFINITION_TYPE_ varchar(255), + CREATE_TIME_ datetime, + LAST_AVAILABLE_TIME_ datetime, + LAST_ENABLED_TIME_ datetime, + LAST_DISABLED_TIME_ datetime, + LAST_STARTED_TIME_ datetime, + LAST_SUSPENDED_TIME_ datetime, + COMPLETED_TIME_ datetime, + OCCURRED_TIME_ datetime, + TERMINATED_TIME_ datetime, + EXIT_TIME_ datetime, + ENDED_TIME_ datetime, + LAST_UPDATED_TIME_ datetime, + START_USER_ID_ varchar(255), + ASSIGNEE_ nvarchar(255), + COMPLETED_BY_ nvarchar(255), + REFERENCE_ID_ varchar(255), + REFERENCE_TYPE_ varchar(255), + ENTRY_CRITERION_ID_ varchar(255), + EXIT_CRITERION_ID_ varchar(255), + SHOW_IN_OVERVIEW_ bit, + EXTRA_VALUE_ varchar(255), + DERIVED_CASE_DEF_ID_ varchar(255), + LAST_UNAVAILABLE_TIME_ datetime, + TENANT_ID_ varchar(255) CONSTRAINT DF_ACT_CMMN_HI_PLAN_ITEM_INST_TENANT_ID_ DEFAULT '', + CONSTRAINT PK_ACT_CMMN_HI_PLAN_ITEM_INST PRIMARY KEY (ID_) +); + +CREATE NONCLUSTERED INDEX ACT_IDX_HI_PLAN_ITEM_INST_CASE ON ACT_CMMN_HI_PLAN_ITEM_INST(CASE_INST_ID_); + +insert into ACT_GE_PROPERTY +values ('cmmn.schema.version', '7.1.0.2', 1); \ No newline at end of file diff --git a/modules/flowable-cmmn-engine/src/main/resources/org/flowable/cmmn/db/drop/flowable.kingbase-mysql.drop.cmmn.sql b/modules/flowable-cmmn-engine/src/main/resources/org/flowable/cmmn/db/drop/flowable.kingbase-mysql.drop.cmmn.sql new file mode 100644 index 00000000000..c5c36df57f0 --- /dev/null +++ b/modules/flowable-cmmn-engine/src/main/resources/org/flowable/cmmn/db/drop/flowable.kingbase-mysql.drop.cmmn.sql @@ -0,0 +1,10 @@ +drop table ACT_CMMN_HI_PLAN_ITEM_INST cascade; +drop table ACT_CMMN_HI_MIL_INST cascade; +drop table ACT_CMMN_HI_CASE_INST cascade; +drop table ACT_CMMN_RU_MIL_INST cascade; +drop table ACT_CMMN_RU_SENTRY_PART_INST cascade; +drop table ACT_CMMN_RU_PLAN_ITEM_INST cascade; +drop table ACT_CMMN_RU_CASE_INST cascade; +drop table ACT_CMMN_CASEDEF cascade; +drop table ACT_CMMN_DEPLOYMENT_RESOURCE cascade; +drop table ACT_CMMN_DEPLOYMENT cascade; diff --git a/modules/flowable-cmmn-engine/src/main/resources/org/flowable/cmmn/db/drop/flowable.kingbase-oracle.drop.cmmn.sql b/modules/flowable-cmmn-engine/src/main/resources/org/flowable/cmmn/db/drop/flowable.kingbase-oracle.drop.cmmn.sql new file mode 100644 index 00000000000..4e88b07aa07 --- /dev/null +++ b/modules/flowable-cmmn-engine/src/main/resources/org/flowable/cmmn/db/drop/flowable.kingbase-oracle.drop.cmmn.sql @@ -0,0 +1,10 @@ +drop table ACT_CMMN_HI_PLAN_ITEM_INST cascade; +drop table ACT_CMMN_HI_MIL_INST cascade; +drop table ACT_CMMN_HI_CASE_INST cascade; +drop table ACT_CMMN_RU_MIL_INST cascade; +drop table ACT_CMMN_RU_SENTRY_PART_INST cascade; +drop table ACT_CMMN_RU_PLAN_ITEM_INST cascade; +drop table ACT_CMMN_RU_CASE_INST cascade; +drop table ACT_CMMN_CASEDEF cascade; +drop table ACT_CMMN_DEPLOYMENT_RESOURCE cascade; +drop table ACT_CMMN_DEPLOYMENT cascade; \ No newline at end of file diff --git a/modules/flowable-cmmn-engine/src/main/resources/org/flowable/cmmn/db/drop/flowable.kingbase-sqlserver.drop.cmmn.sql b/modules/flowable-cmmn-engine/src/main/resources/org/flowable/cmmn/db/drop/flowable.kingbase-sqlserver.drop.cmmn.sql new file mode 100644 index 00000000000..4e88b07aa07 --- /dev/null +++ b/modules/flowable-cmmn-engine/src/main/resources/org/flowable/cmmn/db/drop/flowable.kingbase-sqlserver.drop.cmmn.sql @@ -0,0 +1,10 @@ +drop table ACT_CMMN_HI_PLAN_ITEM_INST cascade; +drop table ACT_CMMN_HI_MIL_INST cascade; +drop table ACT_CMMN_HI_CASE_INST cascade; +drop table ACT_CMMN_RU_MIL_INST cascade; +drop table ACT_CMMN_RU_SENTRY_PART_INST cascade; +drop table ACT_CMMN_RU_PLAN_ITEM_INST cascade; +drop table ACT_CMMN_RU_CASE_INST cascade; +drop table ACT_CMMN_CASEDEF cascade; +drop table ACT_CMMN_DEPLOYMENT_RESOURCE cascade; +drop table ACT_CMMN_DEPLOYMENT cascade; \ No newline at end of file diff --git a/modules/flowable-dmn-engine/pom.xml b/modules/flowable-dmn-engine/pom.xml index c3b3613211b..a975c7912af 100755 --- a/modules/flowable-dmn-engine/pom.xml +++ b/modules/flowable-dmn-engine/pom.xml @@ -94,6 +94,11 @@ h2 test + + cn.com.kingbase + kingbase8 + 9.0.1 + org.postgresql diff --git a/modules/flowable-dmn-engine/src/main/resources/org/flowable/dmn/db/create/flowable.kingbase-mysql.create.dmn.sql b/modules/flowable-dmn-engine/src/main/resources/org/flowable/dmn/db/create/flowable.kingbase-mysql.create.dmn.sql new file mode 100644 index 00000000000..32a98be9585 --- /dev/null +++ b/modules/flowable-dmn-engine/src/main/resources/org/flowable/dmn/db/create/flowable.kingbase-mysql.create.dmn.sql @@ -0,0 +1,18 @@ +CREATE TABLE ACT_DMN_DEPLOYMENT (ID_ VARCHAR(255) NOT NULL, NAME_ VARCHAR(255) NULL, CATEGORY_ VARCHAR(255) NULL, DEPLOY_TIME_ datetime(3) NULL, TENANT_ID_ VARCHAR(255) NULL, PARENT_DEPLOYMENT_ID_ VARCHAR(255) NULL, CONSTRAINT PK_ACT_DMN_DEPLOYMENT PRIMARY KEY (ID_)); + +CREATE TABLE ACT_DMN_DEPLOYMENT_RESOURCE (ID_ VARCHAR(255) NOT NULL, NAME_ VARCHAR(255) NULL, DEPLOYMENT_ID_ VARCHAR(255) NULL, RESOURCE_BYTES_ LONGBLOB NULL, CONSTRAINT PK_ACT_DMN_DEPLOYMENT_RESOURCE PRIMARY KEY (ID_)); + +CREATE TABLE ACT_DMN_DECISION (ID_ VARCHAR(255) NOT NULL, NAME_ VARCHAR(255) NULL, VERSION_ INT NULL, KEY_ VARCHAR(255) NULL, CATEGORY_ VARCHAR(255) NULL, DEPLOYMENT_ID_ VARCHAR(255) NULL, TENANT_ID_ VARCHAR(255) NULL, RESOURCE_NAME_ VARCHAR(255) NULL, DESCRIPTION_ VARCHAR(255) NULL, CONSTRAINT PK_ACT_DMN_DECISION_TABLE PRIMARY KEY (ID_)); + +CREATE TABLE ACT_DMN_HI_DECISION_EXECUTION (ID_ VARCHAR(255) NOT NULL, DECISION_DEFINITION_ID_ VARCHAR(255) NULL, DEPLOYMENT_ID_ VARCHAR(255) NULL, START_TIME_ datetime(3) NULL, END_TIME_ datetime(3) NULL, INSTANCE_ID_ VARCHAR(255) NULL, EXECUTION_ID_ VARCHAR(255) NULL, ACTIVITY_ID_ VARCHAR(255) NULL, FAILED_ TINYINT DEFAULT 0 NULL, TENANT_ID_ VARCHAR(255) NULL, EXECUTION_JSON_ LONGTEXT NULL, CONSTRAINT PK_ACT_DMN_HI_DECISION_EXECUTION PRIMARY KEY (ID_)); + +ALTER TABLE ACT_DMN_HI_DECISION_EXECUTION ADD SCOPE_TYPE_ VARCHAR(255) NULL; + +CREATE UNIQUE INDEX ACT_IDX_DMN_DEC_UNIQ ON ACT_DMN_DECISION(KEY_, VERSION_, TENANT_ID_); + +ALTER TABLE ACT_DMN_DECISION ADD DECISION_TYPE_ VARCHAR(255) NULL; + +CREATE INDEX ACT_IDX_DMN_INSTANCE_ID ON ACT_DMN_HI_DECISION_EXECUTION(INSTANCE_ID_); + +insert into ACT_GE_PROPERTY +values ('dmn.schema.version', '7.1.0.2', 1); diff --git a/modules/flowable-dmn-engine/src/main/resources/org/flowable/dmn/db/create/flowable.kingbase-oracle.create.dmn.sql b/modules/flowable-dmn-engine/src/main/resources/org/flowable/dmn/db/create/flowable.kingbase-oracle.create.dmn.sql new file mode 100644 index 00000000000..bb9b0f50f3f --- /dev/null +++ b/modules/flowable-dmn-engine/src/main/resources/org/flowable/dmn/db/create/flowable.kingbase-oracle.create.dmn.sql @@ -0,0 +1,19 @@ +CREATE TABLE ACT_DMN_DEPLOYMENT (ID_ VARCHAR2(255) NOT NULL, NAME_ VARCHAR2(255), CATEGORY_ VARCHAR2(255), DEPLOY_TIME_ TIMESTAMP, TENANT_ID_ VARCHAR2(255), PARENT_DEPLOYMENT_ID_ VARCHAR2(255), CONSTRAINT PK_ACT_DMN_DEPLOYMENT PRIMARY KEY (ID_)); + +CREATE TABLE ACT_DMN_DEPLOYMENT_RESOURCE (ID_ VARCHAR2(255) NOT NULL, NAME_ VARCHAR2(255), DEPLOYMENT_ID_ VARCHAR2(255), RESOURCE_BYTES_ BLOB, CONSTRAINT PK_ACT_DMN_DEPLOYMENT_RESOURCE PRIMARY KEY (ID_)); + +CREATE TABLE ACT_DMN_DECISION (ID_ VARCHAR2(255) NOT NULL, NAME_ VARCHAR2(255), VERSION_ INTEGER, KEY_ VARCHAR2(255), CATEGORY_ VARCHAR2(255), DECISION_TYPE_ VARCHAR2(255), DEPLOYMENT_ID_ VARCHAR2(255), TENANT_ID_ VARCHAR2(255), RESOURCE_NAME_ VARCHAR2(255), DESCRIPTION_ VARCHAR2(255), CONSTRAINT PK_ACT_DMN_DECISION_TABLE PRIMARY KEY (ID_)); + +CREATE TABLE ACT_DMN_HI_DECISION_EXECUTION (ID_ VARCHAR2(255) NOT NULL, DECISION_DEFINITION_ID_ VARCHAR2(255), DEPLOYMENT_ID_ VARCHAR2(255), START_TIME_ TIMESTAMP, END_TIME_ TIMESTAMP, INSTANCE_ID_ VARCHAR2(255), EXECUTION_ID_ VARCHAR2(255), ACTIVITY_ID_ VARCHAR2(255), SCOPE_TYPE_ VARCHAR2(255), FAILED_ NUMBER(1) DEFAULT 0, TENANT_ID_ VARCHAR2(255), EXECUTION_JSON_ CLOB, CONSTRAINT PK_ACT_DMN_HI_DECISION_EXECUTI PRIMARY KEY (ID_)); + +ALTER TABLE ACT_DMN_DEPLOYMENT_RESOURCE + ADD CONSTRAINT ACT_FK_DMN_RSRC_DPL FOREIGN KEY (DEPLOYMENT_ID_) REFERENCES ACT_DMN_DEPLOYMENT (ID_); + +CREATE INDEX ACT_IDX_DMN_RSRC_DPL ON ACT_DMN_DEPLOYMENT_RESOURCE (DEPLOYMENT_ID_); + +CREATE UNIQUE INDEX ACT_IDX_DMN_DEC_UNIQ ON ACT_DMN_DECISION(KEY_, VERSION_, TENANT_ID_); + +CREATE INDEX ACT_IDX_DMN_INSTANCE_ID ON ACT_DMN_HI_DECISION_EXECUTION(INSTANCE_ID_); + +insert into ACT_GE_PROPERTY +values ('dmn.schema.version', '7.1.0.2', 1); \ No newline at end of file diff --git a/modules/flowable-dmn-engine/src/main/resources/org/flowable/dmn/db/create/flowable.kingbase-sqlserver.create.dmn.sql b/modules/flowable-dmn-engine/src/main/resources/org/flowable/dmn/db/create/flowable.kingbase-sqlserver.create.dmn.sql new file mode 100644 index 00000000000..c1d235fec98 --- /dev/null +++ b/modules/flowable-dmn-engine/src/main/resources/org/flowable/dmn/db/create/flowable.kingbase-sqlserver.create.dmn.sql @@ -0,0 +1,19 @@ +CREATE TABLE ACT_DMN_DEPLOYMENT (ID_ varchar(255) NOT NULL, NAME_ nvarchar(255), CATEGORY_ varchar(255), DEPLOY_TIME_ datetime, TENANT_ID_ varchar(255), PARENT_DEPLOYMENT_ID_ varchar(255), CONSTRAINT PK_ACT_DMN_DEPLOYMENT PRIMARY KEY (ID_)); + +CREATE TABLE ACT_DMN_DEPLOYMENT_RESOURCE (ID_ varchar(255) NOT NULL, NAME_ nvarchar(255), DEPLOYMENT_ID_ varchar(255), RESOURCE_BYTES_ varbinary(MAX), CONSTRAINT PK_ACT_DMN_DEPLOYMENT_RESOURCE PRIMARY KEY (ID_)); + +CREATE TABLE ACT_DMN_DECISION (ID_ varchar(255) NOT NULL, NAME_ nvarchar(255), VERSION_ int, KEY_ varchar(255), CATEGORY_ nvarchar(255), DECISION_TYPE_ varchar(255), DEPLOYMENT_ID_ varchar(255), TENANT_ID_ varchar(255), RESOURCE_NAME_ nvarchar(255), DESCRIPTION_ nvarchar(255), CONSTRAINT PK_ACT_DMN_DECISION_TABLE PRIMARY KEY (ID_)); + +CREATE TABLE ACT_DMN_HI_DECISION_EXECUTION (ID_ varchar(255) NOT NULL, DECISION_DEFINITION_ID_ varchar(255), DEPLOYMENT_ID_ varchar(255), START_TIME_ datetime, END_TIME_ datetime, INSTANCE_ID_ varchar(255), EXECUTION_ID_ varchar(255), ACTIVITY_ID_ varchar(255), SCOPE_TYPE_ varchar(255), FAILED_ bit CONSTRAINT DF_ACT_DMN_HI_DECISION_EXECUTION_FAILED_ DEFAULT 0, TENANT_ID_ varchar(255), EXECUTION_JSON_ varchar(MAX), CONSTRAINT PK_ACT_DMN_HI_DECISION_EXECUTION PRIMARY KEY (ID_)); + +ALTER TABLE ACT_DMN_DEPLOYMENT_RESOURCE + ADD CONSTRAINT ACT_FK_DMN_RSRC_DPL FOREIGN KEY (DEPLOYMENT_ID_) REFERENCES ACT_DMN_DEPLOYMENT (ID_); + +CREATE NONCLUSTERED INDEX ACT_IDX_DMN_RSRC_DPL ON ACT_DMN_DEPLOYMENT_RESOURCE(DEPLOYMENT_ID_); + +CREATE UNIQUE NONCLUSTERED INDEX ACT_IDX_DMN_DEC_UNIQ ON ACT_DMN_DECISION(KEY_, VERSION_, TENANT_ID_); + +CREATE NONCLUSTERED INDEX ACT_IDX_DMN_INSTANCE_ID ON ACT_DMN_HI_DECISION_EXECUTION(INSTANCE_ID_); + +insert into ACT_GE_PROPERTY +values ('dmn.schema.version', '7.1.0.2', 1); \ No newline at end of file diff --git a/modules/flowable-dmn-engine/src/main/resources/org/flowable/dmn/db/drop/flowable.kingbase-mysql.drop.dmn.sql b/modules/flowable-dmn-engine/src/main/resources/org/flowable/dmn/db/drop/flowable.kingbase-mysql.drop.dmn.sql new file mode 100644 index 00000000000..e3706e9a1d6 --- /dev/null +++ b/modules/flowable-dmn-engine/src/main/resources/org/flowable/dmn/db/drop/flowable.kingbase-mysql.drop.dmn.sql @@ -0,0 +1,4 @@ +drop table if exists ACT_DMN_HI_DECISION_EXECUTION cascade; +drop table if exists ACT_DMN_DECISION cascade; +drop table if exists ACT_DMN_DEPLOYMENT_RESOURCE cascade; +drop table if exists ACT_DMN_DEPLOYMENT cascade; diff --git a/modules/flowable-dmn-engine/src/main/resources/org/flowable/dmn/db/drop/flowable.kingbase-oracle.drop.dmn.sql b/modules/flowable-dmn-engine/src/main/resources/org/flowable/dmn/db/drop/flowable.kingbase-oracle.drop.dmn.sql new file mode 100644 index 00000000000..4eece1b9f53 --- /dev/null +++ b/modules/flowable-dmn-engine/src/main/resources/org/flowable/dmn/db/drop/flowable.kingbase-oracle.drop.dmn.sql @@ -0,0 +1,4 @@ +drop table if exists ACT_DMN_HI_DECISION_EXECUTION cascade; +drop table if exists ACT_DMN_DECISION cascade; +drop table if exists ACT_DMN_DEPLOYMENT_RESOURCE cascade; +drop table if exists ACT_DMN_DEPLOYMENT cascade; \ No newline at end of file diff --git a/modules/flowable-dmn-engine/src/main/resources/org/flowable/dmn/db/drop/flowable.kingbase-sqlserver.drop.dmn.sql b/modules/flowable-dmn-engine/src/main/resources/org/flowable/dmn/db/drop/flowable.kingbase-sqlserver.drop.dmn.sql new file mode 100644 index 00000000000..4eece1b9f53 --- /dev/null +++ b/modules/flowable-dmn-engine/src/main/resources/org/flowable/dmn/db/drop/flowable.kingbase-sqlserver.drop.dmn.sql @@ -0,0 +1,4 @@ +drop table if exists ACT_DMN_HI_DECISION_EXECUTION cascade; +drop table if exists ACT_DMN_DECISION cascade; +drop table if exists ACT_DMN_DEPLOYMENT_RESOURCE cascade; +drop table if exists ACT_DMN_DEPLOYMENT cascade; \ No newline at end of file diff --git a/modules/flowable-engine-common/src/main/java/org/flowable/common/engine/impl/AbstractEngineConfiguration.java b/modules/flowable-engine-common/src/main/java/org/flowable/common/engine/impl/AbstractEngineConfiguration.java index 48a9a83ca35..c617ddb16ba 100755 --- a/modules/flowable-engine-common/src/main/java/org/flowable/common/engine/impl/AbstractEngineConfiguration.java +++ b/modules/flowable-engine-common/src/main/java/org/flowable/common/engine/impl/AbstractEngineConfiguration.java @@ -809,6 +809,33 @@ public void initSqlSessionFactory() { if (sqlSessionFactory == null) { InputStream inputStream = null; try { + // [KINGBASE] —— 确保已初始化 databaseType + if (databaseType == null) { + initDatabaseType(); // 这一步会把 KingbaseES 映射成 "kingbase" + } + + // [KINGBASE] —— 在加载 properties 之前细化为 kingbase- + if ("kingbase".equalsIgnoreCase(databaseType)) { + try (java.sql.Connection c = this.getDataSource().getConnection(); + java.sql.Statement st = c.createStatement(); + java.sql.ResultSet rs = st.executeQuery("show database_mode")) { + + if (rs.next()) { + String mode = rs.getString(1); // mysql / oracle / sqlserver + switch (mode.toLowerCase()) { + case "mysql" -> databaseType = "kingbase-mysql"; + case "oracle" -> databaseType = "kingbase-oracle"; + case "sqlserver" -> databaseType = "kingbase-sqlserver"; + case "pg" -> databaseType = "postgres"; + default -> throw new FlowableException("Unknown Kingbase database_mode: " + mode); + } + } else { + throw new FlowableException("SHOW DATABASE_MODE returned no rows"); + } + } catch (java.sql.SQLException e) { + throw new FlowableException("Detect Kingbase database_mode failed", e); + } + } inputStream = getMyBatisXmlConfigurationStream(); Environment environment = new Environment("default", transactionFactory, dataSource); diff --git a/modules/flowable-engine-common/src/main/java/org/flowable/common/engine/impl/util/DbUtil.java b/modules/flowable-engine-common/src/main/java/org/flowable/common/engine/impl/util/DbUtil.java index 5f19d613014..dfea2e3d9ba 100644 --- a/modules/flowable-engine-common/src/main/java/org/flowable/common/engine/impl/util/DbUtil.java +++ b/modules/flowable-engine-common/src/main/java/org/flowable/common/engine/impl/util/DbUtil.java @@ -41,7 +41,7 @@ public class DbUtil { public static final String DATABASE_TYPE_MSSQL = "mssql"; public static final String DATABASE_TYPE_DB2 = "db2"; public static final String DATABASE_TYPE_COCKROACHDB = "cockroachdb"; - + public static final String DATABASE_TYPE_KINGBASE = "kingbase"; public static Properties getDefaultDatabaseTypeMappings() { Properties databaseTypeMappings = new Properties(); databaseTypeMappings.setProperty("H2", DATABASE_TYPE_H2); @@ -74,6 +74,7 @@ public static Properties getDefaultDatabaseTypeMappings() { databaseTypeMappings.setProperty("DB2/2", DATABASE_TYPE_DB2); databaseTypeMappings.setProperty("DB2 UDB AS400", DATABASE_TYPE_DB2); databaseTypeMappings.setProperty(PRODUCT_NAME_CRDB, DATABASE_TYPE_COCKROACHDB); + databaseTypeMappings.setProperty("KingbaseES", DATABASE_TYPE_KINGBASE); return databaseTypeMappings; } diff --git a/modules/flowable-engine-common/src/main/resources/org/flowable/common/db/create/flowable.kingbase-mysql.create.common.sql b/modules/flowable-engine-common/src/main/resources/org/flowable/common/db/create/flowable.kingbase-mysql.create.common.sql new file mode 100644 index 00000000000..2368589f4e2 --- /dev/null +++ b/modules/flowable-engine-common/src/main/resources/org/flowable/common/db/create/flowable.kingbase-mysql.create.common.sql @@ -0,0 +1,604 @@ +create table ACT_GE_PROPERTY ( + NAME_ varchar(64), + VALUE_ varchar(300), + REV_ integer, + primary key (NAME_) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin; + +create table ACT_GE_BYTEARRAY ( + ID_ varchar(64), + REV_ integer, + NAME_ varchar(255), + DEPLOYMENT_ID_ varchar(64), + BYTES_ LONGBLOB, + GENERATED_ TINYINT, + primary key (ID_) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin; + +insert into ACT_GE_PROPERTY +values ('common.schema.version', '7.1.0.2', 1); + +insert into ACT_GE_PROPERTY +values ('next.dbid', '1', 1); + + +create table ACT_RU_ENTITYLINK ( + ID_ varchar(64), + REV_ integer, + CREATE_TIME_ datetime(3), + 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_) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin; + +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_); + +create table ACT_HI_ENTITYLINK ( + ID_ varchar(64), + LINK_TYPE_ varchar(255), + CREATE_TIME_ datetime(3), + 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_) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin; + +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_) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin; + +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_); + +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_ datetime(3), + 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_) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin; + +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(3) NULL, + 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(3) NULL, + REPEAT_ varchar(255), + HANDLER_TYPE_ varchar(255), + HANDLER_CFG_ varchar(4000), + CUSTOM_VALUES_ID_ varchar(64), + CREATE_TIME_ timestamp(3) NULL, + TENANT_ID_ varchar(255) default '', + primary key (ID_) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin; + +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(3) NULL, + 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(3) NULL, + REPEAT_ varchar(255), + HANDLER_TYPE_ varchar(255), + HANDLER_CFG_ varchar(4000), + CUSTOM_VALUES_ID_ varchar(64), + CREATE_TIME_ timestamp(3) NULL, + TENANT_ID_ varchar(255) default '', + primary key (ID_) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin; + +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(3) NULL, + REPEAT_ varchar(255), + HANDLER_TYPE_ varchar(255), + HANDLER_CFG_ varchar(4000), + CUSTOM_VALUES_ID_ varchar(64), + CREATE_TIME_ timestamp(3) NULL, + TENANT_ID_ varchar(255) default '', + primary key (ID_) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin; + +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(3) NULL, + REPEAT_ varchar(255), + HANDLER_TYPE_ varchar(255), + HANDLER_CFG_ varchar(4000), + CUSTOM_VALUES_ID_ varchar(64), + CREATE_TIME_ timestamp(3) NULL, + TENANT_ID_ varchar(255) default '', + primary key (ID_) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin; + +create table ACT_RU_HISTORY_JOB ( + ID_ varchar(64) NOT NULL, + REV_ integer, + LOCK_EXP_TIME_ timestamp(3) NULL, + 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(3) NULL, + SCOPE_TYPE_ varchar(255), + TENANT_ID_ varchar(255) default '', + primary key (ID_) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin; + +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(3) NULL, + 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(3) NULL, + REPEAT_ varchar(255), + HANDLER_TYPE_ varchar(255), + HANDLER_CFG_ varchar(4000), + CUSTOM_VALUES_ID_ varchar(64), + CREATE_TIME_ timestamp(3) NULL, + TENANT_ID_ varchar(255) default '', + primary key (ID_) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin; + +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_); + +create table FLW_RU_BATCH ( + ID_ varchar(64) not null, + REV_ integer, + TYPE_ varchar(64) not null, + SEARCH_KEY_ varchar(255), + SEARCH_KEY2_ varchar(255), + CREATE_TIME_ datetime(3) not null, + COMPLETE_TIME_ datetime(3), + STATUS_ varchar(255), + BATCH_DOC_ID_ varchar(64), + TENANT_ID_ varchar(255) default '', + primary key (ID_) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin; + +create table FLW_RU_BATCH_PART ( + ID_ varchar(64) not null, + REV_ integer, + BATCH_ID_ varchar(64), + TYPE_ varchar(64) not null, + SCOPE_ID_ varchar(64), + SUB_SCOPE_ID_ varchar(64), + SCOPE_TYPE_ varchar(64), + SEARCH_KEY_ varchar(255), + SEARCH_KEY2_ varchar(255), + CREATE_TIME_ datetime(3) not null, + COMPLETE_TIME_ datetime(3), + STATUS_ varchar(255), + RESULT_DOC_ID_ varchar(64), + TENANT_ID_ varchar(255) default '', + primary key (ID_) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin; + +create index FLW_IDX_BATCH_PART on FLW_RU_BATCH_PART(BATCH_ID_); + +alter table FLW_RU_BATCH_PART + add constraint FLW_FK_BATCH_PART_PARENT + foreign key (BATCH_ID_) + references FLW_RU_BATCH (ID_); + +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), + STATE_ 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(3) NULL, + IN_PROGRESS_TIME_ datetime(3), + IN_PROGRESS_STARTED_BY_ varchar(255), + CLAIM_TIME_ datetime(3), + CLAIMED_BY_ varchar(255), + SUSPENDED_TIME_ datetime(3), + SUSPENDED_BY_ varchar(255), + IN_PROGRESS_DUE_DATE_ datetime(3), + DUE_DATE_ datetime(3), + CATEGORY_ varchar(255), + SUSPENSION_STATE_ integer, + TENANT_ID_ varchar(255) default '', + FORM_KEY_ varchar(255), + IS_COUNT_ENABLED_ TINYINT, + VAR_COUNT_ integer, + ID_LINK_COUNT_ integer, + SUB_TASK_COUNT_ integer, + primary key (ID_) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin; + +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_); + +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), + STATE_ varchar(255), + NAME_ varchar(255), + PARENT_TASK_ID_ varchar(64), + DESCRIPTION_ varchar(4000), + OWNER_ varchar(255), + ASSIGNEE_ varchar(255), + START_TIME_ datetime(3) not null, + IN_PROGRESS_TIME_ datetime(3), + IN_PROGRESS_STARTED_BY_ varchar(255), + CLAIM_TIME_ datetime(3), + CLAIMED_BY_ varchar(255), + SUSPENDED_TIME_ datetime(3), + SUSPENDED_BY_ varchar(255), + END_TIME_ datetime(3), + COMPLETED_BY_ varchar(255), + DURATION_ bigint, + DELETE_REASON_ varchar(4000), + PRIORITY_ integer, + IN_PROGRESS_DUE_DATE_ datetime(3), + DUE_DATE_ datetime(3), + FORM_KEY_ varchar(255), + CATEGORY_ varchar(255), + TENANT_ID_ varchar(255) default '', + LAST_UPDATED_TIME_ datetime(3), + primary key (ID_) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin; + +create table ACT_HI_TSK_LOG ( + ID_ bigint auto_increment, + TYPE_ varchar(64), + TASK_ID_ varchar(64) not null, + TIME_STAMP_ timestamp(3) 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 '', + primary key (ID_) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin; + +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 index ACT_IDX_ACT_HI_TSK_LOG_TASK on ACT_HI_TSK_LOG(TASK_ID_); + + +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, + LONG_ bigint, + TEXT_ varchar(4000), + TEXT2_ varchar(4000), + META_INFO_ varchar(4000), + primary key (ID_) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin; + +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_); + +alter table ACT_RU_VARIABLE + add constraint ACT_FK_VAR_BYTEARRAY + foreign key (BYTEARRAY_ID_) + references ACT_GE_BYTEARRAY (ID_); + +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, + LONG_ bigint, + TEXT_ varchar(4000), + TEXT2_ varchar(4000), + META_INFO_ varchar(4000), + CREATE_TIME_ datetime(3), + LAST_UPDATED_TIME_ datetime(3), + primary key (ID_) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin; + +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), + ACTIVITY_ID_ varchar(64), + CONFIGURATION_ varchar(255), + CREATED_ timestamp(3) not null DEFAULT CURRENT_TIMESTAMP(3), + PROC_DEF_ID_ varchar(64), + SUB_SCOPE_ID_ varchar(64), + SCOPE_ID_ varchar(64), + SCOPE_DEFINITION_ID_ varchar(64), + SCOPE_DEFINITION_KEY_ varchar(255), + SCOPE_TYPE_ varchar(64), + LOCK_TIME_ timestamp(3) NULL, + LOCK_OWNER_ varchar(255), + TENANT_ID_ varchar(255) default '', + primary key (ID_) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin; + +create index ACT_IDX_EVENT_SUBSCR_CONFIG_ on ACT_RU_EVENT_SUBSCR(CONFIGURATION_); +create index ACT_IDX_EVENT_SUBSCR_EXEC_ID on ACT_RU_EVENT_SUBSCR(EXECUTION_ID_); +create index ACT_IDX_EVENT_SUBSCR_PROC_ID on ACT_RU_EVENT_SUBSCR(PROC_INST_ID_); +create index ACT_IDX_EVENT_SUBSCR_SCOPEREF_ on ACT_RU_EVENT_SUBSCR(SCOPE_ID_, SCOPE_TYPE_); diff --git a/modules/flowable-engine-common/src/main/resources/org/flowable/common/db/create/flowable.kingbase-oracle.create.common.sql b/modules/flowable-engine-common/src/main/resources/org/flowable/common/db/create/flowable.kingbase-oracle.create.common.sql new file mode 100644 index 00000000000..c3644d56307 --- /dev/null +++ b/modules/flowable-engine-common/src/main/resources/org/flowable/common/db/create/flowable.kingbase-oracle.create.common.sql @@ -0,0 +1,606 @@ +create table ACT_GE_PROPERTY ( + NAME_ NVARCHAR2(64), + VALUE_ NVARCHAR2(300), + REV_ INTEGER, + primary key (NAME_) +); + +create table ACT_GE_BYTEARRAY ( + ID_ NVARCHAR2(64), + REV_ INTEGER, + NAME_ NVARCHAR2(255), + DEPLOYMENT_ID_ NVARCHAR2(64), + BYTES_ BLOB, + GENERATED_ NUMBER(1,0) CHECK (GENERATED_ IN (1,0)), + primary key (ID_) +); + +insert into ACT_GE_PROPERTY +values ('common.schema.version', '7.1.0.2', 1); + +insert into ACT_GE_PROPERTY +values ('next.dbid', '1', 1); + + +create table ACT_RU_ENTITYLINK ( + ID_ NVARCHAR2(64), + REV_ INTEGER, + CREATE_TIME_ TIMESTAMP(6), + LINK_TYPE_ NVARCHAR2(255), + SCOPE_ID_ NVARCHAR2(255), + SUB_SCOPE_ID_ NVARCHAR2(255), + SCOPE_TYPE_ NVARCHAR2(255), + SCOPE_DEFINITION_ID_ NVARCHAR2(255), + PARENT_ELEMENT_ID_ NVARCHAR2(255), + REF_SCOPE_ID_ NVARCHAR2(255), + REF_SCOPE_TYPE_ NVARCHAR2(255), + REF_SCOPE_DEFINITION_ID_ NVARCHAR2(255), + ROOT_SCOPE_ID_ NVARCHAR2(255), + ROOT_SCOPE_TYPE_ NVARCHAR2(255), + HIERARCHY_TYPE_ NVARCHAR2(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_); + +create table ACT_HI_ENTITYLINK ( + ID_ NVARCHAR2(64), + LINK_TYPE_ NVARCHAR2(255), + CREATE_TIME_ TIMESTAMP(6), + SCOPE_ID_ NVARCHAR2(255), + SUB_SCOPE_ID_ NVARCHAR2(255), + SCOPE_TYPE_ NVARCHAR2(255), + SCOPE_DEFINITION_ID_ NVARCHAR2(255), + PARENT_ELEMENT_ID_ NVARCHAR2(255), + REF_SCOPE_ID_ NVARCHAR2(255), + REF_SCOPE_TYPE_ NVARCHAR2(255), + REF_SCOPE_DEFINITION_ID_ NVARCHAR2(255), + ROOT_SCOPE_ID_ NVARCHAR2(255), + ROOT_SCOPE_TYPE_ NVARCHAR2(255), + HIERARCHY_TYPE_ NVARCHAR2(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_ NVARCHAR2(64), + REV_ INTEGER, + GROUP_ID_ NVARCHAR2(255), + TYPE_ NVARCHAR2(255), + USER_ID_ NVARCHAR2(255), + TASK_ID_ NVARCHAR2(64), + PROC_INST_ID_ NVARCHAR2(64), + PROC_DEF_ID_ NVARCHAR2(64), + SCOPE_ID_ NVARCHAR2(255), + SUB_SCOPE_ID_ NVARCHAR2(255), + SCOPE_TYPE_ NVARCHAR2(255), + SCOPE_DEFINITION_ID_ NVARCHAR2(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_); + +create table ACT_HI_IDENTITYLINK ( + ID_ NVARCHAR2(64), + GROUP_ID_ NVARCHAR2(255), + TYPE_ NVARCHAR2(255), + USER_ID_ NVARCHAR2(255), + TASK_ID_ NVARCHAR2(64), + CREATE_TIME_ TIMESTAMP(6), + PROC_INST_ID_ NVARCHAR2(64), + SCOPE_ID_ NVARCHAR2(255), + SUB_SCOPE_ID_ NVARCHAR2(255), + SCOPE_TYPE_ NVARCHAR2(255), + SCOPE_DEFINITION_ID_ NVARCHAR2(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_ NVARCHAR2(64) NOT NULL, + REV_ INTEGER, + CATEGORY_ NVARCHAR2(255), + TYPE_ NVARCHAR2(255) NOT NULL, + LOCK_EXP_TIME_ TIMESTAMP(6), + LOCK_OWNER_ NVARCHAR2(255), + EXCLUSIVE_ NUMBER(1,0) CHECK (EXCLUSIVE_ IN (1,0)), + EXECUTION_ID_ NVARCHAR2(64), + PROCESS_INSTANCE_ID_ NVARCHAR2(64), + PROC_DEF_ID_ NVARCHAR2(64), + ELEMENT_ID_ NVARCHAR2(255), + ELEMENT_NAME_ NVARCHAR2(255), + SCOPE_ID_ NVARCHAR2(255), + SUB_SCOPE_ID_ NVARCHAR2(255), + SCOPE_TYPE_ NVARCHAR2(255), + SCOPE_DEFINITION_ID_ NVARCHAR2(255), + CORRELATION_ID_ NVARCHAR2(255), + RETRIES_ INTEGER, + EXCEPTION_STACK_ID_ NVARCHAR2(64), + EXCEPTION_MSG_ NVARCHAR2(2000), + DUEDATE_ TIMESTAMP(6), + REPEAT_ NVARCHAR2(255), + HANDLER_TYPE_ NVARCHAR2(255), + HANDLER_CFG_ NVARCHAR2(2000), + CUSTOM_VALUES_ID_ NVARCHAR2(64), + CREATE_TIME_ TIMESTAMP(6), + TENANT_ID_ NVARCHAR2(255) DEFAULT '', + primary key (ID_) +); + +create table ACT_RU_TIMER_JOB ( + ID_ NVARCHAR2(64) NOT NULL, + REV_ INTEGER, + CATEGORY_ NVARCHAR2(255), + TYPE_ NVARCHAR2(255) NOT NULL, + LOCK_EXP_TIME_ TIMESTAMP(6), + LOCK_OWNER_ NVARCHAR2(255), + EXCLUSIVE_ NUMBER(1,0) CHECK (EXCLUSIVE_ IN (1,0)), + EXECUTION_ID_ NVARCHAR2(64), + PROCESS_INSTANCE_ID_ NVARCHAR2(64), + PROC_DEF_ID_ NVARCHAR2(64), + ELEMENT_ID_ NVARCHAR2(255), + ELEMENT_NAME_ NVARCHAR2(255), + SCOPE_ID_ NVARCHAR2(255), + SUB_SCOPE_ID_ NVARCHAR2(255), + SCOPE_TYPE_ NVARCHAR2(255), + SCOPE_DEFINITION_ID_ NVARCHAR2(255), + CORRELATION_ID_ NVARCHAR2(255), + RETRIES_ INTEGER, + EXCEPTION_STACK_ID_ NVARCHAR2(64), + EXCEPTION_MSG_ NVARCHAR2(2000), + DUEDATE_ TIMESTAMP(6), + REPEAT_ NVARCHAR2(255), + HANDLER_TYPE_ NVARCHAR2(255), + HANDLER_CFG_ NVARCHAR2(2000), + CUSTOM_VALUES_ID_ NVARCHAR2(64), + CREATE_TIME_ TIMESTAMP(6), + TENANT_ID_ NVARCHAR2(255) DEFAULT '', + primary key (ID_) +); + +create table ACT_RU_SUSPENDED_JOB ( + ID_ NVARCHAR2(64) NOT NULL, + REV_ INTEGER, + CATEGORY_ NVARCHAR2(255), + TYPE_ NVARCHAR2(255) NOT NULL, + EXCLUSIVE_ NUMBER(1,0) CHECK (EXCLUSIVE_ IN (1,0)), + EXECUTION_ID_ NVARCHAR2(64), + PROCESS_INSTANCE_ID_ NVARCHAR2(64), + PROC_DEF_ID_ NVARCHAR2(64), + ELEMENT_ID_ NVARCHAR2(255), + ELEMENT_NAME_ NVARCHAR2(255), + SCOPE_ID_ NVARCHAR2(255), + SUB_SCOPE_ID_ NVARCHAR2(255), + SCOPE_TYPE_ NVARCHAR2(255), + SCOPE_DEFINITION_ID_ NVARCHAR2(255), + CORRELATION_ID_ NVARCHAR2(255), + RETRIES_ INTEGER, + EXCEPTION_STACK_ID_ NVARCHAR2(64), + EXCEPTION_MSG_ NVARCHAR2(2000), + DUEDATE_ TIMESTAMP(6), + REPEAT_ NVARCHAR2(255), + HANDLER_TYPE_ NVARCHAR2(255), + HANDLER_CFG_ NVARCHAR2(2000), + CUSTOM_VALUES_ID_ NVARCHAR2(64), + CREATE_TIME_ TIMESTAMP(6), + TENANT_ID_ NVARCHAR2(255) DEFAULT '', + primary key (ID_) +); + +create table ACT_RU_DEADLETTER_JOB ( + ID_ NVARCHAR2(64) NOT NULL, + REV_ INTEGER, + CATEGORY_ NVARCHAR2(255), + TYPE_ NVARCHAR2(255) NOT NULL, + EXCLUSIVE_ NUMBER(1,0) CHECK (EXCLUSIVE_ IN (1,0)), + EXECUTION_ID_ NVARCHAR2(64), + PROCESS_INSTANCE_ID_ NVARCHAR2(64), + PROC_DEF_ID_ NVARCHAR2(64), + ELEMENT_ID_ NVARCHAR2(255), + ELEMENT_NAME_ NVARCHAR2(255), + SCOPE_ID_ NVARCHAR2(255), + SUB_SCOPE_ID_ NVARCHAR2(255), + SCOPE_TYPE_ NVARCHAR2(255), + SCOPE_DEFINITION_ID_ NVARCHAR2(255), + CORRELATION_ID_ NVARCHAR2(255), + EXCEPTION_STACK_ID_ NVARCHAR2(64), + EXCEPTION_MSG_ NVARCHAR2(2000), + DUEDATE_ TIMESTAMP(6), + REPEAT_ NVARCHAR2(255), + HANDLER_TYPE_ NVARCHAR2(255), + HANDLER_CFG_ NVARCHAR2(2000), + CUSTOM_VALUES_ID_ NVARCHAR2(64), + CREATE_TIME_ TIMESTAMP(6), + TENANT_ID_ NVARCHAR2(255) DEFAULT '', + primary key (ID_) +); + +create table ACT_RU_HISTORY_JOB ( + ID_ NVARCHAR2(64) NOT NULL, + REV_ INTEGER, + LOCK_EXP_TIME_ TIMESTAMP(6), + LOCK_OWNER_ NVARCHAR2(255), + RETRIES_ INTEGER, + EXCEPTION_STACK_ID_ NVARCHAR2(64), + EXCEPTION_MSG_ NVARCHAR2(2000), + HANDLER_TYPE_ NVARCHAR2(255), + HANDLER_CFG_ NVARCHAR2(2000), + CUSTOM_VALUES_ID_ NVARCHAR2(64), + ADV_HANDLER_CFG_ID_ NVARCHAR2(64), + CREATE_TIME_ TIMESTAMP(6), + SCOPE_TYPE_ NVARCHAR2(255), + TENANT_ID_ NVARCHAR2(255) DEFAULT '', + primary key (ID_) +); + +create table ACT_RU_EXTERNAL_JOB ( + ID_ NVARCHAR2(64) NOT NULL, + REV_ INTEGER, + CATEGORY_ NVARCHAR2(255), + TYPE_ NVARCHAR2(255) NOT NULL, + LOCK_EXP_TIME_ TIMESTAMP(6), + LOCK_OWNER_ NVARCHAR2(255), + EXCLUSIVE_ NUMBER(1,0) CHECK (EXCLUSIVE_ IN (1,0)), + EXECUTION_ID_ NVARCHAR2(64), + PROCESS_INSTANCE_ID_ NVARCHAR2(64), + PROC_DEF_ID_ NVARCHAR2(64), + ELEMENT_ID_ NVARCHAR2(255), + ELEMENT_NAME_ NVARCHAR2(255), + SCOPE_ID_ NVARCHAR2(255), + SUB_SCOPE_ID_ NVARCHAR2(255), + SCOPE_TYPE_ NVARCHAR2(255), + SCOPE_DEFINITION_ID_ NVARCHAR2(255), + CORRELATION_ID_ NVARCHAR2(255), + RETRIES_ INTEGER, + EXCEPTION_STACK_ID_ NVARCHAR2(64), + EXCEPTION_MSG_ NVARCHAR2(2000), + DUEDATE_ TIMESTAMP(6), + REPEAT_ NVARCHAR2(255), + HANDLER_TYPE_ NVARCHAR2(255), + HANDLER_CFG_ NVARCHAR2(2000), + CUSTOM_VALUES_ID_ NVARCHAR2(64), + CREATE_TIME_ TIMESTAMP(6), + TENANT_ID_ NVARCHAR2(255) DEFAULT '', + primary key (ID_) +); + +create index ACT_IDX_JOB_EXCEPTION on ACT_RU_JOB(EXCEPTION_STACK_ID_); +create index ACT_IDX_JOB_CUSTOM_VAL_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_TJOB_EXCEPTION on ACT_RU_TIMER_JOB(EXCEPTION_STACK_ID_); +create index ACT_IDX_TJOB_CUSTOM_VAL_ID on ACT_RU_TIMER_JOB(CUSTOM_VALUES_ID_); +create index ACT_IDX_TJOB_CORRELATION_ID on ACT_RU_TIMER_JOB(CORRELATION_ID_); + +create index ACT_IDX_SJOB_EXCEPTION on ACT_RU_SUSPENDED_JOB(EXCEPTION_STACK_ID_); +create index ACT_IDX_SJOB_CUSTOM_VAL_ID on ACT_RU_SUSPENDED_JOB(CUSTOM_VALUES_ID_); +create index ACT_IDX_SJOB_CORRELATION_ID on ACT_RU_SUSPENDED_JOB(CORRELATION_ID_); + +create index ACT_IDX_DJOB_EXCEPTION on ACT_RU_DEADLETTER_JOB(EXCEPTION_STACK_ID_); +create index ACT_IDX_DJOB_CUSTOM_VAL_ID on ACT_RU_DEADLETTER_JOB(CUSTOM_VALUES_ID_); +create index ACT_IDX_DJOB_CORRELATION_ID on ACT_RU_DEADLETTER_JOB(CORRELATION_ID_); + +create index ACT_IDX_EJOB_EXCEPTION on ACT_RU_EXTERNAL_JOB(EXCEPTION_STACK_ID_); +create index ACT_IDX_EJOB_CUSTOM_VAL_ID on ACT_RU_EXTERNAL_JOB(CUSTOM_VALUES_ID_); +create index ACT_IDX_EJOB_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_VAL + foreign key (CUSTOM_VALUES_ID_) + references ACT_GE_BYTEARRAY (ID_); + +alter table ACT_RU_TIMER_JOB + add constraint ACT_FK_TJOB_EXCEPTION + foreign key (EXCEPTION_STACK_ID_) + references ACT_GE_BYTEARRAY (ID_); + +alter table ACT_RU_TIMER_JOB + add constraint ACT_FK_TJOB_CUSTOM_VAL + foreign key (CUSTOM_VALUES_ID_) + references ACT_GE_BYTEARRAY (ID_); + +alter table ACT_RU_SUSPENDED_JOB + add constraint ACT_FK_SJOB_EXCEPTION + foreign key (EXCEPTION_STACK_ID_) + references ACT_GE_BYTEARRAY (ID_); + +alter table ACT_RU_SUSPENDED_JOB + add constraint ACT_FK_SJOB_CUSTOM_VAL + foreign key (CUSTOM_VALUES_ID_) + references ACT_GE_BYTEARRAY (ID_); + +alter table ACT_RU_DEADLETTER_JOB + add constraint ACT_FK_DJOB_EXCEPTION + foreign key (EXCEPTION_STACK_ID_) + references ACT_GE_BYTEARRAY (ID_); + +alter table ACT_RU_DEADLETTER_JOB + add constraint ACT_FK_DJOB_CUSTOM_VAL + foreign key (CUSTOM_VALUES_ID_) + references ACT_GE_BYTEARRAY (ID_); + +alter table ACT_RU_EXTERNAL_JOB + add constraint ACT_FK_EJOB_EXCEPTION + foreign key (EXCEPTION_STACK_ID_) + references ACT_GE_BYTEARRAY (ID_); + +alter table ACT_RU_EXTERNAL_JOB + add constraint ACT_FK_EJOB_CUSTOM_VAL + 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_TJOB_DUEDATE on ACT_RU_TIMER_JOB(DUEDATE_); + +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_); + +create table FLW_RU_BATCH ( + ID_ NVARCHAR2(64) not null, + REV_ INTEGER, + TYPE_ NVARCHAR2(64) not null, + SEARCH_KEY_ NVARCHAR2(255), + SEARCH_KEY2_ NVARCHAR2(255), + CREATE_TIME_ TIMESTAMP(6) not null, + COMPLETE_TIME_ TIMESTAMP(6), + STATUS_ NVARCHAR2(255), + BATCH_DOC_ID_ NVARCHAR2(64), + TENANT_ID_ NVARCHAR2(255) default '', + primary key (ID_) +); + +create table FLW_RU_BATCH_PART ( + ID_ NVARCHAR2(64) not null, + REV_ INTEGER, + BATCH_ID_ NVARCHAR2(64), + TYPE_ NVARCHAR2(64) not null, + SCOPE_ID_ NVARCHAR2(64), + SUB_SCOPE_ID_ NVARCHAR2(64), + SCOPE_TYPE_ NVARCHAR2(64), + SEARCH_KEY_ NVARCHAR2(255), + SEARCH_KEY2_ NVARCHAR2(255), + CREATE_TIME_ TIMESTAMP(6) not null, + COMPLETE_TIME_ TIMESTAMP(6), + STATUS_ NVARCHAR2(255), + RESULT_DOC_ID_ NVARCHAR2(64), + TENANT_ID_ NVARCHAR2(255) default '', + primary key (ID_) +); + +create index FLW_IDX_BATCH_PART on FLW_RU_BATCH_PART(BATCH_ID_); + +alter table FLW_RU_BATCH_PART + add constraint FLW_FK_BATCH_PART_PARENT + foreign key (BATCH_ID_) + references FLW_RU_BATCH (ID_); + +create table ACT_RU_TASK ( + ID_ NVARCHAR2(64), + REV_ INTEGER, + EXECUTION_ID_ NVARCHAR2(64), + PROC_INST_ID_ NVARCHAR2(64), + PROC_DEF_ID_ NVARCHAR2(64), + TASK_DEF_ID_ NVARCHAR2(64), + SCOPE_ID_ NVARCHAR2(255), + SUB_SCOPE_ID_ NVARCHAR2(255), + SCOPE_TYPE_ NVARCHAR2(255), + SCOPE_DEFINITION_ID_ NVARCHAR2(255), + PROPAGATED_STAGE_INST_ID_ NVARCHAR2(255), + STATE_ NVARCHAR2(255), + NAME_ NVARCHAR2(255), + PARENT_TASK_ID_ NVARCHAR2(64), + DESCRIPTION_ NVARCHAR2(2000), + TASK_DEF_KEY_ NVARCHAR2(255), + OWNER_ NVARCHAR2(255), + ASSIGNEE_ NVARCHAR2(255), + DELEGATION_ NVARCHAR2(64), + PRIORITY_ INTEGER, + CREATE_TIME_ TIMESTAMP(6), + IN_PROGRESS_TIME_ TIMESTAMP(6), + IN_PROGRESS_STARTED_BY_ NVARCHAR2(255), + CLAIM_TIME_ TIMESTAMP(6), + CLAIMED_BY_ NVARCHAR2(255), + SUSPENDED_TIME_ TIMESTAMP(6), + SUSPENDED_BY_ NVARCHAR2(255), + IN_PROGRESS_DUE_DATE_ TIMESTAMP(6), + DUE_DATE_ TIMESTAMP(6), + CATEGORY_ NVARCHAR2(255), + SUSPENSION_STATE_ INTEGER, + TENANT_ID_ NVARCHAR2(255) DEFAULT '', + FORM_KEY_ NVARCHAR2(255), + IS_COUNT_ENABLED_ NUMBER(1,0) CHECK (IS_COUNT_ENABLED_ IN (1,0)), + 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_); + +create table ACT_HI_TASKINST ( + ID_ NVARCHAR2(64) not null, + REV_ INTEGER default 1, + PROC_DEF_ID_ NVARCHAR2(64), + TASK_DEF_ID_ NVARCHAR2(64), + TASK_DEF_KEY_ NVARCHAR2(255), + PROC_INST_ID_ NVARCHAR2(64), + EXECUTION_ID_ NVARCHAR2(64), + SCOPE_ID_ NVARCHAR2(255), + SUB_SCOPE_ID_ NVARCHAR2(255), + SCOPE_TYPE_ NVARCHAR2(255), + SCOPE_DEFINITION_ID_ NVARCHAR2(255), + PROPAGATED_STAGE_INST_ID_ NVARCHAR2(255), + PARENT_TASK_ID_ NVARCHAR2(64), + STATE_ NVARCHAR2(255), + NAME_ NVARCHAR2(255), + DESCRIPTION_ NVARCHAR2(2000), + OWNER_ NVARCHAR2(255), + ASSIGNEE_ NVARCHAR2(255), + START_TIME_ TIMESTAMP(6) not null, + IN_PROGRESS_TIME_ TIMESTAMP(6), + IN_PROGRESS_STARTED_BY_ NVARCHAR2(255), + CLAIM_TIME_ TIMESTAMP(6), + CLAIMED_BY_ NVARCHAR2(255), + SUSPENDED_TIME_ TIMESTAMP(6), + SUSPENDED_BY_ NVARCHAR2(255), + END_TIME_ TIMESTAMP(6), + COMPLETED_BY_ NVARCHAR2(255), + DURATION_ NUMBER(19,0), + DELETE_REASON_ NVARCHAR2(2000), + PRIORITY_ INTEGER, + IN_PROGRESS_DUE_DATE_ TIMESTAMP(6), + DUE_DATE_ TIMESTAMP(6), + FORM_KEY_ NVARCHAR2(255), + CATEGORY_ NVARCHAR2(255), + TENANT_ID_ NVARCHAR2(255) default '', + LAST_UPDATED_TIME_ TIMESTAMP(6), + primary key (ID_) +); +create sequence act_hi_task_evt_log_seq start with 1 increment by 1; + +create table ACT_HI_TSK_LOG ( + ID_ NUMBER(19) DEFAULT nextval('act_hi_task_evt_log_seq') PRIMARY KEY, + TYPE_ NVARCHAR2(64), + TASK_ID_ NVARCHAR2(64) not null, + TIME_STAMP_ TIMESTAMP(6) not null, + USER_ID_ NVARCHAR2(255), + DATA_ NVARCHAR2(2000), + EXECUTION_ID_ NVARCHAR2(64), + PROC_INST_ID_ NVARCHAR2(64), + PROC_DEF_ID_ NVARCHAR2(64), + SCOPE_ID_ NVARCHAR2(255), + SCOPE_DEFINITION_ID_ NVARCHAR2(255), + SUB_SCOPE_ID_ NVARCHAR2(255), + SCOPE_TYPE_ NVARCHAR2(255), + TENANT_ID_ NVARCHAR2(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 index ACT_IDX_ACT_HI_TSK_LOG_TASK on ACT_HI_TSK_LOG(TASK_ID_); + +create table ACT_RU_VARIABLE ( + ID_ NVARCHAR2(64) not null, + REV_ INTEGER, + TYPE_ NVARCHAR2(255) not null, + NAME_ NVARCHAR2(255) not null, + EXECUTION_ID_ NVARCHAR2(64), + PROC_INST_ID_ NVARCHAR2(64), + TASK_ID_ NVARCHAR2(64), + SCOPE_ID_ NVARCHAR2(255), + SUB_SCOPE_ID_ NVARCHAR2(255), + SCOPE_TYPE_ NVARCHAR2(255), + BYTEARRAY_ID_ NVARCHAR2(64), + DOUBLE_ NUMBER(*,10), + LONG_ NUMBER(19,0), + TEXT_ NVARCHAR2(2000), + TEXT2_ NVARCHAR2(2000), + META_INFO_ NVARCHAR2(2000), + 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_); + +create table ACT_HI_VARINST ( + ID_ NVARCHAR2(64) not null, + REV_ INTEGER default 1, + PROC_INST_ID_ NVARCHAR2(64), + EXECUTION_ID_ NVARCHAR2(64), + TASK_ID_ NVARCHAR2(64), + NAME_ NVARCHAR2(255) not null, + VAR_TYPE_ NVARCHAR2(100), + SCOPE_ID_ NVARCHAR2(255), + SUB_SCOPE_ID_ NVARCHAR2(255), + SCOPE_TYPE_ NVARCHAR2(255), + BYTEARRAY_ID_ NVARCHAR2(64), + DOUBLE_ NUMBER(*,10), + LONG_ NUMBER(19,0), + TEXT_ NVARCHAR2(2000), + TEXT2_ NVARCHAR2(2000), + META_INFO_ NVARCHAR2(2000), + CREATE_TIME_ TIMESTAMP(6), + LAST_UPDATED_TIME_ TIMESTAMP(6), + 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_ NVARCHAR2(64) not null, + REV_ integer, + EVENT_TYPE_ NVARCHAR2(255) not null, + EVENT_NAME_ NVARCHAR2(255), + EXECUTION_ID_ NVARCHAR2(64), + PROC_INST_ID_ NVARCHAR2(64), + ACTIVITY_ID_ NVARCHAR2(64), + CONFIGURATION_ NVARCHAR2(255), + CREATED_ TIMESTAMP(6) not null, + PROC_DEF_ID_ NVARCHAR2(64), + SUB_SCOPE_ID_ NVARCHAR2(64), + SCOPE_ID_ NVARCHAR2(64), + SCOPE_DEFINITION_ID_ NVARCHAR2(64), + SCOPE_DEFINITION_KEY_ NVARCHAR2(255), + SCOPE_TYPE_ NVARCHAR2(64), + LOCK_TIME_ TIMESTAMP(6), + LOCK_OWNER_ NVARCHAR2(255), + TENANT_ID_ NVARCHAR2(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_PROC_ID on ACT_RU_EVENT_SUBSCR(PROC_INST_ID_); +create index ACT_IDX_EVENT_SUBSCR_SCOPEREF_ on ACT_RU_EVENT_SUBSCR(SCOPE_ID_, SCOPE_TYPE_); \ No newline at end of file diff --git a/modules/flowable-engine-common/src/main/resources/org/flowable/common/db/create/flowable.kingbase-sqlserver.create.common.sql b/modules/flowable-engine-common/src/main/resources/org/flowable/common/db/create/flowable.kingbase-sqlserver.create.common.sql new file mode 100644 index 00000000000..594d358b75a --- /dev/null +++ b/modules/flowable-engine-common/src/main/resources/org/flowable/common/db/create/flowable.kingbase-sqlserver.create.common.sql @@ -0,0 +1,604 @@ +create table ACT_GE_PROPERTY ( + NAME_ nvarchar(64), + VALUE_ nvarchar(300), + REV_ int, + primary key (NAME_) +); + +create table ACT_GE_BYTEARRAY ( + ID_ nvarchar(64), + REV_ int, + NAME_ nvarchar(255), + DEPLOYMENT_ID_ nvarchar(64), + BYTES_ varbinary(max), + GENERATED_ tinyint, + primary key (ID_) +); + +insert into ACT_GE_PROPERTY +values ('common.schema.version', '7.1.0.2', 1); + +insert into ACT_GE_PROPERTY +values ('next.dbid', '1', 1); + + +create table ACT_RU_ENTITYLINK ( + ID_ nvarchar(64), + REV_ int, + CREATE_TIME_ datetime, + LINK_TYPE_ nvarchar(255), + SCOPE_ID_ nvarchar(255), + SUB_SCOPE_ID_ nvarchar(255), + SCOPE_TYPE_ nvarchar(255), + SCOPE_DEFINITION_ID_ nvarchar(255), + PARENT_ELEMENT_ID_ nvarchar(255), + REF_SCOPE_ID_ nvarchar(255), + REF_SCOPE_TYPE_ nvarchar(255), + REF_SCOPE_DEFINITION_ID_ nvarchar(255), + ROOT_SCOPE_ID_ nvarchar(255), + ROOT_SCOPE_TYPE_ nvarchar(255), + HIERARCHY_TYPE_ nvarchar(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_); + +create table ACT_HI_ENTITYLINK ( + ID_ nvarchar(64), + LINK_TYPE_ nvarchar(255), + CREATE_TIME_ datetime, + SCOPE_ID_ nvarchar(255), + SUB_SCOPE_ID_ nvarchar(255), + SCOPE_TYPE_ nvarchar(255), + SCOPE_DEFINITION_ID_ nvarchar(255), + PARENT_ELEMENT_ID_ nvarchar(255), + REF_SCOPE_ID_ nvarchar(255), + REF_SCOPE_TYPE_ nvarchar(255), + REF_SCOPE_DEFINITION_ID_ nvarchar(255), + ROOT_SCOPE_ID_ nvarchar(255), + ROOT_SCOPE_TYPE_ nvarchar(255), + HIERARCHY_TYPE_ nvarchar(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_ nvarchar(64), + REV_ int, + GROUP_ID_ nvarchar(255), + TYPE_ nvarchar(255), + USER_ID_ nvarchar(255), + TASK_ID_ nvarchar(64), + PROC_INST_ID_ nvarchar(64), + PROC_DEF_ID_ nvarchar(64), + SCOPE_ID_ nvarchar(255), + SUB_SCOPE_ID_ nvarchar(255), + SCOPE_TYPE_ nvarchar(255), + SCOPE_DEFINITION_ID_ nvarchar(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_); + +create table ACT_HI_IDENTITYLINK ( + ID_ nvarchar(64), + GROUP_ID_ nvarchar(255), + TYPE_ nvarchar(255), + USER_ID_ nvarchar(255), + TASK_ID_ nvarchar(64), + CREATE_TIME_ datetime, + PROC_INST_ID_ nvarchar(64), + SCOPE_ID_ nvarchar(255), + SUB_SCOPE_ID_ nvarchar(255), + SCOPE_TYPE_ nvarchar(255), + SCOPE_DEFINITION_ID_ nvarchar(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_ nvarchar(64) NOT NULL, + REV_ int, + CATEGORY_ varchar(255), + TYPE_ nvarchar(255) NOT NULL, + LOCK_EXP_TIME_ datetime, + LOCK_OWNER_ nvarchar(255), + EXCLUSIVE_ bit, + EXECUTION_ID_ nvarchar(64), + PROCESS_INSTANCE_ID_ nvarchar(64), + PROC_DEF_ID_ nvarchar(64), + ELEMENT_ID_ nvarchar(255), + ELEMENT_NAME_ nvarchar(255), + SCOPE_ID_ nvarchar(255), + SUB_SCOPE_ID_ nvarchar(255), + SCOPE_TYPE_ nvarchar(255), + SCOPE_DEFINITION_ID_ nvarchar(255), + CORRELATION_ID_ nvarchar(255), + RETRIES_ int, + EXCEPTION_STACK_ID_ nvarchar(64), + EXCEPTION_MSG_ nvarchar(4000), + DUEDATE_ datetime NULL, + REPEAT_ nvarchar(255), + HANDLER_TYPE_ nvarchar(255), + HANDLER_CFG_ nvarchar(4000), + CUSTOM_VALUES_ID_ nvarchar(64), + CREATE_TIME_ datetime2 NULL, + TENANT_ID_ nvarchar(255) default '', + primary key (ID_) +); + +create table ACT_RU_TIMER_JOB ( + ID_ nvarchar(64) NOT NULL, + REV_ int, + CATEGORY_ varchar(255), + TYPE_ nvarchar(255) NOT NULL, + LOCK_EXP_TIME_ datetime, + LOCK_OWNER_ nvarchar(255), + EXCLUSIVE_ bit, + EXECUTION_ID_ nvarchar(64), + PROCESS_INSTANCE_ID_ nvarchar(64), + PROC_DEF_ID_ nvarchar(64), + ELEMENT_ID_ nvarchar(255), + ELEMENT_NAME_ nvarchar(255), + SCOPE_ID_ nvarchar(255), + SUB_SCOPE_ID_ nvarchar(255), + SCOPE_TYPE_ nvarchar(255), + SCOPE_DEFINITION_ID_ nvarchar(255), + CORRELATION_ID_ nvarchar(255), + RETRIES_ int, + EXCEPTION_STACK_ID_ nvarchar(64), + EXCEPTION_MSG_ nvarchar(4000), + DUEDATE_ datetime NULL, + REPEAT_ nvarchar(255), + HANDLER_TYPE_ nvarchar(255), + HANDLER_CFG_ nvarchar(4000), + CUSTOM_VALUES_ID_ nvarchar(64), + CREATE_TIME_ datetime2 NULL, + TENANT_ID_ nvarchar(255) default '', + primary key (ID_) +); + +create table ACT_RU_SUSPENDED_JOB ( + ID_ nvarchar(64) NOT NULL, + REV_ int, + CATEGORY_ varchar(255), + TYPE_ nvarchar(255) NOT NULL, + EXCLUSIVE_ bit, + EXECUTION_ID_ nvarchar(64), + PROCESS_INSTANCE_ID_ nvarchar(64), + PROC_DEF_ID_ nvarchar(64), + ELEMENT_ID_ nvarchar(255), + ELEMENT_NAME_ nvarchar(255), + SCOPE_ID_ nvarchar(255), + SUB_SCOPE_ID_ nvarchar(255), + SCOPE_TYPE_ nvarchar(255), + SCOPE_DEFINITION_ID_ nvarchar(255), + CORRELATION_ID_ nvarchar(255), + RETRIES_ int, + EXCEPTION_STACK_ID_ nvarchar(64), + EXCEPTION_MSG_ nvarchar(4000), + DUEDATE_ datetime NULL, + REPEAT_ nvarchar(255), + HANDLER_TYPE_ nvarchar(255), + HANDLER_CFG_ nvarchar(4000), + CUSTOM_VALUES_ID_ nvarchar(64), + CREATE_TIME_ datetime2 NULL, + TENANT_ID_ nvarchar(255) default '', + primary key (ID_) +); + +create table ACT_RU_DEADLETTER_JOB ( + ID_ nvarchar(64) NOT NULL, + REV_ int, + CATEGORY_ varchar(255), + TYPE_ nvarchar(255) NOT NULL, + EXCLUSIVE_ bit, + EXECUTION_ID_ nvarchar(64), + PROCESS_INSTANCE_ID_ nvarchar(64), + PROC_DEF_ID_ nvarchar(64), + ELEMENT_ID_ nvarchar(255), + ELEMENT_NAME_ nvarchar(255), + SCOPE_ID_ nvarchar(255), + SUB_SCOPE_ID_ nvarchar(255), + SCOPE_TYPE_ nvarchar(255), + SCOPE_DEFINITION_ID_ nvarchar(255), + CORRELATION_ID_ nvarchar(255), + EXCEPTION_STACK_ID_ nvarchar(64), + EXCEPTION_MSG_ nvarchar(4000), + DUEDATE_ datetime NULL, + REPEAT_ nvarchar(255), + HANDLER_TYPE_ nvarchar(255), + HANDLER_CFG_ nvarchar(4000), + CUSTOM_VALUES_ID_ nvarchar(64), + CREATE_TIME_ datetime2 NULL, + TENANT_ID_ nvarchar(255) default '', + primary key (ID_) +); + +create table ACT_RU_HISTORY_JOB ( + ID_ nvarchar(64) NOT NULL, + REV_ int, + LOCK_EXP_TIME_ datetime NULL, + LOCK_OWNER_ nvarchar(255), + RETRIES_ int, + EXCEPTION_STACK_ID_ nvarchar(64), + EXCEPTION_MSG_ nvarchar(4000), + HANDLER_TYPE_ nvarchar(255), + HANDLER_CFG_ nvarchar(4000), + CUSTOM_VALUES_ID_ nvarchar(64), + ADV_HANDLER_CFG_ID_ nvarchar(64), + CREATE_TIME_ datetime2 NULL, + SCOPE_TYPE_ nvarchar(255), + TENANT_ID_ nvarchar(255) default '', + primary key (ID_) +); + +create table ACT_RU_EXTERNAL_JOB ( + ID_ nvarchar(64) NOT NULL, + REV_ int, + CATEGORY_ varchar(255), + TYPE_ nvarchar(255) NOT NULL, + LOCK_EXP_TIME_ datetime, + LOCK_OWNER_ nvarchar(255), + EXCLUSIVE_ bit, + EXECUTION_ID_ nvarchar(64), + PROCESS_INSTANCE_ID_ nvarchar(64), + PROC_DEF_ID_ nvarchar(64), + ELEMENT_ID_ nvarchar(255), + ELEMENT_NAME_ nvarchar(255), + SCOPE_ID_ nvarchar(255), + SUB_SCOPE_ID_ nvarchar(255), + SCOPE_TYPE_ nvarchar(255), + SCOPE_DEFINITION_ID_ nvarchar(255), + CORRELATION_ID_ nvarchar(255), + RETRIES_ int, + EXCEPTION_STACK_ID_ nvarchar(64), + EXCEPTION_MSG_ nvarchar(4000), + DUEDATE_ datetime NULL, + REPEAT_ nvarchar(255), + HANDLER_TYPE_ nvarchar(255), + HANDLER_CFG_ nvarchar(4000), + CUSTOM_VALUES_ID_ nvarchar(64), + CREATE_TIME_ datetime2 NULL, + TENANT_ID_ nvarchar(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_); + +create table FLW_RU_BATCH ( + ID_ nvarchar(64) not null, + REV_ int, + TYPE_ nvarchar(64) not null, + SEARCH_KEY_ nvarchar(255), + SEARCH_KEY2_ nvarchar(255), + CREATE_TIME_ datetime not null, + COMPLETE_TIME_ datetime, + STATUS_ nvarchar(255), + BATCH_DOC_ID_ nvarchar(64), + TENANT_ID_ nvarchar(255) default '', + primary key (ID_) +); + +create table FLW_RU_BATCH_PART ( + ID_ nvarchar(64) not null, + REV_ int, + BATCH_ID_ nvarchar(64), + TYPE_ nvarchar(64) not null, + SCOPE_ID_ nvarchar(64), + SUB_SCOPE_ID_ nvarchar(64), + SCOPE_TYPE_ nvarchar(64), + SEARCH_KEY_ nvarchar(255), + SEARCH_KEY2_ nvarchar(255), + CREATE_TIME_ datetime not null, + COMPLETE_TIME_ datetime, + STATUS_ nvarchar(255), + RESULT_DOC_ID_ nvarchar(64), + TENANT_ID_ nvarchar(255) default '', + primary key (ID_) +); + +create index FLW_IDX_BATCH_PART on FLW_RU_BATCH_PART(BATCH_ID_); + +alter table FLW_RU_BATCH_PART + add constraint FLW_FK_BATCH_PART_PARENT + foreign key (BATCH_ID_) + references FLW_RU_BATCH (ID_); + +create table ACT_RU_TASK ( + ID_ nvarchar(64), + REV_ int, + EXECUTION_ID_ nvarchar(64), + PROC_INST_ID_ nvarchar(64), + PROC_DEF_ID_ nvarchar(64), + TASK_DEF_ID_ nvarchar(64), + SCOPE_ID_ nvarchar(255), + SUB_SCOPE_ID_ nvarchar(255), + SCOPE_TYPE_ nvarchar(255), + SCOPE_DEFINITION_ID_ nvarchar(255), + PROPAGATED_STAGE_INST_ID_ nvarchar(255), + STATE_ nvarchar(255), + NAME_ nvarchar(255), + PARENT_TASK_ID_ nvarchar(64), + DESCRIPTION_ nvarchar(4000), + TASK_DEF_KEY_ nvarchar(255), + OWNER_ nvarchar(255), + ASSIGNEE_ nvarchar(255), + DELEGATION_ nvarchar(64), + PRIORITY_ int, + CREATE_TIME_ datetime, + IN_PROGRESS_TIME_ datetime, + IN_PROGRESS_STARTED_BY_ nvarchar(255), + CLAIM_TIME_ datetime, + CLAIMED_BY_ nvarchar(255), + SUSPENDED_TIME_ datetime, + SUSPENDED_BY_ nvarchar(255), + IN_PROGRESS_DUE_DATE_ datetime, + DUE_DATE_ datetime, + CATEGORY_ nvarchar(255), + SUSPENSION_STATE_ int, + TENANT_ID_ nvarchar(255) default '', + FORM_KEY_ nvarchar(255), + IS_COUNT_ENABLED_ tinyint, + VAR_COUNT_ int, + ID_LINK_COUNT_ int, + SUB_TASK_COUNT_ int, + 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_); + +create table ACT_HI_TASKINST ( + ID_ nvarchar(64) not null, + REV_ int default 1, + PROC_DEF_ID_ nvarchar(64), + TASK_DEF_ID_ nvarchar(64), + TASK_DEF_KEY_ nvarchar(255), + PROC_INST_ID_ nvarchar(64), + EXECUTION_ID_ nvarchar(64), + SCOPE_ID_ nvarchar(255), + SUB_SCOPE_ID_ nvarchar(255), + SCOPE_TYPE_ nvarchar(255), + SCOPE_DEFINITION_ID_ nvarchar(255), + PROPAGATED_STAGE_INST_ID_ nvarchar(255), + STATE_ nvarchar(255), + NAME_ nvarchar(255), + PARENT_TASK_ID_ nvarchar(64), + DESCRIPTION_ nvarchar(4000), + OWNER_ nvarchar(255), + ASSIGNEE_ nvarchar(255), + START_TIME_ datetime not null, + IN_PROGRESS_TIME_ datetime, + IN_PROGRESS_STARTED_BY_ nvarchar(255), + CLAIM_TIME_ datetime, + CLAIMED_BY_ nvarchar(255), + SUSPENDED_TIME_ datetime, + SUSPENDED_BY_ nvarchar(255), + END_TIME_ datetime, + COMPLETED_BY_ nvarchar(255), + DURATION_ numeric(19,0), + DELETE_REASON_ nvarchar(4000), + PRIORITY_ int, + IN_PROGRESS_DUE_DATE_ datetime, + DUE_DATE_ datetime, + FORM_KEY_ nvarchar(255), + CATEGORY_ nvarchar(255), + TENANT_ID_ nvarchar(255) default '', + LAST_UPDATED_TIME_ datetime2, + primary key (ID_) +); + +create table ACT_HI_TSK_LOG ( + ID_ numeric(19,0) IDENTITY (1,1), + TYPE_ nvarchar(64), + TASK_ID_ nvarchar(64) not null, + TIME_STAMP_ datetime not null, + USER_ID_ nvarchar(255), + DATA_ nvarchar(4000), + EXECUTION_ID_ nvarchar(64), + PROC_INST_ID_ nvarchar(64), + PROC_DEF_ID_ nvarchar(64), + SCOPE_ID_ nvarchar(255), + SCOPE_DEFINITION_ID_ nvarchar(255), + SUB_SCOPE_ID_ nvarchar(255), + SCOPE_TYPE_ nvarchar(255), + TENANT_ID_ nvarchar(255) default '', + primary key (ID_) +); + +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 index ACT_IDX_ACT_HI_TSK_LOG_TASK on ACT_HI_TSK_LOG(TASK_ID_); + +create table ACT_RU_VARIABLE ( + ID_ nvarchar(64) not null, + REV_ int, + TYPE_ nvarchar(255) not null, + NAME_ nvarchar(255) not null, + EXECUTION_ID_ nvarchar(64), + PROC_INST_ID_ nvarchar(64), + TASK_ID_ nvarchar(64), + SCOPE_ID_ nvarchar(255), + SUB_SCOPE_ID_ nvarchar(255), + SCOPE_TYPE_ nvarchar(255), + BYTEARRAY_ID_ nvarchar(64), + DOUBLE_ double precision, + LONG_ numeric(19,0), + TEXT_ nvarchar(4000), + TEXT2_ nvarchar(4000), + META_INFO_ nvarchar(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_VARIABLE_BA 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_); + +create table ACT_HI_VARINST ( + ID_ nvarchar(64) not null, + REV_ int default 1, + PROC_INST_ID_ nvarchar(64), + EXECUTION_ID_ nvarchar(64), + TASK_ID_ nvarchar(64), + NAME_ nvarchar(255) not null, + VAR_TYPE_ nvarchar(100), + SCOPE_ID_ nvarchar(255), + SUB_SCOPE_ID_ nvarchar(255), + SCOPE_TYPE_ nvarchar(255), + BYTEARRAY_ID_ nvarchar(64), + DOUBLE_ double precision, + LONG_ numeric(19,0), + TEXT_ nvarchar(4000), + TEXT2_ nvarchar(4000), + META_INFO_ nvarchar(4000), + CREATE_TIME_ datetime, + LAST_UPDATED_TIME_ datetime2, + 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_ nvarchar(64) not null, + REV_ int, + EVENT_TYPE_ nvarchar(255) not null, + EVENT_NAME_ nvarchar(255), + EXECUTION_ID_ nvarchar(64), + PROC_INST_ID_ nvarchar(64), + ACTIVITY_ID_ nvarchar(64), + CONFIGURATION_ nvarchar(255), + CREATED_ datetime not null, + PROC_DEF_ID_ nvarchar(64), + SUB_SCOPE_ID_ nvarchar(64), + SCOPE_ID_ nvarchar(64), + SCOPE_DEFINITION_ID_ nvarchar(64), + SCOPE_DEFINITION_KEY_ nvarchar(255), + SCOPE_TYPE_ nvarchar(64), + LOCK_TIME_ datetime, + LOCK_OWNER_ nvarchar(255), + TENANT_ID_ nvarchar(255) default '', + primary key (ID_) +); + +create index ACT_IDX_EVENT_SUBSCR_CONFIG_ on ACT_RU_EVENT_SUBSCR(CONFIGURATION_); +create index ACT_IDX_EVENT_SUBSCR_EXEC_ID on ACT_RU_EVENT_SUBSCR(EXECUTION_ID_); +create index ACT_IDX_EVENT_SUBSCR_PROC_ID on ACT_RU_EVENT_SUBSCR(PROC_INST_ID_); +create index ACT_IDX_EVENT_SUBSCR_SCOPEREF_ on ACT_RU_EVENT_SUBSCR(SCOPE_ID_, SCOPE_TYPE_); \ No newline at end of file diff --git a/modules/flowable-engine-common/src/main/resources/org/flowable/common/db/drop/flowable.kingbase-mysql.drop.common.sql b/modules/flowable-engine-common/src/main/resources/org/flowable/common/db/drop/flowable.kingbase-mysql.drop.common.sql new file mode 100644 index 00000000000..df2bd03624f --- /dev/null +++ b/modules/flowable-engine-common/src/main/resources/org/flowable/common/db/drop/flowable.kingbase-mysql.drop.common.sql @@ -0,0 +1,29 @@ +drop table if exists FLW_RU_BATCH_PART cascade; +drop table if exists FLW_RU_BATCH cascade; + +drop table if exists ACT_RU_ENTITYLINK cascade; +drop table if exists ACT_HI_ENTITYLINK cascade; + +drop table if exists ACT_RU_EVENT_SUBSCR cascade; + +drop table if exists ACT_RU_IDENTITYLINK cascade; +drop table if exists ACT_HI_IDENTITYLINK cascade; + +drop table if exists ACT_RU_JOB cascade; +drop table if exists ACT_RU_TIMER_JOB cascade; +drop table if exists ACT_RU_SUSPENDED_JOB cascade; +drop table if exists ACT_RU_DEADLETTER_JOB cascade; +drop table if exists ACT_RU_HISTORY_JOB cascade; +drop table if exists ACT_RU_EXTERNAL_JOB cascade; + +drop table if exists ACT_RU_TASK cascade; +drop table if exists ACT_HI_TSK_LOG cascade; +drop table if exists ACT_HI_TASKINST cascade; + + +drop table if exists ACT_RU_VARIABLE cascade; +drop table if exists ACT_HI_VARINST cascade; + + +drop table if exists ACT_GE_BYTEARRAY cascade; +drop table if exists ACT_GE_PROPERTY cascade; diff --git a/modules/flowable-engine-common/src/main/resources/org/flowable/common/db/drop/flowable.kingbase-oracle.drop.common.sql b/modules/flowable-engine-common/src/main/resources/org/flowable/common/db/drop/flowable.kingbase-oracle.drop.common.sql new file mode 100644 index 00000000000..5b0d8366ab3 --- /dev/null +++ b/modules/flowable-engine-common/src/main/resources/org/flowable/common/db/drop/flowable.kingbase-oracle.drop.common.sql @@ -0,0 +1,31 @@ +DROP SEQUENCE IF EXISTS act_hi_task_evt_log_seq CASCADE; + +drop table if exists FLW_RU_BATCH_PART cascade; +drop table if exists FLW_RU_BATCH cascade; + +drop table if exists ACT_RU_ENTITYLINK cascade; +drop table if exists ACT_HI_ENTITYLINK cascade; + +drop table if exists ACT_RU_EVENT_SUBSCR cascade; + +drop table if exists ACT_RU_IDENTITYLINK cascade; +drop table if exists ACT_HI_IDENTITYLINK cascade; + +drop table if exists ACT_RU_JOB cascade; +drop table if exists ACT_RU_TIMER_JOB cascade; +drop table if exists ACT_RU_SUSPENDED_JOB cascade; +drop table if exists ACT_RU_DEADLETTER_JOB cascade; +drop table if exists ACT_RU_HISTORY_JOB cascade; +drop table if exists ACT_RU_EXTERNAL_JOB cascade; + +drop table if exists ACT_RU_TASK cascade; +drop table if exists ACT_HI_TSK_LOG cascade; +drop table if exists ACT_HI_TASKINST cascade; + + +drop table if exists ACT_RU_VARIABLE cascade; +drop table if exists ACT_HI_VARINST cascade; + + +drop table if exists ACT_GE_BYTEARRAY cascade; +drop table if exists ACT_GE_PROPERTY cascade; \ No newline at end of file diff --git a/modules/flowable-engine-common/src/main/resources/org/flowable/common/db/drop/flowable.kingbase-sqlserver.drop.common.sql b/modules/flowable-engine-common/src/main/resources/org/flowable/common/db/drop/flowable.kingbase-sqlserver.drop.common.sql new file mode 100644 index 00000000000..eb62c9f7fa3 --- /dev/null +++ b/modules/flowable-engine-common/src/main/resources/org/flowable/common/db/drop/flowable.kingbase-sqlserver.drop.common.sql @@ -0,0 +1,29 @@ +drop table if exists FLW_RU_BATCH_PART cascade; +drop table if exists FLW_RU_BATCH cascade; + +drop table if exists ACT_RU_ENTITYLINK cascade; +drop table if exists ACT_HI_ENTITYLINK cascade; + +drop table if exists ACT_RU_EVENT_SUBSCR cascade; + +drop table if exists ACT_RU_IDENTITYLINK cascade; +drop table if exists ACT_HI_IDENTITYLINK cascade; + +drop table if exists ACT_RU_JOB cascade; +drop table if exists ACT_RU_TIMER_JOB cascade; +drop table if exists ACT_RU_SUSPENDED_JOB cascade; +drop table if exists ACT_RU_DEADLETTER_JOB cascade; +drop table if exists ACT_RU_HISTORY_JOB cascade; +drop table if exists ACT_RU_EXTERNAL_JOB cascade; + +drop table if exists ACT_RU_TASK cascade; +drop table if exists ACT_HI_TSK_LOG cascade; +drop table if exists ACT_HI_TASKINST cascade; + + +drop table if exists ACT_RU_VARIABLE cascade; +drop table if exists ACT_HI_VARINST cascade; + + +drop table if exists ACT_GE_BYTEARRAY cascade; +drop table if exists ACT_GE_PROPERTY cascade; \ No newline at end of file diff --git a/modules/flowable-engine-common/src/main/resources/org/flowable/common/db/properties/kingbase-mysql.properties b/modules/flowable-engine-common/src/main/resources/org/flowable/common/db/properties/kingbase-mysql.properties new file mode 100644 index 00000000000..2c6f2703480 --- /dev/null +++ b/modules/flowable-engine-common/src/main/resources/org/flowable/common/db/properties/kingbase-mysql.properties @@ -0,0 +1 @@ +limitAfter=LIMIT #{maxResults} OFFSET #{firstResult} \ No newline at end of file diff --git a/modules/flowable-engine-common/src/main/resources/org/flowable/common/db/properties/kingbase-oracle.properties b/modules/flowable-engine-common/src/main/resources/org/flowable/common/db/properties/kingbase-oracle.properties new file mode 100644 index 00000000000..343e582a6f5 --- /dev/null +++ b/modules/flowable-engine-common/src/main/resources/org/flowable/common/db/properties/kingbase-oracle.properties @@ -0,0 +1,3 @@ +limitBefore=select RES.* from ( select RES.*, rownum as rnum from ( +limitAfter= ) RES where ROWNUM < #{lastRow} ) RES where rnum >= #{firstRow} +boolValue=1 \ No newline at end of file diff --git a/modules/flowable-engine-common/src/main/resources/org/flowable/common/db/properties/kingbase-sqlserver.properties b/modules/flowable-engine-common/src/main/resources/org/flowable/common/db/properties/kingbase-sqlserver.properties new file mode 100644 index 00000000000..56fbda59302 --- /dev/null +++ b/modules/flowable-engine-common/src/main/resources/org/flowable/common/db/properties/kingbase-sqlserver.properties @@ -0,0 +1,6 @@ +limitBefore=SELECT RES.* from ( +limitAfter= ) as RES where RES.rn >= #{firstRow} and RES.rn < #{lastRow} +limitBetween= , row_number() over (${orderByForWindow}) as rn +limitBeforeNativeQuery=SELECT RES.* FROM ( select RES.*, row_number() over (${orderByForWindow}) as rn FROM ( +limitAfterNativeQuery=) as RES ) as RES where RES.rn >= #{firstRow} and RES.rn < #{lastRow} +boolValue=1 diff --git a/modules/flowable-engine/pom.xml b/modules/flowable-engine/pom.xml index f3a406d2739..c864265af9a 100755 --- a/modules/flowable-engine/pom.xml +++ b/modules/flowable-engine/pom.xml @@ -182,6 +182,11 @@ h2 test + + cn.com.kingbase + kingbase8 + 9.0.1 + org.mockito mockito-core diff --git a/modules/flowable-engine/src/main/resources/org/flowable/db/create/flowable.kingbase-mysql.create.engine.sql b/modules/flowable-engine/src/main/resources/org/flowable/db/create/flowable.kingbase-mysql.create.engine.sql new file mode 100644 index 00000000000..18ea83f811d --- /dev/null +++ b/modules/flowable-engine/src/main/resources/org/flowable/db/create/flowable.kingbase-mysql.create.engine.sql @@ -0,0 +1,324 @@ +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(3) NULL, + DERIVED_FROM_ varchar(64), + DERIVED_FROM_ROOT_ varchar(64), + PARENT_DEPLOYMENT_ID_ varchar(255), + ENGINE_VERSION_ varchar(255), + primary key (ID_) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin; + +create table ACT_RE_MODEL ( + ID_ varchar(64) not null, + REV_ integer, + NAME_ varchar(255), + KEY_ varchar(255), + CATEGORY_ varchar(255), + CREATE_TIME_ timestamp(3) null, + LAST_UPDATE_TIME_ timestamp(3) null, + 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_) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin; + +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_ TINYINT, + IS_CONCURRENT_ TINYINT, + IS_SCOPE_ TINYINT, + IS_EVENT_SCOPE_ TINYINT, + IS_MI_ROOT_ TINYINT, + SUSPENSION_STATE_ integer, + CACHED_ENT_STATE_ integer, + TENANT_ID_ varchar(255) default '', + NAME_ varchar(255), + START_ACT_ID_ varchar(255), + START_TIME_ datetime(3), + START_USER_ID_ varchar(255), + LOCK_TIME_ timestamp(3) NULL, + LOCK_OWNER_ varchar(255), + IS_COUNT_ENABLED_ TINYINT, + 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_) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin; + +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_ TINYINT, + HAS_GRAPHICAL_NOTATION_ TINYINT, + SUSPENSION_STATE_ integer, + TENANT_ID_ varchar(255) default '', + ENGINE_VERSION_ varchar(255), + DERIVED_FROM_ varchar(64), + DERIVED_FROM_ROOT_ varchar(64), + DERIVED_VERSION_ integer not null default 0, + primary key (ID_) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin; + +create table ACT_EVT_LOG ( + LOG_NR_ bigint auto_increment, + TYPE_ varchar(64), + PROC_DEF_ID_ varchar(64), + PROC_INST_ID_ varchar(64), + EXECUTION_ID_ varchar(64), + TASK_ID_ varchar(64), + TIME_STAMP_ timestamp(3) not null DEFAULT CURRENT_TIMESTAMP(3), + USER_ID_ varchar(255), + DATA_ LONGBLOB, + LOCK_OWNER_ varchar(255), + LOCK_TIME_ timestamp(3) null, + IS_PROCESSED_ tinyint default 0, + primary key (LOG_NR_) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin; + +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_) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin; + +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_ datetime(3) not null, + END_TIME_ datetime(3), + DURATION_ bigint, + TRANSACTION_ORDER_ integer, + DELETE_REASON_ varchar(4000), + TENANT_ID_ varchar(255) default '', + primary key (ID_) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin; + +create index ACT_IDX_EXEC_BUSKEY on ACT_RU_EXECUTION(BUSINESS_KEY_); +create index ACT_IDC_EXEC_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_ATHRZ_PROCEDEF on ACT_RU_IDENTITYLINK(PROC_DEF_ID_); +create index ACT_IDX_INFO_PROCDEF on ACT_PROCDEF_INFO(PROC_DEF_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_); + +alter table ACT_RU_EXECUTION + add constraint ACT_FK_EXE_PROCINST + foreign key (PROC_INST_ID_) + references ACT_RU_EXECUTION (ID_) on delete cascade on update cascade; + +alter table ACT_RU_EXECUTION + add constraint ACT_FK_EXE_PARENT + foreign key (PARENT_ID_) + references ACT_RU_EXECUTION (ID_) on delete cascade; + +alter table ACT_RU_EXECUTION + add constraint ACT_FK_EXE_SUPER + foreign key (SUPER_EXEC_) + references ACT_RU_EXECUTION (ID_) on delete cascade; + +alter table ACT_RU_EXECUTION + add constraint ACT_FK_EXE_PROCDEF + foreign key (PROC_DEF_ID_) + references ACT_RE_PROCDEF (ID_); + +alter table ACT_RU_IDENTITYLINK + add constraint ACT_FK_TSKASS_TASK + foreign key (TASK_ID_) + references ACT_RU_TASK (ID_); + +alter table ACT_RU_IDENTITYLINK + add constraint ACT_FK_ATHRZ_PROCEDEF + foreign key (PROC_DEF_ID_) + references ACT_RE_PROCDEF(ID_); + +alter table ACT_RU_IDENTITYLINK + add constraint ACT_FK_IDL_PROCINST + foreign key (PROC_INST_ID_) + references ACT_RU_EXECUTION (ID_); + +alter table ACT_RU_TASK + add constraint ACT_FK_TASK_EXE + foreign key (EXECUTION_ID_) + references ACT_RU_EXECUTION (ID_); + +alter table ACT_RU_TASK + add constraint ACT_FK_TASK_PROCINST + foreign key (PROC_INST_ID_) + references ACT_RU_EXECUTION (ID_); + +alter table ACT_RU_TASK + add constraint ACT_FK_TASK_PROCDEF + foreign key (PROC_DEF_ID_) + references ACT_RE_PROCDEF (ID_); + +alter table ACT_RU_VARIABLE + add constraint ACT_FK_VAR_EXE + foreign key (EXECUTION_ID_) + references ACT_RU_EXECUTION (ID_); + +alter table ACT_RU_VARIABLE + add constraint ACT_FK_VAR_PROCINST + foreign key (PROC_INST_ID_) + references ACT_RU_EXECUTION(ID_); + +alter table ACT_RU_JOB + add constraint ACT_FK_JOB_EXECUTION + foreign key (EXECUTION_ID_) + references ACT_RU_EXECUTION (ID_); + +alter table ACT_RU_JOB + add constraint ACT_FK_JOB_PROCESS_INSTANCE + foreign key (PROCESS_INSTANCE_ID_) + references ACT_RU_EXECUTION (ID_); + +alter table ACT_RU_JOB + add constraint ACT_FK_JOB_PROC_DEF + foreign key (PROC_DEF_ID_) + references ACT_RE_PROCDEF (ID_); + +alter table ACT_RU_TIMER_JOB + add constraint ACT_FK_TIMER_JOB_EXECUTION + foreign key (EXECUTION_ID_) + references ACT_RU_EXECUTION (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_); + +alter table ACT_RU_TIMER_JOB + add constraint ACT_FK_TIMER_JOB_PROC_DEF + foreign key (PROC_DEF_ID_) + references ACT_RE_PROCDEF (ID_); + +alter table ACT_RU_SUSPENDED_JOB + add constraint ACT_FK_SUSPENDED_JOB_EXECUTION + foreign key (EXECUTION_ID_) + references ACT_RU_EXECUTION (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_); + +alter table ACT_RU_SUSPENDED_JOB + add constraint ACT_FK_SUSPENDED_JOB_PROC_DEF + foreign key (PROC_DEF_ID_) + references ACT_RE_PROCDEF (ID_); + +alter table ACT_RU_DEADLETTER_JOB + add constraint ACT_FK_DEADLETTER_JOB_EXECUTION + foreign key (EXECUTION_ID_) + references ACT_RU_EXECUTION (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_); + +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_); + +alter table ACT_RE_MODEL + add constraint ACT_FK_MODEL_SOURCE + foreign key (EDITOR_SOURCE_VALUE_ID_) + references ACT_GE_BYTEARRAY (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_); + +alter table ACT_RE_MODEL + add constraint ACT_FK_MODEL_DEPLOYMENT + foreign key (DEPLOYMENT_ID_) + references ACT_RE_DEPLOYMENT (ID_); + +alter table ACT_PROCDEF_INFO + add constraint ACT_FK_INFO_JSON_BA + foreign key (INFO_JSON_ID_) + references ACT_GE_BYTEARRAY (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.1.0.2', 1); + +insert into ACT_GE_PROPERTY +values ('schema.history', 'create(7.1.0.2)', 1); diff --git a/modules/flowable-engine/src/main/resources/org/flowable/db/create/flowable.kingbase-mysql.create.history.sql b/modules/flowable-engine/src/main/resources/org/flowable/db/create/flowable.kingbase-mysql.create.history.sql new file mode 100644 index 00000000000..decfa9efd2b --- /dev/null +++ b/modules/flowable-engine/src/main/resources/org/flowable/db/create/flowable.kingbase-mysql.create.history.sql @@ -0,0 +1,113 @@ +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_ datetime(3) not null, + END_TIME_ datetime(3), + 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_) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin; + +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_ datetime(3) not null, + END_TIME_ datetime(3), + TRANSACTION_ORDER_ integer, + DURATION_ bigint, + DELETE_REASON_ varchar(4000), + TENANT_ID_ varchar(255) default '', + primary key (ID_) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin; + +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(255), + REV_ integer, + TIME_ datetime(3) not null, + BYTEARRAY_ID_ varchar(64), + DOUBLE_ double, + LONG_ bigint, + TEXT_ varchar(4000), + TEXT2_ varchar(4000), + primary key (ID_) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin; + +create table ACT_HI_COMMENT ( + ID_ varchar(64) not null, + TYPE_ varchar(255), + TIME_ datetime(3) not null, + USER_ID_ varchar(255), + TASK_ID_ varchar(64), + PROC_INST_ID_ varchar(64), + ACTION_ varchar(255), + MESSAGE_ varchar(4000), + FULL_MSG_ LONGBLOB, + primary key (ID_) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin; + +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_ datetime(3), + primary key (ID_) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE utf8_bin; + + +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_); diff --git a/modules/flowable-engine/src/main/resources/org/flowable/db/create/flowable.kingbase-oracle.create.engine.sql b/modules/flowable-engine/src/main/resources/org/flowable/db/create/flowable.kingbase-oracle.create.engine.sql new file mode 100644 index 00000000000..04e3041c329 --- /dev/null +++ b/modules/flowable-engine/src/main/resources/org/flowable/db/create/flowable.kingbase-oracle.create.engine.sql @@ -0,0 +1,353 @@ +create table ACT_RE_DEPLOYMENT ( + ID_ NVARCHAR2(64), + NAME_ NVARCHAR2(255), + CATEGORY_ NVARCHAR2(255), + KEY_ NVARCHAR2(255), + TENANT_ID_ NVARCHAR2(255) DEFAULT '', + DEPLOY_TIME_ TIMESTAMP(6), + DERIVED_FROM_ NVARCHAR2(64), + DERIVED_FROM_ROOT_ NVARCHAR2(64), + PARENT_DEPLOYMENT_ID_ NVARCHAR2(255), + ENGINE_VERSION_ NVARCHAR2(255), + primary key (ID_) +); + +create table ACT_RE_MODEL ( + ID_ NVARCHAR2(64) not null, + REV_ INTEGER, + NAME_ NVARCHAR2(255), + KEY_ NVARCHAR2(255), + CATEGORY_ NVARCHAR2(255), + CREATE_TIME_ TIMESTAMP(6), + LAST_UPDATE_TIME_ TIMESTAMP(6), + VERSION_ INTEGER, + META_INFO_ NVARCHAR2(2000), + DEPLOYMENT_ID_ NVARCHAR2(64), + EDITOR_SOURCE_VALUE_ID_ NVARCHAR2(64), + EDITOR_SOURCE_EXTRA_VALUE_ID_ NVARCHAR2(64), + TENANT_ID_ NVARCHAR2(255) DEFAULT '', + primary key (ID_) +); + +create table ACT_RU_EXECUTION ( + ID_ NVARCHAR2(64), + REV_ INTEGER, + PROC_INST_ID_ NVARCHAR2(64), + BUSINESS_KEY_ NVARCHAR2(255), + PARENT_ID_ NVARCHAR2(64), + PROC_DEF_ID_ NVARCHAR2(64), + SUPER_EXEC_ NVARCHAR2(64), + ROOT_PROC_INST_ID_ NVARCHAR2(64), + ACT_ID_ NVARCHAR2(255), + IS_ACTIVE_ NUMBER(1,0) CHECK (IS_ACTIVE_ IN (1,0)), + IS_CONCURRENT_ NUMBER(1,0) CHECK (IS_CONCURRENT_ IN (1,0)), + IS_SCOPE_ NUMBER(1,0) CHECK (IS_SCOPE_ IN (1,0)), + IS_EVENT_SCOPE_ NUMBER(1,0) CHECK (IS_EVENT_SCOPE_ IN (1,0)), + IS_MI_ROOT_ NUMBER(1,0) CHECK (IS_MI_ROOT_ IN (1,0)), + SUSPENSION_STATE_ INTEGER, + CACHED_ENT_STATE_ INTEGER, + TENANT_ID_ NVARCHAR2(255) DEFAULT '', + NAME_ NVARCHAR2(255), + START_ACT_ID_ NVARCHAR2(255), + START_TIME_ TIMESTAMP(6), + START_USER_ID_ NVARCHAR2(255), + LOCK_TIME_ TIMESTAMP(6), + LOCK_OWNER_ NVARCHAR2(255), + IS_COUNT_ENABLED_ NUMBER(1,0) CHECK (IS_COUNT_ENABLED_ IN (1,0)), + 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_ NVARCHAR2(255), + CALLBACK_TYPE_ NVARCHAR2(255), + REFERENCE_ID_ NVARCHAR2(255), + REFERENCE_TYPE_ NVARCHAR2(255), + PROPAGATED_STAGE_INST_ID_ NVARCHAR2(255), + BUSINESS_STATUS_ NVARCHAR2(255), + primary key (ID_) +); + +create table ACT_RE_PROCDEF ( + ID_ NVARCHAR2(64) NOT NULL, + REV_ INTEGER, + CATEGORY_ NVARCHAR2(255), + NAME_ NVARCHAR2(255), + KEY_ NVARCHAR2(255) NOT NULL, + VERSION_ INTEGER NOT NULL, + DEPLOYMENT_ID_ NVARCHAR2(64), + RESOURCE_NAME_ NVARCHAR2(2000), + DGRM_RESOURCE_NAME_ varchar(4000), + DESCRIPTION_ NVARCHAR2(2000), + HAS_START_FORM_KEY_ NUMBER(1,0) CHECK (HAS_START_FORM_KEY_ IN (1,0)), + HAS_GRAPHICAL_NOTATION_ NUMBER(1,0) CHECK (HAS_GRAPHICAL_NOTATION_ IN (1,0)), + SUSPENSION_STATE_ INTEGER, + TENANT_ID_ NVARCHAR2(255) DEFAULT '', + DERIVED_FROM_ NVARCHAR2(64), + DERIVED_FROM_ROOT_ NVARCHAR2(64), + DERIVED_VERSION_ INTEGER DEFAULT 0 NOT NULL, + ENGINE_VERSION_ NVARCHAR2(255), + primary key (ID_) +); +create sequence act_evt_log_seq; +create table ACT_EVT_LOG ( + LOG_NR_ NUMBER(19) DEFAULT nextval('act_evt_log_seq') PRIMARY KEY, + TYPE_ NVARCHAR2(64), + PROC_DEF_ID_ NVARCHAR2(64), + PROC_INST_ID_ NVARCHAR2(64), + EXECUTION_ID_ NVARCHAR2(64), + TASK_ID_ NVARCHAR2(64), + TIME_STAMP_ TIMESTAMP(6) not null, + USER_ID_ NVARCHAR2(255), + DATA_ BLOB, + LOCK_OWNER_ NVARCHAR2(255), + LOCK_TIME_ TIMESTAMP(6) null, + IS_PROCESSED_ NUMBER(3) default 0 +); + + +create table ACT_PROCDEF_INFO ( + ID_ NVARCHAR2(64) not null, + PROC_DEF_ID_ NVARCHAR2(64) not null, + REV_ integer, + INFO_JSON_ID_ NVARCHAR2(64), + primary key (ID_) +); + +create table ACT_RU_ACTINST ( + ID_ NVARCHAR2(64) not null, + REV_ INTEGER default 1, + PROC_DEF_ID_ NVARCHAR2(64) not null, + PROC_INST_ID_ NVARCHAR2(64) not null, + EXECUTION_ID_ NVARCHAR2(64) not null, + ACT_ID_ NVARCHAR2(255) not null, + TASK_ID_ NVARCHAR2(64), + CALL_PROC_INST_ID_ NVARCHAR2(64), + ACT_NAME_ NVARCHAR2(255), + ACT_TYPE_ NVARCHAR2(255) not null, + ASSIGNEE_ NVARCHAR2(255), + COMPLETED_BY_ NVARCHAR2(255), + START_TIME_ TIMESTAMP(6) not null, + END_TIME_ TIMESTAMP(6), + DURATION_ NUMBER(19,0), + TRANSACTION_ORDER_ INTEGER, + DELETE_REASON_ NVARCHAR2(2000), + TENANT_ID_ NVARCHAR2(255) default '', + primary key (ID_) +); + +create index ACT_IDX_EXEC_BUSKEY on ACT_RU_EXECUTION(BUSINESS_KEY_); +create index ACT_IDX_EXEC_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_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_); + +create index ACT_IDX_BYTEAR_DEPL on ACT_GE_BYTEARRAY(DEPLOYMENT_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_PROC_INST_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_TJOB_EXECUTION_ID on ACT_RU_TIMER_JOB(EXECUTION_ID_); +alter table ACT_RU_TIMER_JOB + add constraint ACT_FK_TJOB_EXECUTION + foreign key (EXECUTION_ID_) + references ACT_RU_EXECUTION (ID_); + +create index ACT_IDX_TJOB_PROC_INST_ID on ACT_RU_TIMER_JOB(PROCESS_INSTANCE_ID_); +alter table ACT_RU_TIMER_JOB + add constraint ACT_FK_TJOB_PROCESS_INSTANCE + foreign key (PROCESS_INSTANCE_ID_) + references ACT_RU_EXECUTION (ID_); + +create index ACT_IDX_TJOB_PROC_DEF_ID on ACT_RU_TIMER_JOB(PROC_DEF_ID_); +alter table ACT_RU_TIMER_JOB + add constraint ACT_FK_TJOB_PROC_DEF + foreign key (PROC_DEF_ID_) + references ACT_RE_PROCDEF (ID_); + +create index ACT_IDX_SJOB_EXECUTION_ID on ACT_RU_SUSPENDED_JOB(EXECUTION_ID_); +alter table ACT_RU_SUSPENDED_JOB + add constraint ACT_FK_SJOB_EXECUTION + foreign key (EXECUTION_ID_) + references ACT_RU_EXECUTION (ID_); + +create index ACT_IDX_SJOB_PROC_INST_ID on ACT_RU_SUSPENDED_JOB(PROCESS_INSTANCE_ID_); +alter table ACT_RU_SUSPENDED_JOB + add constraint ACT_FK_SJOB_PROCESS_INSTANCE + foreign key (PROCESS_INSTANCE_ID_) + references ACT_RU_EXECUTION (ID_); + +create index ACT_IDX_SJOB_PROC_DEF_ID on ACT_RU_SUSPENDED_JOB(PROC_DEF_ID_); +alter table ACT_RU_SUSPENDED_JOB + add constraint ACT_FK_SJOB_PROC_DEF + foreign key (PROC_DEF_ID_) + references ACT_RE_PROCDEF (ID_); + +create index ACT_IDX_DJOB_EXECUTION_ID on ACT_RU_DEADLETTER_JOB(EXECUTION_ID_); +alter table ACT_RU_DEADLETTER_JOB + add constraint ACT_FK_DJOB_EXECUTION + foreign key (EXECUTION_ID_) + references ACT_RU_EXECUTION (ID_); + +create index ACT_IDX_DJOB_PROC_INST_ID on ACT_RU_DEADLETTER_JOB(PROCESS_INSTANCE_ID_); +alter table ACT_RU_DEADLETTER_JOB + add constraint ACT_FK_DJOB_PROCESS_INSTANCE + foreign key (PROCESS_INSTANCE_ID_) + references ACT_RU_EXECUTION (ID_); + +create index ACT_IDX_DJOB_PROC_DEF_ID on ACT_RU_DEADLETTER_JOB(PROC_DEF_ID_); +alter table ACT_RU_DEADLETTER_JOB + add constraint ACT_FK_DJOB_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.1.0.2', 1); + +insert into ACT_GE_PROPERTY +values ('schema.history', 'create(7.1.0.2)', 1); \ No newline at end of file diff --git a/modules/flowable-engine/src/main/resources/org/flowable/db/create/flowable.kingbase-oracle.create.history.sql b/modules/flowable-engine/src/main/resources/org/flowable/db/create/flowable.kingbase-oracle.create.history.sql new file mode 100644 index 00000000000..274a9233fca --- /dev/null +++ b/modules/flowable-engine/src/main/resources/org/flowable/db/create/flowable.kingbase-oracle.create.history.sql @@ -0,0 +1,116 @@ +create table ACT_HI_PROCINST ( + ID_ NVARCHAR2(64) not null, + REV_ INTEGER default 1, + PROC_INST_ID_ NVARCHAR2(64) not null, + BUSINESS_KEY_ NVARCHAR2(255), + PROC_DEF_ID_ NVARCHAR2(64) not null, + START_TIME_ TIMESTAMP(6) not null, + END_TIME_ TIMESTAMP(6), + DURATION_ NUMBER(19,0), + START_USER_ID_ NVARCHAR2(255), + START_ACT_ID_ NVARCHAR2(255), + END_ACT_ID_ NVARCHAR2(255), + SUPER_PROCESS_INSTANCE_ID_ NVARCHAR2(64), + DELETE_REASON_ NVARCHAR2(2000), + TENANT_ID_ NVARCHAR2(255) default '', + NAME_ NVARCHAR2(255), + CALLBACK_ID_ NVARCHAR2(255), + CALLBACK_TYPE_ NVARCHAR2(255), + REFERENCE_ID_ NVARCHAR2(255), + REFERENCE_TYPE_ NVARCHAR2(255), + PROPAGATED_STAGE_INST_ID_ NVARCHAR2(255), + BUSINESS_STATUS_ NVARCHAR2(255), + END_USER_ID_ NVARCHAR2(255), + STATE_ NVARCHAR2(255), + primary key (ID_), + unique (PROC_INST_ID_) +); + +create table ACT_HI_ACTINST ( + ID_ NVARCHAR2(64) not null, + REV_ INTEGER default 1, + PROC_DEF_ID_ NVARCHAR2(64) not null, + PROC_INST_ID_ NVARCHAR2(64) not null, + EXECUTION_ID_ NVARCHAR2(64) not null, + ACT_ID_ NVARCHAR2(255) not null, + TASK_ID_ NVARCHAR2(64), + CALL_PROC_INST_ID_ NVARCHAR2(64), + ACT_NAME_ NVARCHAR2(255), + ACT_TYPE_ NVARCHAR2(255) not null, + ASSIGNEE_ NVARCHAR2(255), + COMPLETED_BY_ NVARCHAR2(255), + START_TIME_ TIMESTAMP(6) not null, + END_TIME_ TIMESTAMP(6), + TRANSACTION_ORDER_ INTEGER, + DURATION_ NUMBER(19,0), + DELETE_REASON_ NVARCHAR2(2000), + TENANT_ID_ NVARCHAR2(255) default '', + primary key (ID_) +); + +create table ACT_HI_DETAIL ( + ID_ NVARCHAR2(64) not null, + TYPE_ NVARCHAR2(255) not null, + PROC_INST_ID_ NVARCHAR2(64), + EXECUTION_ID_ NVARCHAR2(64), + TASK_ID_ NVARCHAR2(64), + ACT_INST_ID_ NVARCHAR2(64), + NAME_ NVARCHAR2(255) not null, + VAR_TYPE_ NVARCHAR2(64), + REV_ INTEGER, + TIME_ TIMESTAMP(6) not null, + BYTEARRAY_ID_ NVARCHAR2(64), + DOUBLE_ NUMBER(*,10), + LONG_ NUMBER(19,0), + TEXT_ NVARCHAR2(2000), + TEXT2_ NVARCHAR2(2000), + primary key (ID_) +); + +create table ACT_HI_COMMENT ( + ID_ NVARCHAR2(64) not null, + TYPE_ NVARCHAR2(255), + TIME_ TIMESTAMP(6) not null, + USER_ID_ NVARCHAR2(255), + TASK_ID_ NVARCHAR2(64), + PROC_INST_ID_ NVARCHAR2(64), + ACTION_ NVARCHAR2(255), + MESSAGE_ NVARCHAR2(2000), + FULL_MSG_ BLOB, + primary key (ID_) +); + +create table ACT_HI_ATTACHMENT ( + ID_ NVARCHAR2(64) not null, + REV_ INTEGER, + USER_ID_ NVARCHAR2(255), + NAME_ NVARCHAR2(255), + DESCRIPTION_ NVARCHAR2(2000), + TYPE_ NVARCHAR2(255), + TASK_ID_ NVARCHAR2(64), + PROC_INST_ID_ NVARCHAR2(64), + URL_ NVARCHAR2(2000), + CONTENT_ID_ NVARCHAR2(64), + TIME_ TIMESTAMP(6), + 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_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_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_TASK_INST_PROCINST on ACT_HI_TASKINST(PROC_INST_ID_); \ No newline at end of file diff --git a/modules/flowable-engine/src/main/resources/org/flowable/db/create/flowable.kingbase-sqlserver.create.engine.sql b/modules/flowable-engine/src/main/resources/org/flowable/db/create/flowable.kingbase-sqlserver.create.engine.sql new file mode 100644 index 00000000000..09aae096f74 --- /dev/null +++ b/modules/flowable-engine/src/main/resources/org/flowable/db/create/flowable.kingbase-sqlserver.create.engine.sql @@ -0,0 +1,346 @@ +create table ACT_RE_DEPLOYMENT ( + ID_ nvarchar(64), + NAME_ nvarchar(255), + CATEGORY_ nvarchar(255), + KEY_ nvarchar(255), + TENANT_ID_ nvarchar(255) default '', + DEPLOY_TIME_ datetime, + DERIVED_FROM_ nvarchar(64), + DERIVED_FROM_ROOT_ nvarchar(64), + PARENT_DEPLOYMENT_ID_ nvarchar(255), + ENGINE_VERSION_ nvarchar(255), + primary key (ID_) +); + +create table ACT_RE_MODEL ( + ID_ nvarchar(64) not null, + REV_ int, + NAME_ nvarchar(255), + KEY_ nvarchar(255), + CATEGORY_ nvarchar(255), + CREATE_TIME_ datetime, + LAST_UPDATE_TIME_ datetime, + VERSION_ int, + META_INFO_ nvarchar(4000), + DEPLOYMENT_ID_ nvarchar(64), + EDITOR_SOURCE_VALUE_ID_ nvarchar(64), + EDITOR_SOURCE_EXTRA_VALUE_ID_ nvarchar(64), + TENANT_ID_ nvarchar(255) default '', + primary key (ID_) +); + +create table ACT_RU_EXECUTION ( + ID_ nvarchar(64), + REV_ int, + PROC_INST_ID_ nvarchar(64), + BUSINESS_KEY_ nvarchar(255), + PARENT_ID_ nvarchar(64), + PROC_DEF_ID_ nvarchar(64), + SUPER_EXEC_ nvarchar(64), + ROOT_PROC_INST_ID_ nvarchar(64), + ACT_ID_ nvarchar(255), + IS_ACTIVE_ tinyint, + IS_CONCURRENT_ tinyint, + IS_SCOPE_ tinyint, + IS_EVENT_SCOPE_ tinyint, + IS_MI_ROOT_ tinyint, + SUSPENSION_STATE_ tinyint, + CACHED_ENT_STATE_ int, + TENANT_ID_ nvarchar(255) default '', + NAME_ nvarchar(255), + START_ACT_ID_ nvarchar(255), + START_TIME_ datetime, + START_USER_ID_ nvarchar(255), + LOCK_TIME_ datetime, + LOCK_OWNER_ nvarchar(255), + IS_COUNT_ENABLED_ tinyint, + EVT_SUBSCR_COUNT_ int, + TASK_COUNT_ int, + JOB_COUNT_ int, + TIMER_JOB_COUNT_ int, + SUSP_JOB_COUNT_ int, + DEADLETTER_JOB_COUNT_ int, + EXTERNAL_WORKER_JOB_COUNT_ int, + VAR_COUNT_ int, + ID_LINK_COUNT_ int, + CALLBACK_ID_ nvarchar(255), + CALLBACK_TYPE_ nvarchar(255), + REFERENCE_ID_ nvarchar(255), + REFERENCE_TYPE_ nvarchar(255), + PROPAGATED_STAGE_INST_ID_ nvarchar(255), + BUSINESS_STATUS_ nvarchar(255), + primary key (ID_) +); + +create table ACT_RE_PROCDEF ( + ID_ nvarchar(64) not null, + REV_ int, + CATEGORY_ nvarchar(255), + NAME_ nvarchar(255), + KEY_ nvarchar(255) not null, + VERSION_ int not null, + DEPLOYMENT_ID_ nvarchar(64), + RESOURCE_NAME_ nvarchar(4000), + DGRM_RESOURCE_NAME_ nvarchar(4000), + DESCRIPTION_ nvarchar(4000), + HAS_START_FORM_KEY_ tinyint, + HAS_GRAPHICAL_NOTATION_ tinyint, + SUSPENSION_STATE_ tinyint, + TENANT_ID_ nvarchar(255) default '', + DERIVED_FROM_ nvarchar(64), + DERIVED_FROM_ROOT_ nvarchar(64), + DERIVED_VERSION_ int not null default 0, + ENGINE_VERSION_ nvarchar(255), + primary key (ID_) +); + +create table ACT_EVT_LOG ( + LOG_NR_ numeric(19,0) IDENTITY(1,1), + TYPE_ nvarchar(64), + PROC_DEF_ID_ nvarchar(64), + PROC_INST_ID_ nvarchar(64), + EXECUTION_ID_ nvarchar(64), + TASK_ID_ nvarchar(64), + TIME_STAMP_ datetime not null, + USER_ID_ nvarchar(255), + DATA_ varbinary(max), + LOCK_OWNER_ nvarchar(255), + LOCK_TIME_ datetime null, + IS_PROCESSED_ tinyint default 0, + primary key (LOG_NR_) +); + +create table ACT_PROCDEF_INFO ( + ID_ nvarchar(64) not null, + PROC_DEF_ID_ nvarchar(64) not null, + REV_ int, + INFO_JSON_ID_ nvarchar(64), + primary key (ID_) +); + +create table ACT_RU_ACTINST ( + ID_ nvarchar(64) not null, + REV_ int default 1, + PROC_DEF_ID_ nvarchar(64) not null, + PROC_INST_ID_ nvarchar(64) not null, + EXECUTION_ID_ nvarchar(64) not null, + ACT_ID_ nvarchar(255) not null, + TASK_ID_ nvarchar(64), + CALL_PROC_INST_ID_ nvarchar(64), + ACT_NAME_ nvarchar(255), + ACT_TYPE_ nvarchar(255) not null, + ASSIGNEE_ nvarchar(255), + COMPLETED_BY_ nvarchar(255), + START_TIME_ datetime not null, + END_TIME_ datetime, + DURATION_ numeric(19,0), + TRANSACTION_ORDER_ int, + DELETE_REASON_ nvarchar(4000), + TENANT_ID_ nvarchar(255) default '', + primary key (ID_) +); + +create index ACT_IDX_EXEC_BUSKEY on ACT_RU_EXECUTION(BUSINESS_KEY_); +create index ACT_IDX_EXEC_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_ATHRZ_PROCEDEF on ACT_RU_IDENTITYLINK(PROC_DEF_ID_); +create index ACT_IDX_EXECUTION_PROC on ACT_RU_EXECUTION(PROC_DEF_ID_); +create index ACT_IDX_EXECUTION_PARENT on ACT_RU_EXECUTION(PARENT_ID_); +create index ACT_IDX_EXECUTION_SUPER on ACT_RU_EXECUTION(SUPER_EXEC_); +create index ACT_IDX_EXECUTION_IDANDREV on ACT_RU_EXECUTION(ID_, REV_); +create index ACT_IDX_VARIABLE_EXEC on ACT_RU_VARIABLE(EXECUTION_ID_); +create index ACT_IDX_VARIABLE_PROCINST on ACT_RU_VARIABLE(PROC_INST_ID_); +create index ACT_IDX_IDENT_LNK_TASK on ACT_RU_IDENTITYLINK(TASK_ID_); +create index ACT_IDX_IDENT_LNK_PROCINST on ACT_RU_IDENTITYLINK(PROC_INST_ID_); +create index ACT_IDX_TASK_EXEC on ACT_RU_TASK(EXECUTION_ID_); +create index ACT_IDX_TASK_PROCINST on ACT_RU_TASK(PROC_INST_ID_); +create index ACT_IDX_EXEC_PROC_INST_ID on ACT_RU_EXECUTION(PROC_INST_ID_); +create index ACT_IDX_TASK_PROC_DEF_ID on ACT_RU_TASK(PROC_DEF_ID_); +create index ACT_IDX_JOB_EXECUTION_ID on ACT_RU_JOB(EXECUTION_ID_); +create index ACT_IDX_JOB_PROCESS_INSTANCE_ID on ACT_RU_JOB(PROCESS_INSTANCE_ID_); +create index ACT_IDX_JOB_PROC_DEF_ID on ACT_RU_JOB(PROC_DEF_ID_); +create index ACT_IDX_TIMER_JOB_EXECUTION_ID on ACT_RU_TIMER_JOB(EXECUTION_ID_); +create index ACT_IDX_TIMER_JOB_PROCESS_INSTANCE_ID on ACT_RU_TIMER_JOB(PROCESS_INSTANCE_ID_); +create index ACT_IDX_TIMER_JOB_PROC_DEF_ID on ACT_RU_TIMER_JOB(PROC_DEF_ID_); +create index ACT_IDX_SUSPENDED_JOB_EXECUTION_ID on ACT_RU_SUSPENDED_JOB(EXECUTION_ID_); +create index ACT_IDX_SUSPENDED_JOB_PROCESS_INSTANCE_ID on ACT_RU_SUSPENDED_JOB(PROCESS_INSTANCE_ID_); +create index ACT_IDX_SUSPENDED_JOB_PROC_DEF_ID on ACT_RU_SUSPENDED_JOB(PROC_DEF_ID_); +create index ACT_IDX_DEADLETTER_JOB_EXECUTION_ID on ACT_RU_DEADLETTER_JOB(EXECUTION_ID_); +create index ACT_IDX_DEADLETTER_JOB_PROCESS_INSTANCE_ID on ACT_RU_DEADLETTER_JOB(PROCESS_INSTANCE_ID_); +create index ACT_IDX_DEADLETTER_JOB_PROC_DEF_ID on ACT_RU_DEADLETTER_JOB(PROC_DEF_ID_); +create index ACT_IDX_INFO_PROCDEF on ACT_PROCDEF_INFO(PROC_DEF_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_); + +alter table ACT_RU_EXECUTION + add constraint ACT_FK_EXE_PARENT + foreign key (PARENT_ID_) + references ACT_RU_EXECUTION (ID_); + +alter table ACT_RU_EXECUTION + add constraint ACT_FK_EXE_SUPER + foreign key (SUPER_EXEC_) + references ACT_RU_EXECUTION (ID_); + +alter table ACT_RU_EXECUTION + add constraint ACT_FK_EXE_PROCDEF + foreign key (PROC_DEF_ID_) + references ACT_RE_PROCDEF (ID_); + +alter table ACT_RU_IDENTITYLINK + add constraint ACT_FK_TSKASS_TASK + foreign key (TASK_ID_) + references ACT_RU_TASK (ID_); + +alter table ACT_RU_IDENTITYLINK + add constraint ACT_FK_ATHRZ_PROCEDEF + foreign key (PROC_DEF_ID_) + references ACT_RE_PROCDEF (ID_); + +alter table ACT_RU_IDENTITYLINK + add constraint ACT_FK_IDL_PROCINST + foreign key (PROC_INST_ID_) + references ACT_RU_EXECUTION (ID_); + +alter table ACT_RU_TASK + add constraint ACT_FK_TASK_EXE + foreign key (EXECUTION_ID_) + references ACT_RU_EXECUTION (ID_); + +alter table ACT_RU_TASK + add constraint ACT_FK_TASK_PROCINST + foreign key (PROC_INST_ID_) + references ACT_RU_EXECUTION (ID_); + +alter table ACT_RU_TASK + add constraint ACT_FK_TASK_PROCDEF + foreign key (PROC_DEF_ID_) + references ACT_RE_PROCDEF (ID_); + +alter table ACT_RU_VARIABLE + add constraint ACT_FK_VAR_EXE + foreign key (EXECUTION_ID_) + references ACT_RU_EXECUTION (ID_); + +alter table ACT_RU_VARIABLE + add constraint ACT_FK_VAR_PROCINST + foreign key (PROC_INST_ID_) + references ACT_RU_EXECUTION(ID_); + +alter table ACT_RU_JOB + add constraint ACT_FK_JOB_EXECUTION + foreign key (EXECUTION_ID_) + references ACT_RU_EXECUTION (ID_); + +alter table ACT_RU_JOB + add constraint ACT_FK_JOB_PROCESS_INSTANCE + foreign key (PROCESS_INSTANCE_ID_) + references ACT_RU_EXECUTION (ID_); + +alter table ACT_RU_JOB + add constraint ACT_FK_JOB_PROC_DEF + foreign key (PROC_DEF_ID_) + references ACT_RE_PROCDEF (ID_); + +alter table ACT_RU_TIMER_JOB + add constraint ACT_FK_TIMER_JOB_EXECUTION + foreign key (EXECUTION_ID_) + references ACT_RU_EXECUTION (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_); + +alter table ACT_RU_TIMER_JOB + add constraint ACT_FK_TIMER_JOB_PROC_DEF + foreign key (PROC_DEF_ID_) + references ACT_RE_PROCDEF (ID_); + +alter table ACT_RU_SUSPENDED_JOB + add constraint ACT_FK_SUSPENDED_JOB_EXECUTION + foreign key (EXECUTION_ID_) + references ACT_RU_EXECUTION (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_); + +alter table ACT_RU_SUSPENDED_JOB + add constraint ACT_FK_SUSPENDED_JOB_PROC_DEF + foreign key (PROC_DEF_ID_) + references ACT_RE_PROCDEF (ID_); + +alter table ACT_RU_DEADLETTER_JOB + add constraint ACT_FK_DEADLETTER_JOB_EXECUTION + foreign key (EXECUTION_ID_) + references ACT_RU_EXECUTION (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_); + +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_); + +alter table ACT_RE_MODEL + add constraint ACT_FK_MODEL_SOURCE + foreign key (EDITOR_SOURCE_VALUE_ID_) + references ACT_GE_BYTEARRAY (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_); + +alter table ACT_RE_MODEL + add constraint ACT_FK_MODEL_DEPLOYMENT + foreign key (DEPLOYMENT_ID_) + references ACT_RE_DEPLOYMENT (ID_); + +alter table ACT_PROCDEF_INFO + add constraint ACT_FK_INFO_JSON_BA + foreign key (INFO_JSON_ID_) + references ACT_GE_BYTEARRAY (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.1.0.2', 1); + +insert into ACT_GE_PROPERTY +values ('schema.history', 'create(7.1.0.2)', 1); \ No newline at end of file diff --git a/modules/flowable-engine/src/main/resources/org/flowable/db/create/flowable.kingbase-sqlserver.create.history.sql b/modules/flowable-engine/src/main/resources/org/flowable/db/create/flowable.kingbase-sqlserver.create.history.sql new file mode 100644 index 00000000000..e2f33bedae2 --- /dev/null +++ b/modules/flowable-engine/src/main/resources/org/flowable/db/create/flowable.kingbase-sqlserver.create.history.sql @@ -0,0 +1,116 @@ +create table ACT_HI_PROCINST ( + ID_ nvarchar(64) not null, + REV_ int default 1, + PROC_INST_ID_ nvarchar(64) not null, + BUSINESS_KEY_ nvarchar(255), + PROC_DEF_ID_ nvarchar(64) not null, + START_TIME_ datetime not null, + END_TIME_ datetime, + DURATION_ numeric(19,0), + START_USER_ID_ nvarchar(255), + START_ACT_ID_ nvarchar(255), + END_ACT_ID_ nvarchar(255), + SUPER_PROCESS_INSTANCE_ID_ nvarchar(64), + DELETE_REASON_ nvarchar(4000), + TENANT_ID_ nvarchar(255) default '', + NAME_ nvarchar(255), + CALLBACK_ID_ nvarchar(255), + CALLBACK_TYPE_ nvarchar(255), + REFERENCE_ID_ nvarchar(255), + REFERENCE_TYPE_ nvarchar(255), + PROPAGATED_STAGE_INST_ID_ nvarchar(255), + BUSINESS_STATUS_ nvarchar(255), + END_USER_ID_ nvarchar(255), + STATE_ nvarchar(255), + primary key (ID_), + unique (PROC_INST_ID_) +); + +create table ACT_HI_ACTINST ( + ID_ nvarchar(64) not null, + REV_ int default 1, + PROC_DEF_ID_ nvarchar(64) not null, + PROC_INST_ID_ nvarchar(64) not null, + EXECUTION_ID_ nvarchar(64) not null, + ACT_ID_ nvarchar(255) not null, + TASK_ID_ nvarchar(64), + CALL_PROC_INST_ID_ nvarchar(64), + ACT_NAME_ nvarchar(255), + ACT_TYPE_ nvarchar(255) not null, + ASSIGNEE_ nvarchar(255), + COMPLETED_BY_ nvarchar(255), + START_TIME_ datetime not null, + END_TIME_ datetime, + TRANSACTION_ORDER_ int, + DURATION_ numeric(19,0), + DELETE_REASON_ nvarchar(4000), + TENANT_ID_ nvarchar(255) default '', + primary key (ID_) +); + +create table ACT_HI_DETAIL ( + ID_ nvarchar(64) not null, + TYPE_ nvarchar(255) not null, + PROC_INST_ID_ nvarchar(64), + EXECUTION_ID_ nvarchar(64), + TASK_ID_ nvarchar(64), + ACT_INST_ID_ nvarchar(64), + NAME_ nvarchar(255) not null, + VAR_TYPE_ nvarchar(255), + REV_ int, + TIME_ datetime not null, + BYTEARRAY_ID_ nvarchar(64), + DOUBLE_ double precision, + LONG_ numeric(19,0), + TEXT_ nvarchar(4000), + TEXT2_ nvarchar(4000), + primary key (ID_) +); + +create table ACT_HI_COMMENT ( + ID_ nvarchar(64) not null, + TYPE_ nvarchar(255), + TIME_ datetime not null, + USER_ID_ nvarchar(255), + TASK_ID_ nvarchar(64), + PROC_INST_ID_ nvarchar(64), + ACTION_ nvarchar(255), + MESSAGE_ nvarchar(4000), + FULL_MSG_ varbinary(max), + primary key (ID_) +); + +create table ACT_HI_ATTACHMENT ( + ID_ nvarchar(64) not null, + REV_ integer, + USER_ID_ nvarchar(255), + NAME_ nvarchar(255), + DESCRIPTION_ nvarchar(4000), + TYPE_ nvarchar(255), + TASK_ID_ nvarchar(64), + PROC_INST_ID_ nvarchar(64), + URL_ nvarchar(4000), + CONTENT_ID_ nvarchar(64), + TIME_ datetime, + 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_); \ No newline at end of file diff --git a/modules/flowable-engine/src/main/resources/org/flowable/db/drop/flowable.kingbase-mysql.drop.engine.sql b/modules/flowable-engine/src/main/resources/org/flowable/db/drop/flowable.kingbase-mysql.drop.engine.sql new file mode 100644 index 00000000000..e2c702eca07 --- /dev/null +++ b/modules/flowable-engine/src/main/resources/org/flowable/db/drop/flowable.kingbase-mysql.drop.engine.sql @@ -0,0 +1,7 @@ +drop table if exists ACT_RU_ACTINST cascade; +drop table if exists ACT_RE_DEPLOYMENT cascade; +drop table if exists ACT_RE_MODEL cascade; +drop table if exists ACT_RE_PROCDEF cascade; +drop table if exists ACT_RU_EXECUTION cascade; +drop table if exists ACT_EVT_LOG cascade; +drop table if exists ACT_PROCDEF_INFO cascade; \ No newline at end of file diff --git a/modules/flowable-engine/src/main/resources/org/flowable/db/drop/flowable.kingbase-mysql.drop.history.sql b/modules/flowable-engine/src/main/resources/org/flowable/db/drop/flowable.kingbase-mysql.drop.history.sql new file mode 100644 index 00000000000..3a14dceefd8 --- /dev/null +++ b/modules/flowable-engine/src/main/resources/org/flowable/db/drop/flowable.kingbase-mysql.drop.history.sql @@ -0,0 +1,5 @@ +drop table if exists ACT_HI_PROCINST cascade; +drop table if exists ACT_HI_ACTINST cascade; +drop table if exists ACT_HI_DETAIL cascade; +drop table if exists ACT_HI_COMMENT cascade; +drop table if exists ACT_HI_ATTACHMENT cascade; diff --git a/modules/flowable-engine/src/main/resources/org/flowable/db/drop/flowable.kingbase-oracle.drop.engine.sql b/modules/flowable-engine/src/main/resources/org/flowable/db/drop/flowable.kingbase-oracle.drop.engine.sql new file mode 100644 index 00000000000..2269ad09be1 --- /dev/null +++ b/modules/flowable-engine/src/main/resources/org/flowable/db/drop/flowable.kingbase-oracle.drop.engine.sql @@ -0,0 +1,8 @@ +DROP SEQUENCE IF EXISTS act_evt_log_seq CASCADE; +drop table if exists ACT_RU_ACTINST cascade; +drop table if exists ACT_RE_DEPLOYMENT cascade; +drop table if exists ACT_RE_MODEL cascade; +drop table if exists ACT_RE_PROCDEF cascade; +drop table if exists ACT_RU_EXECUTION cascade; +drop table if exists ACT_EVT_LOG cascade; +drop table if exists ACT_PROCDEF_INFO cascade; \ No newline at end of file diff --git a/modules/flowable-engine/src/main/resources/org/flowable/db/drop/flowable.kingbase-oracle.drop.history.sql b/modules/flowable-engine/src/main/resources/org/flowable/db/drop/flowable.kingbase-oracle.drop.history.sql new file mode 100644 index 00000000000..3bed03ec015 --- /dev/null +++ b/modules/flowable-engine/src/main/resources/org/flowable/db/drop/flowable.kingbase-oracle.drop.history.sql @@ -0,0 +1,5 @@ +drop table if exists ACT_HI_PROCINST cascade; +drop table if exists ACT_HI_ACTINST cascade; +drop table if exists ACT_HI_DETAIL cascade; +drop table if exists ACT_HI_COMMENT cascade; +drop table if exists ACT_HI_ATTACHMENT cascade; \ No newline at end of file diff --git a/modules/flowable-engine/src/main/resources/org/flowable/db/drop/flowable.kingbase-sqlserver.drop.engine.sql b/modules/flowable-engine/src/main/resources/org/flowable/db/drop/flowable.kingbase-sqlserver.drop.engine.sql new file mode 100644 index 00000000000..e2c702eca07 --- /dev/null +++ b/modules/flowable-engine/src/main/resources/org/flowable/db/drop/flowable.kingbase-sqlserver.drop.engine.sql @@ -0,0 +1,7 @@ +drop table if exists ACT_RU_ACTINST cascade; +drop table if exists ACT_RE_DEPLOYMENT cascade; +drop table if exists ACT_RE_MODEL cascade; +drop table if exists ACT_RE_PROCDEF cascade; +drop table if exists ACT_RU_EXECUTION cascade; +drop table if exists ACT_EVT_LOG cascade; +drop table if exists ACT_PROCDEF_INFO cascade; \ No newline at end of file diff --git a/modules/flowable-engine/src/main/resources/org/flowable/db/drop/flowable.kingbase-sqlserver.drop.history.sql b/modules/flowable-engine/src/main/resources/org/flowable/db/drop/flowable.kingbase-sqlserver.drop.history.sql new file mode 100644 index 00000000000..3bed03ec015 --- /dev/null +++ b/modules/flowable-engine/src/main/resources/org/flowable/db/drop/flowable.kingbase-sqlserver.drop.history.sql @@ -0,0 +1,5 @@ +drop table if exists ACT_HI_PROCINST cascade; +drop table if exists ACT_HI_ACTINST cascade; +drop table if exists ACT_HI_DETAIL cascade; +drop table if exists ACT_HI_COMMENT cascade; +drop table if exists ACT_HI_ATTACHMENT cascade; \ No newline at end of file diff --git a/modules/flowable-engine/src/test/resources/flowable.cfg.xml b/modules/flowable-engine/src/test/resources/flowable.cfg.xml index c0558aa4cc6..2aef1d4d0d9 100644 --- a/modules/flowable-engine/src/test/resources/flowable.cfg.xml +++ b/modules/flowable-engine/src/test/resources/flowable.cfg.xml @@ -8,13 +8,20 @@ - - - - - - - + + + + + + + + + + + + + + diff --git a/modules/flowable-event-registry/pom.xml b/modules/flowable-event-registry/pom.xml index 188a2536342..927db20c415 100644 --- a/modules/flowable-event-registry/pom.xml +++ b/modules/flowable-event-registry/pom.xml @@ -71,6 +71,11 @@ h2 test + + cn.com.kingbase + kingbase8 + 9.0.1 + org.postgresql diff --git a/modules/flowable-event-registry/src/main/resources/org/flowable/eventregistry/db/create/flowable.kingbase-mysql.create.eventregistry.sql b/modules/flowable-event-registry/src/main/resources/org/flowable/eventregistry/db/create/flowable.kingbase-mysql.create.eventregistry.sql new file mode 100644 index 00000000000..567240f7496 --- /dev/null +++ b/modules/flowable-event-registry/src/main/resources/org/flowable/eventregistry/db/create/flowable.kingbase-mysql.create.eventregistry.sql @@ -0,0 +1,18 @@ +CREATE TABLE FLW_EVENT_DEPLOYMENT (ID_ VARCHAR(255) NOT NULL, NAME_ VARCHAR(255) NULL, CATEGORY_ VARCHAR(255) NULL, DEPLOY_TIME_ datetime(3) NULL, TENANT_ID_ VARCHAR(255) NULL, PARENT_DEPLOYMENT_ID_ VARCHAR(255) NULL, CONSTRAINT PK_FLW_EVENT_DEPLOYMENT PRIMARY KEY (ID_)); + +CREATE TABLE FLW_EVENT_RESOURCE (ID_ VARCHAR(255) NOT NULL, NAME_ VARCHAR(255) NULL, DEPLOYMENT_ID_ VARCHAR(255) NULL, RESOURCE_BYTES_ LONGBLOB NULL, CONSTRAINT PK_FLW_EVENT_RESOURCE PRIMARY KEY (ID_)); + +CREATE TABLE FLW_EVENT_DEFINITION (ID_ VARCHAR(255) NOT NULL, NAME_ VARCHAR(255) NULL, VERSION_ INT NULL, KEY_ VARCHAR(255) NULL, CATEGORY_ VARCHAR(255) NULL, DEPLOYMENT_ID_ VARCHAR(255) NULL, TENANT_ID_ VARCHAR(255) NULL, RESOURCE_NAME_ VARCHAR(255) NULL, DESCRIPTION_ VARCHAR(255) NULL, CONSTRAINT PK_FLW_EVENT_DEFINITION 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) NULL, VERSION_ INT NULL, KEY_ VARCHAR(255) NULL, CATEGORY_ VARCHAR(255) NULL, DEPLOYMENT_ID_ VARCHAR(255) NULL, CREATE_TIME_ datetime(3) NULL, TENANT_ID_ VARCHAR(255) NULL, RESOURCE_NAME_ VARCHAR(255) NULL, DESCRIPTION_ VARCHAR(255) NULL, CONSTRAINT PK_FLW_CHANNEL_DEFINITION PRIMARY KEY (ID_)); + +CREATE UNIQUE INDEX ACT_IDX_CHANNEL_DEF_UNIQ ON FLW_CHANNEL_DEFINITION(KEY_, VERSION_, TENANT_ID_); + +ALTER TABLE FLW_CHANNEL_DEFINITION ADD TYPE_ VARCHAR(255) NULL; + +ALTER TABLE FLW_CHANNEL_DEFINITION ADD IMPLEMENTATION_ VARCHAR(255) NULL; + +insert into ACT_GE_PROPERTY +values ('eventregistry.schema.version', '7.1.0.2', 1); diff --git a/modules/flowable-event-registry/src/main/resources/org/flowable/eventregistry/db/create/flowable.kingbase-oracle.create.eventregistry.sql b/modules/flowable-event-registry/src/main/resources/org/flowable/eventregistry/db/create/flowable.kingbase-oracle.create.eventregistry.sql new file mode 100644 index 00000000000..f699ffd037d --- /dev/null +++ b/modules/flowable-event-registry/src/main/resources/org/flowable/eventregistry/db/create/flowable.kingbase-oracle.create.eventregistry.sql @@ -0,0 +1,19 @@ +CREATE TABLE FLW_EVENT_DEPLOYMENT (ID_ VARCHAR2(255) NOT NULL, NAME_ VARCHAR2(255), CATEGORY_ VARCHAR2(255), DEPLOY_TIME_ TIMESTAMP(3), TENANT_ID_ VARCHAR2(255), PARENT_DEPLOYMENT_ID_ VARCHAR2(255), CONSTRAINT PK_FLW_EVENT_DEPLOYMENT PRIMARY KEY (ID_)); + +CREATE TABLE FLW_EVENT_RESOURCE (ID_ VARCHAR2(255) NOT NULL, NAME_ VARCHAR2(255), DEPLOYMENT_ID_ VARCHAR2(255), RESOURCE_BYTES_ BLOB, CONSTRAINT PK_FLW_EVENT_RESOURCE PRIMARY KEY (ID_)); + +CREATE TABLE FLW_EVENT_DEFINITION (ID_ VARCHAR2(255) NOT NULL, NAME_ VARCHAR2(255), VERSION_ INTEGER, KEY_ VARCHAR2(255), CATEGORY_ VARCHAR2(255), DEPLOYMENT_ID_ VARCHAR2(255), TENANT_ID_ VARCHAR2(255), RESOURCE_NAME_ VARCHAR2(255), DESCRIPTION_ VARCHAR2(255), CONSTRAINT PK_FLW_EVENT_DEFINITION PRIMARY KEY (ID_)); + +ALTER TABLE FLW_EVENT_RESOURCE + ADD CONSTRAINT FLW_FK_EVENT_RSRC_DPL FOREIGN KEY (DEPLOYMENT_ID_) REFERENCES FLW_EVENT_DEPLOYMENT (ID_); + +CREATE INDEX FLW_IDX_EVENT_RSRC_DPL ON FLW_EVENT_RESOURCE (DEPLOYMENT_ID_); + +CREATE UNIQUE INDEX ACT_IDX_EVENT_DEF_UNIQ ON FLW_EVENT_DEFINITION(KEY_, VERSION_, TENANT_ID_); + +CREATE TABLE FLW_CHANNEL_DEFINITION (ID_ VARCHAR2(255) NOT NULL, NAME_ VARCHAR2(255), VERSION_ INTEGER, KEY_ VARCHAR2(255), CATEGORY_ VARCHAR2(255), TYPE_ VARCHAR2(255), IMPLEMENTATION_ VARCHAR2(255), DEPLOYMENT_ID_ VARCHAR2(255), CREATE_TIME_ TIMESTAMP(3), TENANT_ID_ VARCHAR2(255), RESOURCE_NAME_ VARCHAR2(255), DESCRIPTION_ VARCHAR2(255), CONSTRAINT PK_FLW_CHANNEL_DEFINITION PRIMARY KEY (ID_)); + +CREATE UNIQUE INDEX ACT_IDX_CHANNEL_DEF_UNIQ ON FLW_CHANNEL_DEFINITION(KEY_, VERSION_, TENANT_ID_); + +insert into ACT_GE_PROPERTY +values ('eventregistry.schema.version', '7.1.0.2', 1); \ No newline at end of file diff --git a/modules/flowable-event-registry/src/main/resources/org/flowable/eventregistry/db/create/flowable.kingbase-sqlserver.create.eventregistry.sql b/modules/flowable-event-registry/src/main/resources/org/flowable/eventregistry/db/create/flowable.kingbase-sqlserver.create.eventregistry.sql new file mode 100644 index 00000000000..47540c1ea5f --- /dev/null +++ b/modules/flowable-event-registry/src/main/resources/org/flowable/eventregistry/db/create/flowable.kingbase-sqlserver.create.eventregistry.sql @@ -0,0 +1,19 @@ +CREATE TABLE FLW_EVENT_DEPLOYMENT (ID_ varchar(255) NOT NULL, NAME_ nvarchar(255), CATEGORY_ varchar(255), DEPLOY_TIME_ datetime, TENANT_ID_ varchar(255), PARENT_DEPLOYMENT_ID_ varchar(255), CONSTRAINT PK_FLW_EVENT_DEPLOYMENT PRIMARY KEY (ID_)); + +CREATE TABLE FLW_EVENT_RESOURCE (ID_ varchar(255) NOT NULL, NAME_ nvarchar(255), DEPLOYMENT_ID_ varchar(255), RESOURCE_BYTES_ varbinary(MAX), CONSTRAINT PK_FLW_EVENT_RESOURCE PRIMARY KEY (ID_)); + +CREATE TABLE FLW_EVENT_DEFINITION (ID_ varchar(255) NOT NULL, NAME_ nvarchar(255), VERSION_ int, KEY_ varchar(255), CATEGORY_ nvarchar(255), DEPLOYMENT_ID_ varchar(255), TENANT_ID_ varchar(255), RESOURCE_NAME_ nvarchar(255), DESCRIPTION_ nvarchar(255), CONSTRAINT PK_FLW_EVENT_DEFINITION PRIMARY KEY (ID_)); + +ALTER TABLE FLW_EVENT_RESOURCE + ADD CONSTRAINT FLW_FK_EVENT_RSRC_DPL FOREIGN KEY (DEPLOYMENT_ID_) REFERENCES FLW_EVENT_DEPLOYMENT (ID_); + +CREATE NONCLUSTERED INDEX FLW_IDX_EVENT_RSRC_DPL ON FLW_EVENT_RESOURCE(DEPLOYMENT_ID_); + +CREATE UNIQUE NONCLUSTERED 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_ nvarchar(255), VERSION_ int, KEY_ varchar(255), CATEGORY_ nvarchar(255), TYPE_ varchar(255), IMPLEMENTATION_ varchar(255), DEPLOYMENT_ID_ varchar(255), CREATE_TIME_ datetime, TENANT_ID_ varchar(255), RESOURCE_NAME_ nvarchar(255), DESCRIPTION_ nvarchar(255), CONSTRAINT PK_FLW_CHANNEL_DEFINITION PRIMARY KEY (ID_)); + +CREATE UNIQUE NONCLUSTERED INDEX ACT_IDX_CHANNEL_DEF_UNIQ ON FLW_CHANNEL_DEFINITION(KEY_, VERSION_, TENANT_ID_); + +insert into ACT_GE_PROPERTY +values ('eventregistry.schema.version', '7.1.0.2', 1); \ No newline at end of file diff --git a/modules/flowable-event-registry/src/main/resources/org/flowable/eventregistry/db/drop/flowable.kingbase-mysql.drop.eventregistry.sql b/modules/flowable-event-registry/src/main/resources/org/flowable/eventregistry/db/drop/flowable.kingbase-mysql.drop.eventregistry.sql new file mode 100644 index 00000000000..cf02564069d --- /dev/null +++ b/modules/flowable-event-registry/src/main/resources/org/flowable/eventregistry/db/drop/flowable.kingbase-mysql.drop.eventregistry.sql @@ -0,0 +1,4 @@ +drop table if exists FLW_CHANNEL_DEFINITION cascade; +drop table if exists FLW_EVENT_DEFINITION cascade; +drop table if exists FLW_EVENT_RESOURCE cascade; +drop table if exists FLW_EVENT_DEPLOYMENT cascade; diff --git a/modules/flowable-event-registry/src/main/resources/org/flowable/eventregistry/db/drop/flowable.kingbase-oracle.drop.eventregistry.sql b/modules/flowable-event-registry/src/main/resources/org/flowable/eventregistry/db/drop/flowable.kingbase-oracle.drop.eventregistry.sql new file mode 100644 index 00000000000..56471683bfc --- /dev/null +++ b/modules/flowable-event-registry/src/main/resources/org/flowable/eventregistry/db/drop/flowable.kingbase-oracle.drop.eventregistry.sql @@ -0,0 +1,4 @@ +drop table if exists FLW_CHANNEL_DEFINITION cascade; +drop table if exists FLW_EVENT_DEFINITION cascade; +drop table if exists FLW_EVENT_RESOURCE cascade; +drop table if exists FLW_EVENT_DEPLOYMENT cascade; \ No newline at end of file diff --git a/modules/flowable-event-registry/src/main/resources/org/flowable/eventregistry/db/drop/flowable.kingbase-sqlserver.drop.eventregistry.sql b/modules/flowable-event-registry/src/main/resources/org/flowable/eventregistry/db/drop/flowable.kingbase-sqlserver.drop.eventregistry.sql new file mode 100644 index 00000000000..56471683bfc --- /dev/null +++ b/modules/flowable-event-registry/src/main/resources/org/flowable/eventregistry/db/drop/flowable.kingbase-sqlserver.drop.eventregistry.sql @@ -0,0 +1,4 @@ +drop table if exists FLW_CHANNEL_DEFINITION cascade; +drop table if exists FLW_EVENT_DEFINITION cascade; +drop table if exists FLW_EVENT_RESOURCE cascade; +drop table if exists FLW_EVENT_DEPLOYMENT cascade; \ No newline at end of file diff --git a/modules/flowable-idm-engine/src/main/resources/org/flowable/idm/db/create/flowable.kingbase-mysql.create.identity.sql b/modules/flowable-idm-engine/src/main/resources/org/flowable/idm/db/create/flowable.kingbase-mysql.create.identity.sql new file mode 100644 index 00000000000..fdefe1274c3 --- /dev/null +++ b/modules/flowable-idm-engine/src/main/resources/org/flowable/idm/db/create/flowable.kingbase-mysql.create.identity.sql @@ -0,0 +1,107 @@ +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.1.0.2', 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_); diff --git a/modules/flowable-idm-engine/src/main/resources/org/flowable/idm/db/create/flowable.kingbase-oracle.create.identity.sql b/modules/flowable-idm-engine/src/main/resources/org/flowable/idm/db/create/flowable.kingbase-oracle.create.identity.sql new file mode 100644 index 00000000000..09b0f6aea66 --- /dev/null +++ b/modules/flowable-idm-engine/src/main/resources/org/flowable/idm/db/create/flowable.kingbase-oracle.create.identity.sql @@ -0,0 +1,107 @@ +create table ACT_ID_PROPERTY ( + NAME_ NVARCHAR2(64), + VALUE_ NVARCHAR2(300), + REV_ INTEGER, + primary key (NAME_) +); + +insert into ACT_ID_PROPERTY +values ('schema.version', '7.1.0.2', 1); + +create table ACT_ID_BYTEARRAY ( + ID_ NVARCHAR2(64), + REV_ INTEGER, + NAME_ NVARCHAR2(255), + BYTES_ BLOB, + primary key (ID_) +); + +create table ACT_ID_GROUP ( + ID_ NVARCHAR2(64), + REV_ INTEGER, + NAME_ NVARCHAR2(255), + TYPE_ NVARCHAR2(255), + primary key (ID_) +); + +create table ACT_ID_MEMBERSHIP ( + USER_ID_ NVARCHAR2(64), + GROUP_ID_ NVARCHAR2(64), + primary key (USER_ID_, GROUP_ID_) +); + +create table ACT_ID_USER ( + ID_ NVARCHAR2(64), + REV_ INTEGER, + FIRST_ NVARCHAR2(255), + LAST_ NVARCHAR2(255), + DISPLAY_NAME_ NVARCHAR2(255), + EMAIL_ NVARCHAR2(255), + PWD_ NVARCHAR2(255), + PICTURE_ID_ NVARCHAR2(64), + TENANT_ID_ NVARCHAR2(255) default '', + primary key (ID_) +); + +create table ACT_ID_INFO ( + ID_ NVARCHAR2(64), + REV_ INTEGER, + USER_ID_ NVARCHAR2(64), + TYPE_ NVARCHAR2(64), + KEY_ NVARCHAR2(255), + VALUE_ NVARCHAR2(255), + PASSWORD_ BLOB, + PARENT_ID_ NVARCHAR2(255), + primary key (ID_) +); + +create table ACT_ID_TOKEN ( + ID_ NVARCHAR2(64) not null, + REV_ INTEGER, + TOKEN_VALUE_ NVARCHAR2(255), + TOKEN_DATE_ TIMESTAMP(6), + IP_ADDRESS_ NVARCHAR2(255), + USER_AGENT_ NVARCHAR2(255), + USER_ID_ NVARCHAR2(255), + TOKEN_DATA_ NVARCHAR2(2000), + primary key (ID_) +); + +create table ACT_ID_PRIV ( + ID_ NVARCHAR2(64) not null, + NAME_ NVARCHAR2(255) not null, + primary key (ID_) +); + +create table ACT_ID_PRIV_MAPPING ( + ID_ NVARCHAR2(64) not null, + PRIV_ID_ NVARCHAR2(64) not null, + USER_ID_ NVARCHAR2(255), + GROUP_ID_ NVARCHAR2(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_); \ No newline at end of file diff --git a/modules/flowable-idm-engine/src/main/resources/org/flowable/idm/db/create/flowable.kingbase-sqlserver.create.identity.sql b/modules/flowable-idm-engine/src/main/resources/org/flowable/idm/db/create/flowable.kingbase-sqlserver.create.identity.sql new file mode 100644 index 00000000000..e31a83d36a5 --- /dev/null +++ b/modules/flowable-idm-engine/src/main/resources/org/flowable/idm/db/create/flowable.kingbase-sqlserver.create.identity.sql @@ -0,0 +1,104 @@ +create table ACT_ID_PROPERTY ( + NAME_ nvarchar(64), + VALUE_ nvarchar(300), + REV_ int, + primary key (NAME_) +); + +insert into ACT_ID_PROPERTY +values ('schema.version', '7.1.0.2', 1); + +create table ACT_ID_BYTEARRAY ( + ID_ nvarchar(64), + REV_ int, + NAME_ nvarchar(255), + BYTES_ varbinary(max), + primary key (ID_) +); + +create table ACT_ID_GROUP ( + ID_ nvarchar(64), + REV_ int, + NAME_ nvarchar(255), + TYPE_ nvarchar(255), + primary key (ID_) +); + +create table ACT_ID_MEMBERSHIP ( + USER_ID_ nvarchar(64), + GROUP_ID_ nvarchar(64), + primary key (USER_ID_, GROUP_ID_) +); + +create table ACT_ID_USER ( + ID_ nvarchar(64), + REV_ int, + FIRST_ nvarchar(255), + LAST_ nvarchar(255), + DISPLAY_NAME_ nvarchar(255), + EMAIL_ nvarchar(255), + PWD_ nvarchar(255), + PICTURE_ID_ nvarchar(64), + TENANT_ID_ nvarchar(255) default '', + primary key (ID_) +); + +create table ACT_ID_INFO ( + ID_ nvarchar(64), + REV_ int, + USER_ID_ nvarchar(64), + TYPE_ nvarchar(64), + KEY_ nvarchar(255), + VALUE_ nvarchar(255), + PASSWORD_ varbinary(max), + PARENT_ID_ nvarchar(255), + primary key (ID_) +); + +create table ACT_ID_TOKEN ( + ID_ nvarchar(64) not null, + REV_ int, + TOKEN_VALUE_ nvarchar(255), + TOKEN_DATE_ datetime, + IP_ADDRESS_ nvarchar(255), + USER_AGENT_ nvarchar(255), + USER_ID_ nvarchar(255), + TOKEN_DATA_ nvarchar(2000), + primary key (ID_) +); + +create table ACT_ID_PRIV ( + ID_ nvarchar(64) not null, + NAME_ nvarchar(255) not null, + primary key (ID_) +); + +create table ACT_ID_PRIV_MAPPING ( + ID_ nvarchar(64) not null, + PRIV_ID_ nvarchar(64) not null, + USER_ID_ nvarchar(255), + GROUP_ID_ nvarchar(255), + primary key (ID_) +); + +alter table ACT_ID_MEMBERSHIP + add constraint ACT_FK_MEMB_GROUP + foreign key (GROUP_ID_) + references ACT_ID_GROUP; + +alter table ACT_ID_MEMBERSHIP + add constraint ACT_FK_MEMB_USER + foreign key (USER_ID_) + references ACT_ID_USER (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_); \ No newline at end of file diff --git a/modules/flowable-idm-engine/src/main/resources/org/flowable/idm/db/drop/flowable.kingbase-mysql.drop.identity.sql b/modules/flowable-idm-engine/src/main/resources/org/flowable/idm/db/drop/flowable.kingbase-mysql.drop.identity.sql new file mode 100644 index 00000000000..00d39d9b5e6 --- /dev/null +++ b/modules/flowable-idm-engine/src/main/resources/org/flowable/idm/db/drop/flowable.kingbase-mysql.drop.identity.sql @@ -0,0 +1,9 @@ +drop table if exists ACT_ID_PROPERTY cascade; +drop table if exists ACT_ID_BYTEARRAY cascade; +drop table if exists ACT_ID_INFO cascade; +drop table if exists ACT_ID_GROUP cascade; +drop table if exists ACT_ID_MEMBERSHIP cascade; +drop table if exists ACT_ID_USER cascade; +drop table if exists ACT_ID_TOKEN cascade; +drop table if exists ACT_ID_PRIV cascade; +drop table if exists ACT_ID_PRIV_MAPPING cascade; diff --git a/modules/flowable-idm-engine/src/main/resources/org/flowable/idm/db/drop/flowable.kingbase-oracle.drop.identity.sql b/modules/flowable-idm-engine/src/main/resources/org/flowable/idm/db/drop/flowable.kingbase-oracle.drop.identity.sql new file mode 100644 index 00000000000..830101e1369 --- /dev/null +++ b/modules/flowable-idm-engine/src/main/resources/org/flowable/idm/db/drop/flowable.kingbase-oracle.drop.identity.sql @@ -0,0 +1,9 @@ +drop table if exists ACT_ID_PROPERTY cascade; +drop table if exists ACT_ID_BYTEARRAY cascade; +drop table if exists ACT_ID_INFO cascade; +drop table if exists ACT_ID_GROUP cascade; +drop table if exists ACT_ID_MEMBERSHIP cascade; +drop table if exists ACT_ID_USER cascade; +drop table if exists ACT_ID_TOKEN cascade; +drop table if exists ACT_ID_PRIV cascade; +drop table if exists ACT_ID_PRIV_MAPPING cascade; \ No newline at end of file diff --git a/modules/flowable-idm-engine/src/main/resources/org/flowable/idm/db/drop/flowable.kingbase-sqlserver.drop.identity.sql b/modules/flowable-idm-engine/src/main/resources/org/flowable/idm/db/drop/flowable.kingbase-sqlserver.drop.identity.sql new file mode 100644 index 00000000000..830101e1369 --- /dev/null +++ b/modules/flowable-idm-engine/src/main/resources/org/flowable/idm/db/drop/flowable.kingbase-sqlserver.drop.identity.sql @@ -0,0 +1,9 @@ +drop table if exists ACT_ID_PROPERTY cascade; +drop table if exists ACT_ID_BYTEARRAY cascade; +drop table if exists ACT_ID_INFO cascade; +drop table if exists ACT_ID_GROUP cascade; +drop table if exists ACT_ID_MEMBERSHIP cascade; +drop table if exists ACT_ID_USER cascade; +drop table if exists ACT_ID_TOKEN cascade; +drop table if exists ACT_ID_PRIV cascade; +drop table if exists ACT_ID_PRIV_MAPPING cascade; \ No newline at end of file