From cd21239ff27f77510dacf972daed2cfa167ae68a Mon Sep 17 00:00:00 2001 From: chenbowen Date: Thu, 27 Nov 2025 09:58:44 +0800 Subject: [PATCH] =?UTF-8?q?flowable=20=E8=BE=BE=E6=A2=A6=E8=BF=81=E7=A7=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../config/BpmFlowableConfiguration.java | 41 ++ .../liquibase/database/core/DmDatabase.java | 60 ++- .../datatype/core/DmBooleanType.java | 32 ++ .../services/liquibase.database.Database | 1 + .../liquibase.datatype.LiquibaseDataType | 1 + .../src/main/resources/application-local.yaml | 17 +- .../create/flowable.oracle.create.batch.sql | 41 ++ .../db/drop/flowable.oracle.drop.batch.sql | 4 + .../create/flowable.oracle.create.common.sql | 23 ++ .../db/drop/flowable.oracle.drop.common.sql | 2 + .../create/flowable.oracle.create.engine.sql | 355 ++++++++++++++++++ .../create/flowable.oracle.create.history.sql | 114 ++++++ .../db/drop/flowable.oracle.drop.engine.sql | 148 ++++++++ .../db/drop/flowable.oracle.drop.history.sql | 23 ++ ...wable.oracle.create.entitylink.history.sql | 23 ++ .../flowable.oracle.create.entitylink.sql | 26 ++ ...lowable.oracle.drop.entitylink.history.sql | 4 + .../drop/flowable.oracle.drop.entitylink.sql | 4 + ...owable.oracle.create.eventsubscription.sql | 28 ++ ...flowable.oracle.drop.eventsubscription.sql | 5 + ...ble.oracle.create.identitylink.history.sql | 20 + .../flowable.oracle.create.identitylink.sql | 24 ++ ...wable.oracle.drop.identitylink.history.sql | 6 + .../flowable.oracle.drop.identitylink.sql | 7 + .../flowable.oracle.create.identity.sql | 108 ++++++ .../db/drop/flowable.oracle.drop.identity.sql | 22 ++ .../db/create/flowable.oracle.create.job.sql | 261 +++++++++++++ .../db/drop/flowable.oracle.drop.job.sql | 74 ++++ .../flowable.oracle.create.task.history.sql | 64 ++++ .../db/create/flowable.oracle.create.task.sql | 48 +++ .../flowable.oracle.drop.task.history.sql | 8 + .../db/drop/flowable.oracle.drop.task.sql | 6 + ...lowable.oracle.create.variable.history.sql | 26 ++ .../flowable.oracle.create.variable.sql | 31 ++ .../flowable.oracle.drop.variable.history.sql | 6 + .../db/drop/flowable.oracle.drop.variable.sql | 9 + 36 files changed, 1649 insertions(+), 23 deletions(-) create mode 100644 zt-module-bpm/zt-module-bpm-server/src/main/java/liquibase/datatype/core/DmBooleanType.java create mode 100644 zt-module-bpm/zt-module-bpm-server/src/main/resources/META-INF/services/liquibase.datatype.LiquibaseDataType create mode 100644 zt-module-bpm/zt-module-bpm-server/src/main/resources/org/flowable/batch/service/db/create/flowable.oracle.create.batch.sql create mode 100644 zt-module-bpm/zt-module-bpm-server/src/main/resources/org/flowable/batch/service/db/drop/flowable.oracle.drop.batch.sql create mode 100644 zt-module-bpm/zt-module-bpm-server/src/main/resources/org/flowable/common/db/create/flowable.oracle.create.common.sql create mode 100644 zt-module-bpm/zt-module-bpm-server/src/main/resources/org/flowable/common/db/drop/flowable.oracle.drop.common.sql create mode 100644 zt-module-bpm/zt-module-bpm-server/src/main/resources/org/flowable/db/create/flowable.oracle.create.engine.sql create mode 100644 zt-module-bpm/zt-module-bpm-server/src/main/resources/org/flowable/db/create/flowable.oracle.create.history.sql create mode 100644 zt-module-bpm/zt-module-bpm-server/src/main/resources/org/flowable/db/drop/flowable.oracle.drop.engine.sql create mode 100644 zt-module-bpm/zt-module-bpm-server/src/main/resources/org/flowable/db/drop/flowable.oracle.drop.history.sql create mode 100644 zt-module-bpm/zt-module-bpm-server/src/main/resources/org/flowable/entitylink/service/db/create/flowable.oracle.create.entitylink.history.sql create mode 100644 zt-module-bpm/zt-module-bpm-server/src/main/resources/org/flowable/entitylink/service/db/create/flowable.oracle.create.entitylink.sql create mode 100644 zt-module-bpm/zt-module-bpm-server/src/main/resources/org/flowable/entitylink/service/db/drop/flowable.oracle.drop.entitylink.history.sql create mode 100644 zt-module-bpm/zt-module-bpm-server/src/main/resources/org/flowable/entitylink/service/db/drop/flowable.oracle.drop.entitylink.sql create mode 100644 zt-module-bpm/zt-module-bpm-server/src/main/resources/org/flowable/eventsubscription/service/db/create/flowable.oracle.create.eventsubscription.sql create mode 100644 zt-module-bpm/zt-module-bpm-server/src/main/resources/org/flowable/eventsubscription/service/db/drop/flowable.oracle.drop.eventsubscription.sql create mode 100644 zt-module-bpm/zt-module-bpm-server/src/main/resources/org/flowable/identitylink/service/db/create/flowable.oracle.create.identitylink.history.sql create mode 100644 zt-module-bpm/zt-module-bpm-server/src/main/resources/org/flowable/identitylink/service/db/create/flowable.oracle.create.identitylink.sql create mode 100644 zt-module-bpm/zt-module-bpm-server/src/main/resources/org/flowable/identitylink/service/db/drop/flowable.oracle.drop.identitylink.history.sql create mode 100644 zt-module-bpm/zt-module-bpm-server/src/main/resources/org/flowable/identitylink/service/db/drop/flowable.oracle.drop.identitylink.sql create mode 100644 zt-module-bpm/zt-module-bpm-server/src/main/resources/org/flowable/idm/db/create/flowable.oracle.create.identity.sql create mode 100644 zt-module-bpm/zt-module-bpm-server/src/main/resources/org/flowable/idm/db/drop/flowable.oracle.drop.identity.sql create mode 100644 zt-module-bpm/zt-module-bpm-server/src/main/resources/org/flowable/job/service/db/create/flowable.oracle.create.job.sql create mode 100644 zt-module-bpm/zt-module-bpm-server/src/main/resources/org/flowable/job/service/db/drop/flowable.oracle.drop.job.sql create mode 100644 zt-module-bpm/zt-module-bpm-server/src/main/resources/org/flowable/task/service/db/create/flowable.oracle.create.task.history.sql create mode 100644 zt-module-bpm/zt-module-bpm-server/src/main/resources/org/flowable/task/service/db/create/flowable.oracle.create.task.sql create mode 100644 zt-module-bpm/zt-module-bpm-server/src/main/resources/org/flowable/task/service/db/drop/flowable.oracle.drop.task.history.sql create mode 100644 zt-module-bpm/zt-module-bpm-server/src/main/resources/org/flowable/task/service/db/drop/flowable.oracle.drop.task.sql create mode 100644 zt-module-bpm/zt-module-bpm-server/src/main/resources/org/flowable/variable/service/db/create/flowable.oracle.create.variable.history.sql create mode 100644 zt-module-bpm/zt-module-bpm-server/src/main/resources/org/flowable/variable/service/db/create/flowable.oracle.create.variable.sql create mode 100644 zt-module-bpm/zt-module-bpm-server/src/main/resources/org/flowable/variable/service/db/drop/flowable.oracle.drop.variable.history.sql create mode 100644 zt-module-bpm/zt-module-bpm-server/src/main/resources/org/flowable/variable/service/db/drop/flowable.oracle.drop.variable.sql diff --git a/zt-module-bpm/zt-module-bpm-server/src/main/java/com/zt/plat/module/bpm/framework/flowable/config/BpmFlowableConfiguration.java b/zt-module-bpm/zt-module-bpm-server/src/main/java/com/zt/plat/module/bpm/framework/flowable/config/BpmFlowableConfiguration.java index f0d5b49f..159cfce0 100644 --- a/zt-module-bpm/zt-module-bpm-server/src/main/java/com/zt/plat/module/bpm/framework/flowable/config/BpmFlowableConfiguration.java +++ b/zt-module-bpm/zt-module-bpm-server/src/main/java/com/zt/plat/module/bpm/framework/flowable/config/BpmFlowableConfiguration.java @@ -8,17 +8,25 @@ import com.zt.plat.module.bpm.framework.flowable.core.event.BpmProcessInstanceEv import com.zt.plat.module.system.api.user.AdminUserApi; import org.flowable.common.engine.api.delegate.FlowableFunctionDelegate; import org.flowable.common.engine.api.delegate.event.FlowableEventListener; +import org.flowable.engine.ProcessEngineConfiguration; import org.flowable.spring.SpringProcessEngineConfiguration; import org.flowable.spring.boot.EngineConfigurationConfigurer; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.beans.factory.ObjectProvider; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.context.ApplicationEventPublisher; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.core.task.AsyncListenableTaskExecutor; +import org.springframework.jdbc.datasource.DataSourceUtils; import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; import java.util.List; +import javax.sql.DataSource; +import java.sql.Connection; +import java.sql.DatabaseMetaData; +import java.sql.SQLException; /** * BPM 模块的 Flowable 配置类 @@ -28,6 +36,8 @@ import java.util.List; @Configuration(proxyBeanMethods = false) public class BpmFlowableConfiguration { + private static final Logger log = LoggerFactory.getLogger(BpmFlowableConfiguration.class); + /** * 参考 {@link org.flowable.spring.boot.FlowableJobConfiguration} 类,创建对应的 AsyncListenableTaskExecutor Bean * @@ -69,6 +79,37 @@ public class BpmFlowableConfiguration { }; } + @Bean + public EngineConfigurationConfigurer dmProcessEngineConfigurationConfigurer(DataSource dataSource) { + return configuration -> { + try { + configureDmCompatibility(configuration, dataSource); + } catch (SQLException ex) { + log.warn("Failed to inspect datasource for DM compatibility; Flowable will keep default settings", ex); + } + }; + } + + private void configureDmCompatibility(SpringProcessEngineConfiguration configuration, DataSource dataSource) throws SQLException { + Connection connection = null; + try { + connection = DataSourceUtils.getConnection(dataSource); + DatabaseMetaData metaData = connection.getMetaData(); + String productName = metaData.getDatabaseProductName(); + String jdbcUrl = metaData.getURL(); + boolean dmProduct = productName != null && productName.toLowerCase().contains("dm"); + boolean dmUrl = jdbcUrl != null && jdbcUrl.toLowerCase().startsWith("jdbc:dm"); + if (!dmProduct && !dmUrl) { + return; + } + log.info("Detected DM database (product='{}'); enabling Flowable Oracle compatibility with automatic schema updates", productName); + configuration.setDatabaseSchemaUpdate(ProcessEngineConfiguration.DB_SCHEMA_UPDATE_TRUE); + configuration.setDatabaseType("oracle"); + } finally { + DataSourceUtils.releaseConnection(connection, dataSource); + } + } + // =========== 审批人相关的 Bean ========== @Bean diff --git a/zt-module-bpm/zt-module-bpm-server/src/main/java/liquibase/database/core/DmDatabase.java b/zt-module-bpm/zt-module-bpm-server/src/main/java/liquibase/database/core/DmDatabase.java index f7558a11..9e2c50ff 100644 --- a/zt-module-bpm/zt-module-bpm-server/src/main/java/liquibase/database/core/DmDatabase.java +++ b/zt-module-bpm/zt-module-bpm-server/src/main/java/liquibase/database/core/DmDatabase.java @@ -8,6 +8,7 @@ package liquibase.database.core; import java.lang.reflect.Method; import java.sql.CallableStatement; import java.sql.Connection; +import java.sql.DatabaseMetaData; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; @@ -114,6 +115,7 @@ public class DmDatabase extends AbstractJdbcDatabase { public void setConnection(DatabaseConnection conn) { this.reservedWords.addAll(Arrays.asList("GROUP", "USER", "SESSION", "PASSWORD", "RESOURCE", "START", "SIZE", "UID", "DESC", "ORDER")); Connection sqlConn = null; + boolean dmDatabase = false; if (!(conn instanceof OfflineConnection)) { try { if (conn instanceof JdbcConnection) { @@ -140,26 +142,42 @@ public class DmDatabase extends AbstractJdbcDatabase { Scope.getCurrentScope().getLog(this.getClass()).info("Could not set remarks reporting on OracleDatabase: " + e.getMessage()); } - CallableStatement statement = null; - try { - statement = sqlConn.prepareCall("{call DBMS_UTILITY.DB_VERSION(?,?)}"); - statement.registerOutParameter(1, 12); - statement.registerOutParameter(2, 12); - statement.execute(); - String compatibleVersion = statement.getString(2); - if (compatibleVersion != null) { - Matcher majorVersionMatcher = VERSION_PATTERN.matcher(compatibleVersion); - if (majorVersionMatcher.matches()) { - this.databaseMajorVersion = Integer.valueOf(majorVersionMatcher.group(1)); - this.databaseMinorVersion = Integer.valueOf(majorVersionMatcher.group(2)); + DatabaseMetaData metaData = sqlConn.getMetaData(); + if (metaData != null) { + String productName = metaData.getDatabaseProductName(); + dmDatabase = productName != null && PRODUCT_NAME.equalsIgnoreCase(productName); + if (dmDatabase) { + this.databaseMajorVersion = metaData.getDatabaseMajorVersion(); + this.databaseMinorVersion = metaData.getDatabaseMinorVersion(); } } } catch (SQLException e) { - String message = "Cannot read from DBMS_UTILITY.DB_VERSION: " + e.getMessage(); - Scope.getCurrentScope().getLog(this.getClass()).info("Could not set check compatibility mode on OracleDatabase, assuming not running in any sort of compatibility mode: " + message); - } finally { - JdbcUtil.closeStatement(statement); + Scope.getCurrentScope().getLog(this.getClass()).info("Unable to inspect database metadata for DM version detection: " + e.getMessage()); + } + + if (!dmDatabase) { + CallableStatement statement = null; + + try { + statement = sqlConn.prepareCall("{call DBMS_UTILITY.DB_VERSION(?,?)}"); + statement.registerOutParameter(1, 12); + statement.registerOutParameter(2, 12); + statement.execute(); + String compatibleVersion = statement.getString(2); + if (compatibleVersion != null) { + Matcher majorVersionMatcher = VERSION_PATTERN.matcher(compatibleVersion); + if (majorVersionMatcher.matches()) { + this.databaseMajorVersion = Integer.valueOf(majorVersionMatcher.group(1)); + this.databaseMinorVersion = Integer.valueOf(majorVersionMatcher.group(2)); + } + } + } catch (SQLException e) { + String message = "Cannot read from DBMS_UTILITY.DB_VERSION: " + e.getMessage(); + Scope.getCurrentScope().getLog(this.getClass()).info("Could not set check compatibility mode on OracleDatabase, assuming not running in any sort of compatibility mode: " + message); + } finally { + JdbcUtil.closeStatement(statement); + } } if (GlobalConfiguration.DDL_LOCK_TIMEOUT.getCurrentValue() != null) { @@ -266,7 +284,15 @@ public class DmDatabase extends AbstractJdbcDatabase { } public boolean isCorrectDatabaseImplementation(DatabaseConnection conn) throws DatabaseException { - return "oracle".equalsIgnoreCase(conn.getDatabaseProductName()); + String databaseProductName = conn == null ? null : conn.getDatabaseProductName(); + if (databaseProductName == null) { + return false; + } + if (PRODUCT_NAME.equalsIgnoreCase(databaseProductName)) { + return true; + } + // Flowable 历史上将 DM 映射为 Oracle 元数据,因此这里同样接受 Oracle 以保持兼容 + return "oracle".equalsIgnoreCase(databaseProductName); } public String getDefaultDriver(String url) { diff --git a/zt-module-bpm/zt-module-bpm-server/src/main/java/liquibase/datatype/core/DmBooleanType.java b/zt-module-bpm/zt-module-bpm-server/src/main/java/liquibase/datatype/core/DmBooleanType.java new file mode 100644 index 00000000..7f662501 --- /dev/null +++ b/zt-module-bpm/zt-module-bpm-server/src/main/java/liquibase/datatype/core/DmBooleanType.java @@ -0,0 +1,32 @@ +package liquibase.datatype.core; + +import liquibase.database.Database; +import liquibase.database.core.DmDatabase; +import liquibase.datatype.DataTypeInfo; +import liquibase.datatype.DatabaseDataType; + +@DataTypeInfo( + name = "boolean", + aliases = {"java.sql.Types.BOOLEAN", "java.lang.Boolean", "bit", "bool"}, + minParameters = 0, + maxParameters = 0, + priority = 2 +) +public class DmBooleanType extends BooleanType { + + @Override + public boolean supports(Database database) { + if (database instanceof DmDatabase) { + return true; + } + return super.supports(database); + } + + @Override + public DatabaseDataType toDatabaseDataType(Database database) { + if (database instanceof DmDatabase) { + return new DatabaseDataType("NUMBER", 1); + } + return super.toDatabaseDataType(database); + } +} diff --git a/zt-module-bpm/zt-module-bpm-server/src/main/resources/META-INF/services/liquibase.database.Database b/zt-module-bpm/zt-module-bpm-server/src/main/resources/META-INF/services/liquibase.database.Database index 0ccf2249..765e41ad 100644 --- a/zt-module-bpm/zt-module-bpm-server/src/main/resources/META-INF/services/liquibase.database.Database +++ b/zt-module-bpm/zt-module-bpm-server/src/main/resources/META-INF/services/liquibase.database.Database @@ -13,6 +13,7 @@ liquibase.database.core.MariaDBDatabase liquibase.database.core.MockDatabase liquibase.database.core.MySQLDatabase liquibase.database.core.OracleDatabase +liquibase.database.core.DmDatabase liquibase.database.core.PostgresDatabase liquibase.database.core.SQLiteDatabase liquibase.database.core.SybaseASADatabase diff --git a/zt-module-bpm/zt-module-bpm-server/src/main/resources/META-INF/services/liquibase.datatype.LiquibaseDataType b/zt-module-bpm/zt-module-bpm-server/src/main/resources/META-INF/services/liquibase.datatype.LiquibaseDataType new file mode 100644 index 00000000..5be88a34 --- /dev/null +++ b/zt-module-bpm/zt-module-bpm-server/src/main/resources/META-INF/services/liquibase.datatype.LiquibaseDataType @@ -0,0 +1 @@ +liquibase.datatype.core.DmBooleanType diff --git a/zt-module-bpm/zt-module-bpm-server/src/main/resources/application-local.yaml b/zt-module-bpm/zt-module-bpm-server/src/main/resources/application-local.yaml index 2bf6df52..1a65166f 100644 --- a/zt-module-bpm/zt-module-bpm-server/src/main/resources/application-local.yaml +++ b/zt-module-bpm/zt-module-bpm-server/src/main/resources/application-local.yaml @@ -39,14 +39,14 @@ spring: primary: master datasource: master: - url: jdbc:mysql://172.16.46.247:4787/ruoyi-vue-pro?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true&rewriteBatchedStatements=true # MySQL Connector/J 8.X 连接的示例 - username: jygk-test - password: Zgty@0527 + url: jdbc:dm://172.16.46.247:1050?schema=BPM + username: SYSDBA + password: pgbsci6ddJ6Sqj@e slave: # 模拟从库,可根据自己需要修改 # 模拟从库,可根据自己需要修改 lazy: true # 开启懒加载,保证启动速度 - url: jdbc:mysql://172.16.46.247:4787/ruoyi-vue-pro?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true&rewriteBatchedStatements=true # MySQL Connector/J 8.X 连接的示例 - username: jygk-test - password: Zgty@0527 + url: jdbc:dm://172.16.46.247:1050?schema=BPM + username: SYSDBA + password: pgbsci6ddJ6Sqj@e # Redis 配置。Redisson 默认的配置足够使用,一般不需要进行调优 data: @@ -56,6 +56,11 @@ spring: database: 0 # 数据库索引 # password: 123456 # 密码,建议生产环境开启 +# Flowable 在 DM 场景下需要识别为 Oracle 并自动升级表结构 +flowable: + database-schema-update: true + database-type: oracle + --- #################### MQ 消息队列相关配置 #################### --- #################### 定时任务相关配置 #################### diff --git a/zt-module-bpm/zt-module-bpm-server/src/main/resources/org/flowable/batch/service/db/create/flowable.oracle.create.batch.sql b/zt-module-bpm/zt-module-bpm-server/src/main/resources/org/flowable/batch/service/db/create/flowable.oracle.create.batch.sql new file mode 100644 index 00000000..19dca822 --- /dev/null +++ b/zt-module-bpm/zt-module-bpm-server/src/main/resources/org/flowable/batch/service/db/create/flowable.oracle.create.batch.sql @@ -0,0 +1,41 @@ +create table FLW_RU_BATCH ( + ID_ VARCHAR2(64) not null, + REV_ INTEGER, + TYPE_ VARCHAR2(64) not null, + SEARCH_KEY_ VARCHAR2(255), + SEARCH_KEY2_ VARCHAR2(255), + CREATE_TIME_ TIMESTAMP(6) not null, + COMPLETE_TIME_ TIMESTAMP(6), + STATUS_ VARCHAR2(255), + BATCH_DOC_ID_ VARCHAR2(64), + TENANT_ID_ VARCHAR2(255) default '', + primary key (ID_) +); + +create table FLW_RU_BATCH_PART ( + ID_ VARCHAR2(64) not null, + REV_ INTEGER, + BATCH_ID_ VARCHAR2(64), + TYPE_ VARCHAR2(64) not null, + SCOPE_ID_ VARCHAR2(64), + SUB_SCOPE_ID_ VARCHAR2(64), + SCOPE_TYPE_ VARCHAR2(64), + SEARCH_KEY_ VARCHAR2(255), + SEARCH_KEY2_ VARCHAR2(255), + CREATE_TIME_ TIMESTAMP(6) not null, + COMPLETE_TIME_ TIMESTAMP(6), + STATUS_ VARCHAR2(255), + RESULT_DOC_ID_ VARCHAR2(64), + TENANT_ID_ VARCHAR2(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_); + +insert into ACT_GE_PROPERTY values ('batch.schema.version', '7.0.1.1', 1); + diff --git a/zt-module-bpm/zt-module-bpm-server/src/main/resources/org/flowable/batch/service/db/drop/flowable.oracle.drop.batch.sql b/zt-module-bpm/zt-module-bpm-server/src/main/resources/org/flowable/batch/service/db/drop/flowable.oracle.drop.batch.sql new file mode 100644 index 00000000..d16ba1ce --- /dev/null +++ b/zt-module-bpm/zt-module-bpm-server/src/main/resources/org/flowable/batch/service/db/drop/flowable.oracle.drop.batch.sql @@ -0,0 +1,4 @@ +drop index FLW_IDX_BATCH_PART; + +drop table FLW_RU_BATCH_PART; +drop table FLW_RU_BATCH; diff --git a/zt-module-bpm/zt-module-bpm-server/src/main/resources/org/flowable/common/db/create/flowable.oracle.create.common.sql b/zt-module-bpm/zt-module-bpm-server/src/main/resources/org/flowable/common/db/create/flowable.oracle.create.common.sql new file mode 100644 index 00000000..4ef0d2e3 --- /dev/null +++ b/zt-module-bpm/zt-module-bpm-server/src/main/resources/org/flowable/common/db/create/flowable.oracle.create.common.sql @@ -0,0 +1,23 @@ +create table ACT_GE_PROPERTY ( + NAME_ VARCHAR2(64), + VALUE_ VARCHAR2(300), + REV_ INTEGER, + primary key (NAME_) +); + +create table ACT_GE_BYTEARRAY ( + ID_ VARCHAR2(64), + REV_ INTEGER, + NAME_ VARCHAR2(255), + DEPLOYMENT_ID_ VARCHAR2(64), + BYTES_ BLOB, + GENERATED_ NUMBER(1) CHECK (GENERATED_ IN (1,0)), + primary key (ID_) +); + +insert into ACT_GE_PROPERTY +values ('common.schema.version', '7.0.1.1', 1); + +insert into ACT_GE_PROPERTY +values ('next.dbid', '1', 1); + diff --git a/zt-module-bpm/zt-module-bpm-server/src/main/resources/org/flowable/common/db/drop/flowable.oracle.drop.common.sql b/zt-module-bpm/zt-module-bpm-server/src/main/resources/org/flowable/common/db/drop/flowable.oracle.drop.common.sql new file mode 100644 index 00000000..9019cb9d --- /dev/null +++ b/zt-module-bpm/zt-module-bpm-server/src/main/resources/org/flowable/common/db/drop/flowable.oracle.drop.common.sql @@ -0,0 +1,2 @@ +drop table ACT_GE_BYTEARRAY; +drop table ACT_GE_PROPERTY; diff --git a/zt-module-bpm/zt-module-bpm-server/src/main/resources/org/flowable/db/create/flowable.oracle.create.engine.sql b/zt-module-bpm/zt-module-bpm-server/src/main/resources/org/flowable/db/create/flowable.oracle.create.engine.sql new file mode 100644 index 00000000..d0139b78 --- /dev/null +++ b/zt-module-bpm/zt-module-bpm-server/src/main/resources/org/flowable/db/create/flowable.oracle.create.engine.sql @@ -0,0 +1,355 @@ +create table ACT_RE_DEPLOYMENT ( + ID_ VARCHAR2(64), + NAME_ VARCHAR2(255), + CATEGORY_ VARCHAR2(255), + KEY_ VARCHAR2(255), + TENANT_ID_ VARCHAR2(255) DEFAULT '', + DEPLOY_TIME_ TIMESTAMP(6), + DERIVED_FROM_ VARCHAR2(64), + DERIVED_FROM_ROOT_ VARCHAR2(64), + PARENT_DEPLOYMENT_ID_ VARCHAR2(255), + ENGINE_VERSION_ VARCHAR2(255), + primary key (ID_) +); + +create table ACT_RE_MODEL ( + ID_ VARCHAR2(64) not null, + REV_ INTEGER, + NAME_ VARCHAR2(255), + KEY_ VARCHAR2(255), + CATEGORY_ VARCHAR2(255), + CREATE_TIME_ TIMESTAMP(6), + LAST_UPDATE_TIME_ TIMESTAMP(6), + VERSION_ INTEGER, + META_INFO_ VARCHAR2(2000), + DEPLOYMENT_ID_ VARCHAR2(64), + EDITOR_SOURCE_VALUE_ID_ VARCHAR2(64), + EDITOR_SOURCE_EXTRA_VALUE_ID_ VARCHAR2(64), + TENANT_ID_ VARCHAR2(255) DEFAULT '', + primary key (ID_) +); + +create table ACT_RU_EXECUTION ( + ID_ VARCHAR2(64), + REV_ INTEGER, + PROC_INST_ID_ VARCHAR2(64), + BUSINESS_KEY_ VARCHAR2(255), + PARENT_ID_ VARCHAR2(64), + PROC_DEF_ID_ VARCHAR2(64), + SUPER_EXEC_ VARCHAR2(64), + ROOT_PROC_INST_ID_ VARCHAR2(64), + ACT_ID_ VARCHAR2(255), + IS_ACTIVE_ NUMBER(1) CHECK (IS_ACTIVE_ IN (1,0)), + IS_CONCURRENT_ NUMBER(1) CHECK (IS_CONCURRENT_ IN (1,0)), + IS_SCOPE_ NUMBER(1) CHECK (IS_SCOPE_ IN (1,0)), + IS_EVENT_SCOPE_ NUMBER(1) CHECK (IS_EVENT_SCOPE_ IN (1,0)), + IS_MI_ROOT_ NUMBER(1) CHECK (IS_MI_ROOT_ IN (1,0)), + SUSPENSION_STATE_ INTEGER, + CACHED_ENT_STATE_ INTEGER, + TENANT_ID_ VARCHAR2(255) DEFAULT '', + NAME_ VARCHAR2(255), + START_ACT_ID_ VARCHAR2(255), + START_TIME_ TIMESTAMP(6), + START_USER_ID_ VARCHAR2(255), + LOCK_TIME_ TIMESTAMP(6), + LOCK_OWNER_ VARCHAR2(255), + IS_COUNT_ENABLED_ NUMBER(1) 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_ VARCHAR2(255), + CALLBACK_TYPE_ VARCHAR2(255), + REFERENCE_ID_ VARCHAR2(255), + REFERENCE_TYPE_ VARCHAR2(255), + PROPAGATED_STAGE_INST_ID_ VARCHAR2(255), + BUSINESS_STATUS_ VARCHAR2(255), + primary key (ID_) +); + +create table ACT_RE_PROCDEF ( + ID_ VARCHAR2(64) NOT NULL, + REV_ INTEGER, + CATEGORY_ VARCHAR2(255), + NAME_ VARCHAR2(255), + KEY_ VARCHAR2(255) NOT NULL, + VERSION_ INTEGER NOT NULL, + DEPLOYMENT_ID_ VARCHAR2(64), + RESOURCE_NAME_ VARCHAR2(2000), + DGRM_RESOURCE_NAME_ VARCHAR2(4000), + DESCRIPTION_ VARCHAR2(2000), + HAS_START_FORM_KEY_ NUMBER(1) CHECK (HAS_START_FORM_KEY_ IN (1,0)), + HAS_GRAPHICAL_NOTATION_ NUMBER(1) CHECK (HAS_GRAPHICAL_NOTATION_ IN (1,0)), + SUSPENSION_STATE_ INTEGER, + TENANT_ID_ VARCHAR2(255) DEFAULT '', + DERIVED_FROM_ VARCHAR2(64), + DERIVED_FROM_ROOT_ VARCHAR2(64), + DERIVED_VERSION_ INTEGER DEFAULT 0 NOT NULL, + ENGINE_VERSION_ VARCHAR2(255), + primary key (ID_) +); + +create table ACT_EVT_LOG ( + LOG_NR_ NUMBER(19), + TYPE_ VARCHAR2(64), + PROC_DEF_ID_ VARCHAR2(64), + PROC_INST_ID_ VARCHAR2(64), + EXECUTION_ID_ VARCHAR2(64), + TASK_ID_ VARCHAR2(64), + TIME_STAMP_ TIMESTAMP(6) not null, + USER_ID_ VARCHAR2(255), + DATA_ BLOB, + LOCK_OWNER_ VARCHAR2(255), + LOCK_TIME_ TIMESTAMP(6) null, + IS_PROCESSED_ NUMBER(3) default 0, + primary key (LOG_NR_) +); + +create sequence act_evt_log_seq; + +create table ACT_PROCDEF_INFO ( + ID_ VARCHAR2(64) not null, + PROC_DEF_ID_ VARCHAR2(64) not null, + REV_ integer, + INFO_JSON_ID_ VARCHAR2(64), + primary key (ID_) +); + +create table ACT_RU_ACTINST ( + ID_ VARCHAR2(64) not null, + REV_ INTEGER default 1, + PROC_DEF_ID_ VARCHAR2(64) not null, + PROC_INST_ID_ VARCHAR2(64) not null, + EXECUTION_ID_ VARCHAR2(64) not null, + ACT_ID_ VARCHAR2(255) not null, + TASK_ID_ VARCHAR2(64), + CALL_PROC_INST_ID_ VARCHAR2(64), + ACT_NAME_ VARCHAR2(255), + ACT_TYPE_ VARCHAR2(255) not null, + ASSIGNEE_ VARCHAR2(255), + START_TIME_ TIMESTAMP(6) not null, + END_TIME_ TIMESTAMP(6), + DURATION_ NUMBER(19,0), + TRANSACTION_ORDER_ INTEGER, + DELETE_REASON_ VARCHAR2(2000), + TENANT_ID_ VARCHAR2(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.0.1.1', 1); + +insert into ACT_GE_PROPERTY +values ('schema.history', 'create(7.0.1.1)', 1); + diff --git a/zt-module-bpm/zt-module-bpm-server/src/main/resources/org/flowable/db/create/flowable.oracle.create.history.sql b/zt-module-bpm/zt-module-bpm-server/src/main/resources/org/flowable/db/create/flowable.oracle.create.history.sql new file mode 100644 index 00000000..75782f46 --- /dev/null +++ b/zt-module-bpm/zt-module-bpm-server/src/main/resources/org/flowable/db/create/flowable.oracle.create.history.sql @@ -0,0 +1,114 @@ +create table ACT_HI_PROCINST ( + ID_ VARCHAR2(64) not null, + REV_ INTEGER default 1, + PROC_INST_ID_ VARCHAR2(64) not null, + BUSINESS_KEY_ VARCHAR2(255), + PROC_DEF_ID_ VARCHAR2(64) not null, + START_TIME_ TIMESTAMP(6) not null, + END_TIME_ TIMESTAMP(6), + DURATION_ NUMBER(19,0), + START_USER_ID_ VARCHAR2(255), + START_ACT_ID_ VARCHAR2(255), + END_ACT_ID_ VARCHAR2(255), + SUPER_PROCESS_INSTANCE_ID_ VARCHAR2(64), + DELETE_REASON_ VARCHAR2(2000), + TENANT_ID_ VARCHAR2(255) default '', + NAME_ VARCHAR2(255), + CALLBACK_ID_ VARCHAR2(255), + CALLBACK_TYPE_ VARCHAR2(255), + REFERENCE_ID_ VARCHAR2(255), + REFERENCE_TYPE_ VARCHAR2(255), + PROPAGATED_STAGE_INST_ID_ VARCHAR2(255), + BUSINESS_STATUS_ VARCHAR2(255), + primary key (ID_), + unique (PROC_INST_ID_) +); + +create table ACT_HI_ACTINST ( + ID_ VARCHAR2(64) not null, + REV_ INTEGER default 1, + PROC_DEF_ID_ VARCHAR2(64) not null, + PROC_INST_ID_ VARCHAR2(64) not null, + EXECUTION_ID_ VARCHAR2(64) not null, + ACT_ID_ VARCHAR2(255) not null, + TASK_ID_ VARCHAR2(64), + CALL_PROC_INST_ID_ VARCHAR2(64), + ACT_NAME_ VARCHAR2(255), + ACT_TYPE_ VARCHAR2(255) not null, + ASSIGNEE_ VARCHAR2(255), + START_TIME_ TIMESTAMP(6) not null, + END_TIME_ TIMESTAMP(6), + TRANSACTION_ORDER_ INTEGER, + DURATION_ NUMBER(19,0), + DELETE_REASON_ VARCHAR2(2000), + TENANT_ID_ VARCHAR2(255) default '', + primary key (ID_) +); + +create table ACT_HI_DETAIL ( + ID_ VARCHAR2(64) not null, + TYPE_ VARCHAR2(255) not null, + PROC_INST_ID_ VARCHAR2(64), + EXECUTION_ID_ VARCHAR2(64), + TASK_ID_ VARCHAR2(64), + ACT_INST_ID_ VARCHAR2(64), + NAME_ VARCHAR2(255) not null, + VAR_TYPE_ VARCHAR2(64), + REV_ INTEGER, + TIME_ TIMESTAMP(6) not null, + BYTEARRAY_ID_ VARCHAR2(64), + DOUBLE_ NUMBER(38,10), + LONG_ NUMBER(19,0), + TEXT_ VARCHAR2(2000), + TEXT2_ VARCHAR2(2000), + primary key (ID_) +); + +create table ACT_HI_COMMENT ( + ID_ VARCHAR2(64) not null, + TYPE_ VARCHAR2(255), + TIME_ TIMESTAMP(6) not null, + USER_ID_ VARCHAR2(255), + TASK_ID_ VARCHAR2(64), + PROC_INST_ID_ VARCHAR2(64), + ACTION_ VARCHAR2(255), + MESSAGE_ VARCHAR2(2000), + FULL_MSG_ BLOB, + primary key (ID_) +); + +create table ACT_HI_ATTACHMENT ( + ID_ VARCHAR2(64) not null, + REV_ INTEGER, + USER_ID_ VARCHAR2(255), + NAME_ VARCHAR2(255), + DESCRIPTION_ VARCHAR2(2000), + TYPE_ VARCHAR2(255), + TASK_ID_ VARCHAR2(64), + PROC_INST_ID_ VARCHAR2(64), + URL_ VARCHAR2(2000), + CONTENT_ID_ VARCHAR2(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_); + diff --git a/zt-module-bpm/zt-module-bpm-server/src/main/resources/org/flowable/db/drop/flowable.oracle.drop.engine.sql b/zt-module-bpm/zt-module-bpm-server/src/main/resources/org/flowable/db/drop/flowable.oracle.drop.engine.sql new file mode 100644 index 00000000..58537bab --- /dev/null +++ b/zt-module-bpm/zt-module-bpm-server/src/main/resources/org/flowable/db/drop/flowable.oracle.drop.engine.sql @@ -0,0 +1,148 @@ +drop index ACT_IDX_BYTEAR_DEPL; +drop index ACT_IDX_EXE_PROCINST; +drop index ACT_IDX_EXE_PARENT; +drop index ACT_IDX_EXE_SUPER; +drop index ACT_IDX_TSKASS_TASK; +drop index ACT_IDX_TASK_EXEC; +drop index ACT_IDX_TASK_PROCINST; +drop index ACT_IDX_TASK_PROCDEF; +drop index ACT_IDX_VAR_EXE; +drop index ACT_IDX_VAR_PROCINST; +drop index ACT_IDX_JOB_EXECUTION_ID; +drop index ACT_IDX_JOB_PROC_INST_ID; +drop index ACT_IDX_JOB_PROC_DEF_ID; +drop index ACT_IDX_TJOB_EXECUTION_ID; +drop index ACT_IDX_TJOB_PROC_INST_ID; +drop index ACT_IDX_TJOB_PROC_DEF_ID; +drop index ACT_IDX_SJOB_EXECUTION_ID; +drop index ACT_IDX_SJOB_PROC_INST_ID; +drop index ACT_IDX_SJOB_PROC_DEF_ID; +drop index ACT_IDX_DJOB_EXECUTION_ID; +drop index ACT_IDX_DJOB_PROC_INST_ID; +drop index ACT_IDX_DJOB_PROC_DEF_ID; +drop index ACT_IDX_MODEL_SOURCE; +drop index ACT_IDX_MODEL_SOURCE_EXTRA; +drop index ACT_IDX_MODEL_DEPLOYMENT; +drop index ACT_IDX_PROCDEF_INFO_JSON; + +drop index ACT_IDX_EXEC_BUSKEY; +drop index ACT_IDX_VARIABLE_TASK_ID; + +drop index ACT_IDX_RU_ACTI_START; +drop index ACT_IDX_RU_ACTI_END; +drop index ACT_IDX_RU_ACTI_PROC; +drop index ACT_IDX_RU_ACTI_PROC_ACT; +drop index ACT_IDX_RU_ACTI_EXEC; +drop index ACT_IDX_RU_ACTI_EXEC_ACT; + +alter table ACT_GE_BYTEARRAY + drop CONSTRAINT ACT_FK_BYTEARR_DEPL; + +alter table ACT_RU_EXECUTION + drop CONSTRAINT ACT_FK_EXE_PROCINST; + +alter table ACT_RU_EXECUTION + drop CONSTRAINT ACT_FK_EXE_PARENT; + +alter table ACT_RU_EXECUTION + drop CONSTRAINT ACT_FK_EXE_SUPER; + +alter table ACT_RU_EXECUTION + drop CONSTRAINT ACT_FK_EXE_PROCDEF; + +alter table ACT_RU_IDENTITYLINK + drop CONSTRAINT ACT_FK_TSKASS_TASK; + +alter table ACT_RU_IDENTITYLINK + drop CONSTRAINT ACT_FK_IDL_PROCINST; + +alter table ACT_RU_IDENTITYLINK + drop CONSTRAINT ACT_FK_ATHRZ_PROCEDEF; + +alter table ACT_RU_TASK + drop CONSTRAINT ACT_FK_TASK_EXE; + +alter table ACT_RU_TASK + drop CONSTRAINT ACT_FK_TASK_PROCINST; + +alter table ACT_RU_TASK + drop CONSTRAINT ACT_FK_TASK_PROCDEF; + +alter table ACT_RU_VARIABLE + drop CONSTRAINT ACT_FK_VAR_EXE; + +alter table ACT_RU_VARIABLE + drop CONSTRAINT ACT_FK_VAR_PROCINST; + +alter table ACT_RU_JOB + drop CONSTRAINT ACT_FK_JOB_EXECUTION; + +alter table ACT_RU_JOB + drop CONSTRAINT ACT_FK_JOB_PROCESS_INSTANCE; + +alter table ACT_RU_JOB + drop CONSTRAINT ACT_FK_JOB_PROC_DEF; + +alter table ACT_RU_TIMER_JOB + drop CONSTRAINT ACT_FK_TJOB_EXECUTION; + +alter table ACT_RU_TIMER_JOB + drop CONSTRAINT ACT_FK_TJOB_PROCESS_INSTANCE; + +alter table ACT_RU_TIMER_JOB + drop CONSTRAINT ACT_FK_TJOB_PROC_DEF; + +alter table ACT_RU_SUSPENDED_JOB + drop CONSTRAINT ACT_FK_SJOB_EXECUTION; + +alter table ACT_RU_SUSPENDED_JOB + drop CONSTRAINT ACT_FK_SJOB_PROCESS_INSTANCE; + +alter table ACT_RU_SUSPENDED_JOB + drop CONSTRAINT ACT_FK_SJOB_PROC_DEF; + +alter table ACT_RU_DEADLETTER_JOB + drop CONSTRAINT ACT_FK_DJOB_EXECUTION; + +alter table ACT_RU_DEADLETTER_JOB + drop CONSTRAINT ACT_FK_DJOB_PROCESS_INSTANCE; + +alter table ACT_RU_DEADLETTER_JOB + drop CONSTRAINT ACT_FK_DJOB_PROC_DEF; + +alter table ACT_RU_EVENT_SUBSCR + drop CONSTRAINT ACT_FK_EVENT_EXEC; + +alter table ACT_RE_PROCDEF + drop CONSTRAINT ACT_UNIQ_PROCDEF; + +alter table ACT_RE_MODEL + drop CONSTRAINT ACT_FK_MODEL_SOURCE; + +alter table ACT_RE_MODEL + drop CONSTRAINT ACT_FK_MODEL_SOURCE_EXTRA; + +alter table ACT_RE_MODEL + drop CONSTRAINT ACT_FK_MODEL_DEPLOYMENT; + +alter table ACT_PROCDEF_INFO + drop CONSTRAINT ACT_UNIQ_INFO_PROCDEF; + +alter table ACT_PROCDEF_INFO + drop CONSTRAINT ACT_FK_INFO_JSON_BA; + +alter table ACT_PROCDEF_INFO + drop CONSTRAINT ACT_FK_INFO_PROCDEF; + +drop index ACT_IDX_ATHRZ_PROCEDEF; +drop index ACT_IDX_PROCDEF_INFO_PROC; + +drop table ACT_RU_ACTINST; +drop table ACT_RE_DEPLOYMENT; +drop table ACT_RE_MODEL; +drop table ACT_RE_PROCDEF; +drop table ACT_RU_EXECUTION; + +drop sequence act_evt_log_seq; +drop table ACT_EVT_LOG; +drop table ACT_PROCDEF_INFO; diff --git a/zt-module-bpm/zt-module-bpm-server/src/main/resources/org/flowable/db/drop/flowable.oracle.drop.history.sql b/zt-module-bpm/zt-module-bpm-server/src/main/resources/org/flowable/db/drop/flowable.oracle.drop.history.sql new file mode 100644 index 00000000..2a31cc4b --- /dev/null +++ b/zt-module-bpm/zt-module-bpm-server/src/main/resources/org/flowable/db/drop/flowable.oracle.drop.history.sql @@ -0,0 +1,23 @@ +drop index ACT_IDX_HI_PRO_INST_END; +drop index ACT_IDX_HI_PRO_I_BUSKEY; +drop index ACT_IDX_HI_ACT_INST_START; +drop index ACT_IDX_HI_ACT_INST_END; +drop index ACT_IDX_HI_DETAIL_PROC_INST; +drop index ACT_IDX_HI_DETAIL_ACT_INST; +drop index ACT_IDX_HI_DETAIL_TIME; +drop index ACT_IDX_HI_DETAIL_NAME; +drop index ACT_IDX_HI_DETAIL_TASK_ID; +drop index ACT_IDX_HI_PROCVAR_PROC_INST; +drop index ACT_IDX_HI_PROCVAR_TASK_ID; +drop index ACT_IDX_HI_PROCVAR_EXE; +drop index ACT_IDX_HI_ACT_INST_PROCINST; +drop index ACT_IDX_HI_IDENT_LNK_TASK; +drop index ACT_IDX_HI_IDENT_LNK_PROCINST; +drop index ACT_IDX_HI_TASK_INST_PROCINST; + +drop table ACT_HI_PROCINST; +drop table ACT_HI_ACTINST; +drop table ACT_HI_DETAIL; +drop table ACT_HI_COMMENT; +drop table ACT_HI_ATTACHMENT; + diff --git a/zt-module-bpm/zt-module-bpm-server/src/main/resources/org/flowable/entitylink/service/db/create/flowable.oracle.create.entitylink.history.sql b/zt-module-bpm/zt-module-bpm-server/src/main/resources/org/flowable/entitylink/service/db/create/flowable.oracle.create.entitylink.history.sql new file mode 100644 index 00000000..55c5dbec --- /dev/null +++ b/zt-module-bpm/zt-module-bpm-server/src/main/resources/org/flowable/entitylink/service/db/create/flowable.oracle.create.entitylink.history.sql @@ -0,0 +1,23 @@ +create table ACT_HI_ENTITYLINK ( + ID_ VARCHAR2(64), + LINK_TYPE_ VARCHAR2(255), + CREATE_TIME_ TIMESTAMP(6), + SCOPE_ID_ VARCHAR2(255), + SUB_SCOPE_ID_ VARCHAR2(255), + SCOPE_TYPE_ VARCHAR2(255), + SCOPE_DEFINITION_ID_ VARCHAR2(255), + PARENT_ELEMENT_ID_ VARCHAR2(255), + REF_SCOPE_ID_ VARCHAR2(255), + REF_SCOPE_TYPE_ VARCHAR2(255), + REF_SCOPE_DEFINITION_ID_ VARCHAR2(255), + ROOT_SCOPE_ID_ VARCHAR2(255), + ROOT_SCOPE_TYPE_ VARCHAR2(255), + HIERARCHY_TYPE_ VARCHAR2(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_); + diff --git a/zt-module-bpm/zt-module-bpm-server/src/main/resources/org/flowable/entitylink/service/db/create/flowable.oracle.create.entitylink.sql b/zt-module-bpm/zt-module-bpm-server/src/main/resources/org/flowable/entitylink/service/db/create/flowable.oracle.create.entitylink.sql new file mode 100644 index 00000000..de084516 --- /dev/null +++ b/zt-module-bpm/zt-module-bpm-server/src/main/resources/org/flowable/entitylink/service/db/create/flowable.oracle.create.entitylink.sql @@ -0,0 +1,26 @@ +create table ACT_RU_ENTITYLINK ( + ID_ VARCHAR2(64), + REV_ INTEGER, + CREATE_TIME_ TIMESTAMP(6), + LINK_TYPE_ VARCHAR2(255), + SCOPE_ID_ VARCHAR2(255), + SUB_SCOPE_ID_ VARCHAR2(255), + SCOPE_TYPE_ VARCHAR2(255), + SCOPE_DEFINITION_ID_ VARCHAR2(255), + PARENT_ELEMENT_ID_ VARCHAR2(255), + REF_SCOPE_ID_ VARCHAR2(255), + REF_SCOPE_TYPE_ VARCHAR2(255), + REF_SCOPE_DEFINITION_ID_ VARCHAR2(255), + ROOT_SCOPE_ID_ VARCHAR2(255), + ROOT_SCOPE_TYPE_ VARCHAR2(255), + HIERARCHY_TYPE_ VARCHAR2(255), + primary key (ID_) +); + +create index ACT_IDX_ENT_LNK_SCOPE on ACT_RU_ENTITYLINK(SCOPE_ID_, SCOPE_TYPE_, LINK_TYPE_); +create index ACT_IDX_ENT_LNK_REF_SCOPE on ACT_RU_ENTITYLINK(REF_SCOPE_ID_, REF_SCOPE_TYPE_, LINK_TYPE_); +create index ACT_IDX_ENT_LNK_ROOT_SCOPE on ACT_RU_ENTITYLINK(ROOT_SCOPE_ID_, ROOT_SCOPE_TYPE_, LINK_TYPE_); +create index ACT_IDX_ENT_LNK_SCOPE_DEF on ACT_RU_ENTITYLINK(SCOPE_DEFINITION_ID_, SCOPE_TYPE_, LINK_TYPE_); + +insert into ACT_GE_PROPERTY values ('entitylink.schema.version', '7.0.1.1', 1); + diff --git a/zt-module-bpm/zt-module-bpm-server/src/main/resources/org/flowable/entitylink/service/db/drop/flowable.oracle.drop.entitylink.history.sql b/zt-module-bpm/zt-module-bpm-server/src/main/resources/org/flowable/entitylink/service/db/drop/flowable.oracle.drop.entitylink.history.sql new file mode 100644 index 00000000..a908877e --- /dev/null +++ b/zt-module-bpm/zt-module-bpm-server/src/main/resources/org/flowable/entitylink/service/db/drop/flowable.oracle.drop.entitylink.history.sql @@ -0,0 +1,4 @@ +drop index ACT_IDX_HI_ENT_LNK_SCOPE; +drop index ACT_IDX_HI_ENT_LNK_SCOPE_DEF; + +drop table ACT_HI_ENTITYLINK; diff --git a/zt-module-bpm/zt-module-bpm-server/src/main/resources/org/flowable/entitylink/service/db/drop/flowable.oracle.drop.entitylink.sql b/zt-module-bpm/zt-module-bpm-server/src/main/resources/org/flowable/entitylink/service/db/drop/flowable.oracle.drop.entitylink.sql new file mode 100644 index 00000000..aedbacd9 --- /dev/null +++ b/zt-module-bpm/zt-module-bpm-server/src/main/resources/org/flowable/entitylink/service/db/drop/flowable.oracle.drop.entitylink.sql @@ -0,0 +1,4 @@ +drop index ACT_IDX_ENT_LNK_SCOPE; +drop index ACT_IDX_ENT_LNK_SCOPE_DEF; + +drop table ACT_RU_ENTITYLINK; diff --git a/zt-module-bpm/zt-module-bpm-server/src/main/resources/org/flowable/eventsubscription/service/db/create/flowable.oracle.create.eventsubscription.sql b/zt-module-bpm/zt-module-bpm-server/src/main/resources/org/flowable/eventsubscription/service/db/create/flowable.oracle.create.eventsubscription.sql new file mode 100644 index 00000000..eb22164c --- /dev/null +++ b/zt-module-bpm/zt-module-bpm-server/src/main/resources/org/flowable/eventsubscription/service/db/create/flowable.oracle.create.eventsubscription.sql @@ -0,0 +1,28 @@ +create table ACT_RU_EVENT_SUBSCR ( + ID_ VARCHAR2(64) not null, + REV_ integer, + EVENT_TYPE_ VARCHAR2(255) not null, + EVENT_NAME_ VARCHAR2(255), + EXECUTION_ID_ VARCHAR2(64), + PROC_INST_ID_ VARCHAR2(64), + ACTIVITY_ID_ VARCHAR2(64), + CONFIGURATION_ VARCHAR2(255), + CREATED_ TIMESTAMP(6) not null, + PROC_DEF_ID_ VARCHAR2(64), + SUB_SCOPE_ID_ VARCHAR2(64), + SCOPE_ID_ VARCHAR2(64), + SCOPE_DEFINITION_ID_ VARCHAR2(64), + SCOPE_DEFINITION_KEY_ VARCHAR2(255), + SCOPE_TYPE_ VARCHAR2(64), + LOCK_TIME_ TIMESTAMP(6), + LOCK_OWNER_ VARCHAR2(255), + TENANT_ID_ VARCHAR2(255) DEFAULT '', + primary key (ID_) +); + +create index ACT_IDX_EVENT_SUBSCR_CONFIG_ on ACT_RU_EVENT_SUBSCR(CONFIGURATION_); +create index ACT_IDX_EVENT_SUBSCR on ACT_RU_EVENT_SUBSCR(EXECUTION_ID_); +create index ACT_IDX_EVENT_SUBSCR_SCOPEREF_ on ACT_RU_EVENT_SUBSCR(SCOPE_ID_, SCOPE_TYPE_); + +insert into ACT_GE_PROPERTY values ('eventsubscription.schema.version', '7.0.1.1', 1); + diff --git a/zt-module-bpm/zt-module-bpm-server/src/main/resources/org/flowable/eventsubscription/service/db/drop/flowable.oracle.drop.eventsubscription.sql b/zt-module-bpm/zt-module-bpm-server/src/main/resources/org/flowable/eventsubscription/service/db/drop/flowable.oracle.drop.eventsubscription.sql new file mode 100644 index 00000000..c85ad74a --- /dev/null +++ b/zt-module-bpm/zt-module-bpm-server/src/main/resources/org/flowable/eventsubscription/service/db/drop/flowable.oracle.drop.eventsubscription.sql @@ -0,0 +1,5 @@ +drop index ACT_IDX_EVENT_SUBSCR_CONFIG_; +drop index ACT_IDX_EVENT_SUBSCR; +drop index ACT_IDX_EVENT_SUBSCR_SCOPEREF_; + +drop table ACT_RU_EVENT_SUBSCR; diff --git a/zt-module-bpm/zt-module-bpm-server/src/main/resources/org/flowable/identitylink/service/db/create/flowable.oracle.create.identitylink.history.sql b/zt-module-bpm/zt-module-bpm-server/src/main/resources/org/flowable/identitylink/service/db/create/flowable.oracle.create.identitylink.history.sql new file mode 100644 index 00000000..2305f0ae --- /dev/null +++ b/zt-module-bpm/zt-module-bpm-server/src/main/resources/org/flowable/identitylink/service/db/create/flowable.oracle.create.identitylink.history.sql @@ -0,0 +1,20 @@ +create table ACT_HI_IDENTITYLINK ( + ID_ VARCHAR2(64), + GROUP_ID_ VARCHAR2(255), + TYPE_ VARCHAR2(255), + USER_ID_ VARCHAR2(255), + TASK_ID_ VARCHAR2(64), + CREATE_TIME_ TIMESTAMP(6), + PROC_INST_ID_ VARCHAR2(64), + SCOPE_ID_ VARCHAR2(255), + SUB_SCOPE_ID_ VARCHAR2(255), + SCOPE_TYPE_ VARCHAR2(255), + SCOPE_DEFINITION_ID_ VARCHAR2(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_); + diff --git a/zt-module-bpm/zt-module-bpm-server/src/main/resources/org/flowable/identitylink/service/db/create/flowable.oracle.create.identitylink.sql b/zt-module-bpm/zt-module-bpm-server/src/main/resources/org/flowable/identitylink/service/db/create/flowable.oracle.create.identitylink.sql new file mode 100644 index 00000000..e2908794 --- /dev/null +++ b/zt-module-bpm/zt-module-bpm-server/src/main/resources/org/flowable/identitylink/service/db/create/flowable.oracle.create.identitylink.sql @@ -0,0 +1,24 @@ +create table ACT_RU_IDENTITYLINK ( + ID_ VARCHAR2(64), + REV_ INTEGER, + GROUP_ID_ VARCHAR2(255), + TYPE_ VARCHAR2(255), + USER_ID_ VARCHAR2(255), + TASK_ID_ VARCHAR2(64), + PROC_INST_ID_ VARCHAR2(64), + PROC_DEF_ID_ VARCHAR2(64), + SCOPE_ID_ VARCHAR2(255), + SUB_SCOPE_ID_ VARCHAR2(255), + SCOPE_TYPE_ VARCHAR2(255), + SCOPE_DEFINITION_ID_ VARCHAR2(255), + primary key (ID_) +); + +create index ACT_IDX_IDENT_LNK_USER on ACT_RU_IDENTITYLINK(USER_ID_); +create index ACT_IDX_IDENT_LNK_GROUP on ACT_RU_IDENTITYLINK(GROUP_ID_); +create index ACT_IDX_IDENT_LNK_SCOPE on ACT_RU_IDENTITYLINK(SCOPE_ID_, SCOPE_TYPE_); +create index ACT_IDX_IDENT_LNK_SUB_SCOPE on ACT_RU_IDENTITYLINK(SUB_SCOPE_ID_, SCOPE_TYPE_); +create index ACT_IDX_IDENT_LNK_SCOPE_DEF on ACT_RU_IDENTITYLINK(SCOPE_DEFINITION_ID_, SCOPE_TYPE_); + +insert into ACT_GE_PROPERTY values ('identitylink.schema.version', '7.0.1.1', 1); + diff --git a/zt-module-bpm/zt-module-bpm-server/src/main/resources/org/flowable/identitylink/service/db/drop/flowable.oracle.drop.identitylink.history.sql b/zt-module-bpm/zt-module-bpm-server/src/main/resources/org/flowable/identitylink/service/db/drop/flowable.oracle.drop.identitylink.history.sql new file mode 100644 index 00000000..7cff665a --- /dev/null +++ b/zt-module-bpm/zt-module-bpm-server/src/main/resources/org/flowable/identitylink/service/db/drop/flowable.oracle.drop.identitylink.history.sql @@ -0,0 +1,6 @@ +drop index ACT_IDX_HI_IDENT_LNK_USER; +drop index ACT_IDX_HI_IDENT_LNK_SCOPE; +drop index ACT_IDX_HI_IDENT_LNK_SUB_SCOPE; +drop index ACT_IDX_HI_IDENT_LNK_SCOPE_DEF; + +drop table ACT_HI_IDENTITYLINK; diff --git a/zt-module-bpm/zt-module-bpm-server/src/main/resources/org/flowable/identitylink/service/db/drop/flowable.oracle.drop.identitylink.sql b/zt-module-bpm/zt-module-bpm-server/src/main/resources/org/flowable/identitylink/service/db/drop/flowable.oracle.drop.identitylink.sql new file mode 100644 index 00000000..485344aa --- /dev/null +++ b/zt-module-bpm/zt-module-bpm-server/src/main/resources/org/flowable/identitylink/service/db/drop/flowable.oracle.drop.identitylink.sql @@ -0,0 +1,7 @@ +drop index ACT_IDX_IDENT_LNK_USER; +drop index ACT_IDX_IDENT_LNK_GROUP; +drop index ACT_IDX_IDENT_LNK_SCOPE; +drop index ACT_IDX_IDENT_LNK_SUB_SCOPE; +drop index ACT_IDX_IDENT_LNK_SCOPE_DEF; + +drop table ACT_RU_IDENTITYLINK; diff --git a/zt-module-bpm/zt-module-bpm-server/src/main/resources/org/flowable/idm/db/create/flowable.oracle.create.identity.sql b/zt-module-bpm/zt-module-bpm-server/src/main/resources/org/flowable/idm/db/create/flowable.oracle.create.identity.sql new file mode 100644 index 00000000..562f45ed --- /dev/null +++ b/zt-module-bpm/zt-module-bpm-server/src/main/resources/org/flowable/idm/db/create/flowable.oracle.create.identity.sql @@ -0,0 +1,108 @@ +create table ACT_ID_PROPERTY ( + NAME_ VARCHAR2(64), + VALUE_ VARCHAR2(300), + REV_ INTEGER, + primary key (NAME_) +); + +insert into ACT_ID_PROPERTY +values ('schema.version', '7.0.1.1', 1); + +create table ACT_ID_BYTEARRAY ( + ID_ VARCHAR2(64), + REV_ INTEGER, + NAME_ VARCHAR2(255), + BYTES_ BLOB, + primary key (ID_) +); + +create table ACT_ID_GROUP ( + ID_ VARCHAR2(64), + REV_ INTEGER, + NAME_ VARCHAR2(255), + TYPE_ VARCHAR2(255), + primary key (ID_) +); + +create table ACT_ID_MEMBERSHIP ( + USER_ID_ VARCHAR2(64), + GROUP_ID_ VARCHAR2(64), + primary key (USER_ID_, GROUP_ID_) +); + +create table ACT_ID_USER ( + ID_ VARCHAR2(64), + REV_ INTEGER, + FIRST_ VARCHAR2(255), + LAST_ VARCHAR2(255), + DISPLAY_NAME_ VARCHAR2(255), + EMAIL_ VARCHAR2(255), + PWD_ VARCHAR2(255), + PICTURE_ID_ VARCHAR2(64), + TENANT_ID_ VARCHAR2(255) default '', + primary key (ID_) +); + +create table ACT_ID_INFO ( + ID_ VARCHAR2(64), + REV_ INTEGER, + USER_ID_ VARCHAR2(64), + TYPE_ VARCHAR2(64), + KEY_ VARCHAR2(255), + VALUE_ VARCHAR2(255), + PASSWORD_ BLOB, + PARENT_ID_ VARCHAR2(255), + primary key (ID_) +); + +create table ACT_ID_TOKEN ( + ID_ VARCHAR2(64) not null, + REV_ INTEGER, + TOKEN_VALUE_ VARCHAR2(255), + TOKEN_DATE_ TIMESTAMP(6), + IP_ADDRESS_ VARCHAR2(255), + USER_AGENT_ VARCHAR2(255), + USER_ID_ VARCHAR2(255), + TOKEN_DATA_ VARCHAR2(2000), + primary key (ID_) +); + +create table ACT_ID_PRIV ( + ID_ VARCHAR2(64) not null, + NAME_ VARCHAR2(255) not null, + primary key (ID_) +); + +create table ACT_ID_PRIV_MAPPING ( + ID_ VARCHAR2(64) not null, + PRIV_ID_ VARCHAR2(64) not null, + USER_ID_ VARCHAR2(255), + GROUP_ID_ VARCHAR2(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/zt-module-bpm/zt-module-bpm-server/src/main/resources/org/flowable/idm/db/drop/flowable.oracle.drop.identity.sql b/zt-module-bpm/zt-module-bpm-server/src/main/resources/org/flowable/idm/db/drop/flowable.oracle.drop.identity.sql new file mode 100644 index 00000000..5cac418f --- /dev/null +++ b/zt-module-bpm/zt-module-bpm-server/src/main/resources/org/flowable/idm/db/drop/flowable.oracle.drop.identity.sql @@ -0,0 +1,22 @@ +alter table ACT_ID_MEMBERSHIP + drop CONSTRAINT ACT_FK_MEMB_GROUP; + +alter table ACT_ID_MEMBERSHIP + drop CONSTRAINT ACT_FK_MEMB_USER; + +alter table ACT_ID_PRIV_MAPPING + drop CONSTRAINT ACT_FK_PRIV_MAPPING; + +drop index ACT_IDX_MEMB_GROUP; +drop index ACT_IDX_MEMB_USER; +drop index ACT_IDX_PRIV_MAPPING; + +drop table ACT_ID_PROPERTY; +drop table ACT_ID_BYTEARRAY; +drop table ACT_ID_INFO; +drop table ACT_ID_MEMBERSHIP; +drop table ACT_ID_GROUP; +drop table ACT_ID_USER; +drop table ACT_ID_TOKEN; +drop table ACT_ID_PRIV; +drop table ACT_ID_PRIV_MAPPING; diff --git a/zt-module-bpm/zt-module-bpm-server/src/main/resources/org/flowable/job/service/db/create/flowable.oracle.create.job.sql b/zt-module-bpm/zt-module-bpm-server/src/main/resources/org/flowable/job/service/db/create/flowable.oracle.create.job.sql new file mode 100644 index 00000000..8b3e79bf --- /dev/null +++ b/zt-module-bpm/zt-module-bpm-server/src/main/resources/org/flowable/job/service/db/create/flowable.oracle.create.job.sql @@ -0,0 +1,261 @@ +create table ACT_RU_JOB ( + ID_ VARCHAR2(64) NOT NULL, + REV_ INTEGER, + CATEGORY_ VARCHAR2(255), + TYPE_ VARCHAR2(255) NOT NULL, + LOCK_EXP_TIME_ TIMESTAMP(6), + LOCK_OWNER_ VARCHAR2(255), + EXCLUSIVE_ NUMBER(1) CHECK (EXCLUSIVE_ IN (1,0)), + EXECUTION_ID_ VARCHAR2(64), + PROCESS_INSTANCE_ID_ VARCHAR2(64), + PROC_DEF_ID_ VARCHAR2(64), + ELEMENT_ID_ VARCHAR2(255), + ELEMENT_NAME_ VARCHAR2(255), + SCOPE_ID_ VARCHAR2(255), + SUB_SCOPE_ID_ VARCHAR2(255), + SCOPE_TYPE_ VARCHAR2(255), + SCOPE_DEFINITION_ID_ VARCHAR2(255), + CORRELATION_ID_ VARCHAR2(255), + RETRIES_ INTEGER, + EXCEPTION_STACK_ID_ VARCHAR2(64), + EXCEPTION_MSG_ VARCHAR2(2000), + DUEDATE_ TIMESTAMP(6), + REPEAT_ VARCHAR2(255), + HANDLER_TYPE_ VARCHAR2(255), + HANDLER_CFG_ VARCHAR2(2000), + CUSTOM_VALUES_ID_ VARCHAR2(64), + CREATE_TIME_ TIMESTAMP(6), + TENANT_ID_ VARCHAR2(255) DEFAULT '', + primary key (ID_) +); + +create table ACT_RU_TIMER_JOB ( + ID_ VARCHAR2(64) NOT NULL, + REV_ INTEGER, + CATEGORY_ VARCHAR2(255), + TYPE_ VARCHAR2(255) NOT NULL, + LOCK_EXP_TIME_ TIMESTAMP(6), + LOCK_OWNER_ VARCHAR2(255), + EXCLUSIVE_ NUMBER(1) CHECK (EXCLUSIVE_ IN (1,0)), + EXECUTION_ID_ VARCHAR2(64), + PROCESS_INSTANCE_ID_ VARCHAR2(64), + PROC_DEF_ID_ VARCHAR2(64), + ELEMENT_ID_ VARCHAR2(255), + ELEMENT_NAME_ VARCHAR2(255), + SCOPE_ID_ VARCHAR2(255), + SUB_SCOPE_ID_ VARCHAR2(255), + SCOPE_TYPE_ VARCHAR2(255), + SCOPE_DEFINITION_ID_ VARCHAR2(255), + CORRELATION_ID_ VARCHAR2(255), + RETRIES_ INTEGER, + EXCEPTION_STACK_ID_ VARCHAR2(64), + EXCEPTION_MSG_ VARCHAR2(2000), + DUEDATE_ TIMESTAMP(6), + REPEAT_ VARCHAR2(255), + HANDLER_TYPE_ VARCHAR2(255), + HANDLER_CFG_ VARCHAR2(2000), + CUSTOM_VALUES_ID_ VARCHAR2(64), + CREATE_TIME_ TIMESTAMP(6), + TENANT_ID_ VARCHAR2(255) DEFAULT '', + primary key (ID_) +); + +create table ACT_RU_SUSPENDED_JOB ( + ID_ VARCHAR2(64) NOT NULL, + REV_ INTEGER, + CATEGORY_ VARCHAR2(255), + TYPE_ VARCHAR2(255) NOT NULL, + EXCLUSIVE_ NUMBER(1) CHECK (EXCLUSIVE_ IN (1,0)), + EXECUTION_ID_ VARCHAR2(64), + PROCESS_INSTANCE_ID_ VARCHAR2(64), + PROC_DEF_ID_ VARCHAR2(64), + ELEMENT_ID_ VARCHAR2(255), + ELEMENT_NAME_ VARCHAR2(255), + SCOPE_ID_ VARCHAR2(255), + SUB_SCOPE_ID_ VARCHAR2(255), + SCOPE_TYPE_ VARCHAR2(255), + SCOPE_DEFINITION_ID_ VARCHAR2(255), + CORRELATION_ID_ VARCHAR2(255), + RETRIES_ INTEGER, + EXCEPTION_STACK_ID_ VARCHAR2(64), + EXCEPTION_MSG_ VARCHAR2(2000), + DUEDATE_ TIMESTAMP(6), + REPEAT_ VARCHAR2(255), + HANDLER_TYPE_ VARCHAR2(255), + HANDLER_CFG_ VARCHAR2(2000), + CUSTOM_VALUES_ID_ VARCHAR2(64), + CREATE_TIME_ TIMESTAMP(6), + TENANT_ID_ VARCHAR2(255) DEFAULT '', + primary key (ID_) +); + +create table ACT_RU_DEADLETTER_JOB ( + ID_ VARCHAR2(64) NOT NULL, + REV_ INTEGER, + CATEGORY_ VARCHAR2(255), + TYPE_ VARCHAR2(255) NOT NULL, + EXCLUSIVE_ NUMBER(1) CHECK (EXCLUSIVE_ IN (1,0)), + EXECUTION_ID_ VARCHAR2(64), + PROCESS_INSTANCE_ID_ VARCHAR2(64), + PROC_DEF_ID_ VARCHAR2(64), + ELEMENT_ID_ VARCHAR2(255), + ELEMENT_NAME_ VARCHAR2(255), + SCOPE_ID_ VARCHAR2(255), + SUB_SCOPE_ID_ VARCHAR2(255), + SCOPE_TYPE_ VARCHAR2(255), + SCOPE_DEFINITION_ID_ VARCHAR2(255), + CORRELATION_ID_ VARCHAR2(255), + EXCEPTION_STACK_ID_ VARCHAR2(64), + EXCEPTION_MSG_ VARCHAR2(2000), + DUEDATE_ TIMESTAMP(6), + REPEAT_ VARCHAR2(255), + HANDLER_TYPE_ VARCHAR2(255), + HANDLER_CFG_ VARCHAR2(2000), + CUSTOM_VALUES_ID_ VARCHAR2(64), + CREATE_TIME_ TIMESTAMP(6), + TENANT_ID_ VARCHAR2(255) DEFAULT '', + primary key (ID_) +); + +create table ACT_RU_HISTORY_JOB ( + ID_ VARCHAR2(64) NOT NULL, + REV_ INTEGER, + LOCK_EXP_TIME_ TIMESTAMP(6), + LOCK_OWNER_ VARCHAR2(255), + RETRIES_ INTEGER, + EXCEPTION_STACK_ID_ VARCHAR2(64), + EXCEPTION_MSG_ VARCHAR2(2000), + HANDLER_TYPE_ VARCHAR2(255), + HANDLER_CFG_ VARCHAR2(2000), + CUSTOM_VALUES_ID_ VARCHAR2(64), + ADV_HANDLER_CFG_ID_ VARCHAR2(64), + CREATE_TIME_ TIMESTAMP(6), + SCOPE_TYPE_ VARCHAR2(255), + TENANT_ID_ VARCHAR2(255) DEFAULT '', + primary key (ID_) +); + +create table ACT_RU_EXTERNAL_JOB ( + ID_ VARCHAR2(64) NOT NULL, + REV_ INTEGER, + CATEGORY_ VARCHAR2(255), + TYPE_ VARCHAR2(255) NOT NULL, + LOCK_EXP_TIME_ TIMESTAMP(6), + LOCK_OWNER_ VARCHAR2(255), + EXCLUSIVE_ NUMBER(1) CHECK (EXCLUSIVE_ IN (1,0)), + EXECUTION_ID_ VARCHAR2(64), + PROCESS_INSTANCE_ID_ VARCHAR2(64), + PROC_DEF_ID_ VARCHAR2(64), + ELEMENT_ID_ VARCHAR2(255), + ELEMENT_NAME_ VARCHAR2(255), + SCOPE_ID_ VARCHAR2(255), + SUB_SCOPE_ID_ VARCHAR2(255), + SCOPE_TYPE_ VARCHAR2(255), + SCOPE_DEFINITION_ID_ VARCHAR2(255), + CORRELATION_ID_ VARCHAR2(255), + RETRIES_ INTEGER, + EXCEPTION_STACK_ID_ VARCHAR2(64), + EXCEPTION_MSG_ VARCHAR2(2000), + DUEDATE_ TIMESTAMP(6), + REPEAT_ VARCHAR2(255), + HANDLER_TYPE_ VARCHAR2(255), + HANDLER_CFG_ VARCHAR2(2000), + CUSTOM_VALUES_ID_ VARCHAR2(64), + CREATE_TIME_ TIMESTAMP(6), + TENANT_ID_ VARCHAR2(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_TJOB_DUEDATE on ACT_RU_TIMER_JOB(DUEDATE_); + +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_SJOB_SCOPE on ACT_RU_SUSPENDED_JOB(SCOPE_ID_, SCOPE_TYPE_); +create index ACT_IDX_SJOB_SUB_SCOPE on ACT_RU_SUSPENDED_JOB(SUB_SCOPE_ID_, SCOPE_TYPE_); +create index ACT_IDX_SJOB_SCOPE_DEF on ACT_RU_SUSPENDED_JOB(SCOPE_DEFINITION_ID_, SCOPE_TYPE_); + +create index ACT_IDX_DJOB_SCOPE on ACT_RU_DEADLETTER_JOB(SCOPE_ID_, SCOPE_TYPE_); +create index ACT_IDX_DJOB_SUB_SCOPE on ACT_RU_DEADLETTER_JOB(SUB_SCOPE_ID_, SCOPE_TYPE_); +create index ACT_IDX_DJOB_SCOPE_DEF on ACT_RU_DEADLETTER_JOB(SCOPE_DEFINITION_ID_, SCOPE_TYPE_); + +create index ACT_IDX_EJOB_SCOPE on ACT_RU_EXTERNAL_JOB(SCOPE_ID_, SCOPE_TYPE_); +create index ACT_IDX_EJOB_SUB_SCOPE on ACT_RU_EXTERNAL_JOB(SUB_SCOPE_ID_, SCOPE_TYPE_); +create index ACT_IDX_EJOB_SCOPE_DEF on ACT_RU_EXTERNAL_JOB(SCOPE_DEFINITION_ID_, SCOPE_TYPE_); + +insert into ACT_GE_PROPERTY values ('job.schema.version', '7.0.1.1', 1); + diff --git a/zt-module-bpm/zt-module-bpm-server/src/main/resources/org/flowable/job/service/db/drop/flowable.oracle.drop.job.sql b/zt-module-bpm/zt-module-bpm-server/src/main/resources/org/flowable/job/service/db/drop/flowable.oracle.drop.job.sql new file mode 100644 index 00000000..a219e97a --- /dev/null +++ b/zt-module-bpm/zt-module-bpm-server/src/main/resources/org/flowable/job/service/db/drop/flowable.oracle.drop.job.sql @@ -0,0 +1,74 @@ +drop index ACT_IDX_JOB_SCOPE; +drop index ACT_IDX_JOB_SUB_SCOPE; +drop index ACT_IDX_JOB_SCOPE_DEF; +drop index ACT_IDX_TJOB_SCOPE; +drop index ACT_IDX_TJOB_SUB_SCOPE; +drop index ACT_IDX_TJOB_SCOPE_DEF; +drop index ACT_IDX_SJOB_SCOPE; +drop index ACT_IDX_SJOB_SUB_SCOPE; +drop index ACT_IDX_SJOB_SCOPE_DEF; +drop index ACT_IDX_DJOB_SCOPE; +drop index ACT_IDX_DJOB_SUB_SCOPE; +drop index ACT_IDX_DJOB_SCOPE_DEF; +drop index ACT_IDX_EJOB_SCOPE; +drop index ACT_IDX_EJOB_SUB_SCOPE; +drop index ACT_IDX_EJOB_SCOPE_DEF; + +drop index ACT_IDX_JOB_EXCEPTION; +drop index ACT_IDX_JOB_CUSTOM_VAL_ID; +drop index ACT_IDX_JOB_CORRELATION_ID; + +drop index ACT_IDX_TJOB_EXCEPTION; +drop index ACT_IDX_TJOB_CUSTOM_VAL_ID; +drop index ACT_IDX_TJOB_CORRELATION_ID; +drop index ACT_IDX_TJOB_DUEDATE; + +drop index ACT_IDX_SJOB_EXCEPTION; +drop index ACT_IDX_SJOB_CUSTOM_VAL_ID; +drop index ACT_IDX_SJOB_CORRELATION_ID; + +drop index ACT_IDX_DJOB_EXCEPTION; +drop index ACT_IDX_DJOB_CUSTOM_VAL_ID; +drop index ACT_IDX_DJOB_CORRELATION_ID; + +drop index ACT_IDX_EJOB_EXCEPTION; +drop index ACT_IDX_EJOB_CUSTOM_VAL_ID; +drop index ACT_IDX_EJOB_CORRELATION_ID; + +alter table ACT_RU_JOB + drop CONSTRAINT ACT_FK_JOB_EXCEPTION; + +alter table ACT_RU_JOB + drop CONSTRAINT ACT_FK_JOB_CUSTOM_VAL; + +alter table ACT_RU_TIMER_JOB + drop CONSTRAINT ACT_FK_TJOB_EXCEPTION; + +alter table ACT_RU_TIMER_JOB + drop CONSTRAINT ACT_FK_TJOB_CUSTOM_VAL; + +alter table ACT_RU_SUSPENDED_JOB + drop CONSTRAINT ACT_FK_SJOB_EXCEPTION; + +alter table ACT_RU_SUSPENDED_JOB + drop CONSTRAINT ACT_FK_SJOB_CUSTOM_VAL; + +alter table ACT_RU_DEADLETTER_JOB + drop CONSTRAINT ACT_FK_DJOB_EXCEPTION; + +alter table ACT_RU_DEADLETTER_JOB + drop CONSTRAINT ACT_FK_DJOB_CUSTOM_VAL; + +alter table ACT_RU_EXTERNAL_JOB + drop CONSTRAINT ACT_FK_DJOB_EXCEPTION; + +alter table ACT_RU_EXTERNAL_JOB + drop CONSTRAINT ACT_FK_DJOB_CUSTOM_VAL; + +drop table ACT_RU_JOB; +drop table ACT_RU_TIMER_JOB; +drop table ACT_RU_SUSPENDED_JOB; +drop table ACT_RU_DEADLETTER_JOB; +drop table ACT_RU_HISTORY_JOB; +drop table ACT_RU_EXTERNAL_JOB; + diff --git a/zt-module-bpm/zt-module-bpm-server/src/main/resources/org/flowable/task/service/db/create/flowable.oracle.create.task.history.sql b/zt-module-bpm/zt-module-bpm-server/src/main/resources/org/flowable/task/service/db/create/flowable.oracle.create.task.history.sql new file mode 100644 index 00000000..1651c0cf --- /dev/null +++ b/zt-module-bpm/zt-module-bpm-server/src/main/resources/org/flowable/task/service/db/create/flowable.oracle.create.task.history.sql @@ -0,0 +1,64 @@ +create table ACT_HI_TASKINST ( + ID_ VARCHAR2(64) not null, + REV_ INTEGER default 1, + PROC_DEF_ID_ VARCHAR2(64), + TASK_DEF_ID_ VARCHAR2(64), + TASK_DEF_KEY_ VARCHAR2(255), + PROC_INST_ID_ VARCHAR2(64), + EXECUTION_ID_ VARCHAR2(64), + SCOPE_ID_ VARCHAR2(255), + SUB_SCOPE_ID_ VARCHAR2(255), + SCOPE_TYPE_ VARCHAR2(255), + SCOPE_DEFINITION_ID_ VARCHAR2(255), + PROPAGATED_STAGE_INST_ID_ VARCHAR2(255), + PARENT_TASK_ID_ VARCHAR2(64), + STATE_ VARCHAR2(255), + NAME_ VARCHAR2(255), + DESCRIPTION_ VARCHAR2(2000), + OWNER_ VARCHAR2(255), + ASSIGNEE_ VARCHAR2(255), + START_TIME_ TIMESTAMP(6) not null, + IN_PROGRESS_TIME_ TIMESTAMP(6), + IN_PROGRESS_STARTED_BY_ VARCHAR2(255), + CLAIM_TIME_ TIMESTAMP(6), + CLAIMED_BY_ VARCHAR2(255), + SUSPENDED_TIME_ TIMESTAMP(6), + SUSPENDED_BY_ VARCHAR2(255), + END_TIME_ TIMESTAMP(6), + COMPLETED_BY_ VARCHAR2(255), + DURATION_ NUMBER(19,0), + DELETE_REASON_ VARCHAR2(2000), + PRIORITY_ INTEGER, + IN_PROGRESS_DUE_DATE_ TIMESTAMP(6), + DUE_DATE_ TIMESTAMP(6), + FORM_KEY_ VARCHAR2(255), + CATEGORY_ VARCHAR2(255), + TENANT_ID_ VARCHAR2(255) default '', + LAST_UPDATED_TIME_ TIMESTAMP(6), + primary key (ID_) +); + +create table ACT_HI_TSK_LOG ( + ID_ NUMBER(19), + TYPE_ VARCHAR2(64), + TASK_ID_ VARCHAR2(64) not null, + TIME_STAMP_ TIMESTAMP(6) not null, + USER_ID_ VARCHAR2(255), + DATA_ VARCHAR2(2000), + EXECUTION_ID_ VARCHAR2(64), + PROC_INST_ID_ VARCHAR2(64), + PROC_DEF_ID_ VARCHAR2(64), + SCOPE_ID_ VARCHAR2(255), + SCOPE_DEFINITION_ID_ VARCHAR2(255), + SUB_SCOPE_ID_ VARCHAR2(255), + SCOPE_TYPE_ VARCHAR2(255), + TENANT_ID_ VARCHAR2(255) default '', + primary key (ID_) +); + +create sequence act_hi_task_evt_log_seq start with 1 increment by 1; + +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_); + diff --git a/zt-module-bpm/zt-module-bpm-server/src/main/resources/org/flowable/task/service/db/create/flowable.oracle.create.task.sql b/zt-module-bpm/zt-module-bpm-server/src/main/resources/org/flowable/task/service/db/create/flowable.oracle.create.task.sql new file mode 100644 index 00000000..9430a1cb --- /dev/null +++ b/zt-module-bpm/zt-module-bpm-server/src/main/resources/org/flowable/task/service/db/create/flowable.oracle.create.task.sql @@ -0,0 +1,48 @@ +create table ACT_RU_TASK ( + ID_ VARCHAR2(64), + REV_ INTEGER, + EXECUTION_ID_ VARCHAR2(64), + PROC_INST_ID_ VARCHAR2(64), + PROC_DEF_ID_ VARCHAR2(64), + TASK_DEF_ID_ VARCHAR2(64), + SCOPE_ID_ VARCHAR2(255), + SUB_SCOPE_ID_ VARCHAR2(255), + SCOPE_TYPE_ VARCHAR2(255), + SCOPE_DEFINITION_ID_ VARCHAR2(255), + PROPAGATED_STAGE_INST_ID_ VARCHAR2(255), + STATE_ VARCHAR2(255), + NAME_ VARCHAR2(255), + PARENT_TASK_ID_ VARCHAR2(64), + DESCRIPTION_ VARCHAR2(2000), + TASK_DEF_KEY_ VARCHAR2(255), + OWNER_ VARCHAR2(255), + ASSIGNEE_ VARCHAR2(255), + DELEGATION_ VARCHAR2(64), + PRIORITY_ INTEGER, + CREATE_TIME_ TIMESTAMP(6), + IN_PROGRESS_TIME_ TIMESTAMP(6), + IN_PROGRESS_STARTED_BY_ VARCHAR2(255), + CLAIM_TIME_ TIMESTAMP(6), + CLAIMED_BY_ VARCHAR2(255), + SUSPENDED_TIME_ TIMESTAMP(6), + SUSPENDED_BY_ VARCHAR2(255), + IN_PROGRESS_DUE_DATE_ TIMESTAMP(6), + DUE_DATE_ TIMESTAMP(6), + CATEGORY_ VARCHAR2(255), + SUSPENSION_STATE_ INTEGER, + TENANT_ID_ VARCHAR2(255) DEFAULT '', + FORM_KEY_ VARCHAR2(255), + IS_COUNT_ENABLED_ NUMBER(1) 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_); + +insert into ACT_GE_PROPERTY values ('task.schema.version', '7.0.1.1', 1); + diff --git a/zt-module-bpm/zt-module-bpm-server/src/main/resources/org/flowable/task/service/db/drop/flowable.oracle.drop.task.history.sql b/zt-module-bpm/zt-module-bpm-server/src/main/resources/org/flowable/task/service/db/drop/flowable.oracle.drop.task.history.sql new file mode 100644 index 00000000..c5ce7bbf --- /dev/null +++ b/zt-module-bpm/zt-module-bpm-server/src/main/resources/org/flowable/task/service/db/drop/flowable.oracle.drop.task.history.sql @@ -0,0 +1,8 @@ +drop index ACT_IDX_HI_TASK_SCOPE; +drop index ACT_IDX_HI_TASK_SUB_SCOPE; +drop index ACT_IDX_HI_TASK_SCOPE_DEF; + +drop sequence act_hi_task_evt_log_seq; + +drop table ACT_HI_TASKINST; +drop table ACT_HI_TSK_LOG; diff --git a/zt-module-bpm/zt-module-bpm-server/src/main/resources/org/flowable/task/service/db/drop/flowable.oracle.drop.task.sql b/zt-module-bpm/zt-module-bpm-server/src/main/resources/org/flowable/task/service/db/drop/flowable.oracle.drop.task.sql new file mode 100644 index 00000000..9ecd1e94 --- /dev/null +++ b/zt-module-bpm/zt-module-bpm-server/src/main/resources/org/flowable/task/service/db/drop/flowable.oracle.drop.task.sql @@ -0,0 +1,6 @@ +drop index ACT_IDX_TASK_CREATE; +drop index ACT_IDX_TASK_SCOPE; +drop index ACT_IDX_TASK_SUB_SCOPE; +drop index ACT_IDX_TASK_SCOPE_DEF; + +drop table ACT_RU_TASK; diff --git a/zt-module-bpm/zt-module-bpm-server/src/main/resources/org/flowable/variable/service/db/create/flowable.oracle.create.variable.history.sql b/zt-module-bpm/zt-module-bpm-server/src/main/resources/org/flowable/variable/service/db/create/flowable.oracle.create.variable.history.sql new file mode 100644 index 00000000..3d9b50fd --- /dev/null +++ b/zt-module-bpm/zt-module-bpm-server/src/main/resources/org/flowable/variable/service/db/create/flowable.oracle.create.variable.history.sql @@ -0,0 +1,26 @@ +create table ACT_HI_VARINST ( + ID_ VARCHAR2(64) not null, + REV_ INTEGER default 1, + PROC_INST_ID_ VARCHAR2(64), + EXECUTION_ID_ VARCHAR2(64), + TASK_ID_ VARCHAR2(64), + NAME_ VARCHAR2(255) not null, + VAR_TYPE_ VARCHAR2(100), + SCOPE_ID_ VARCHAR2(255), + SUB_SCOPE_ID_ VARCHAR2(255), + SCOPE_TYPE_ VARCHAR2(255), + BYTEARRAY_ID_ VARCHAR2(64), + DOUBLE_ NUMBER(38,10), + LONG_ NUMBER(19,0), + TEXT_ VARCHAR2(2000), + TEXT2_ VARCHAR2(2000), + META_INFO_ VARCHAR2(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_); + diff --git a/zt-module-bpm/zt-module-bpm-server/src/main/resources/org/flowable/variable/service/db/create/flowable.oracle.create.variable.sql b/zt-module-bpm/zt-module-bpm-server/src/main/resources/org/flowable/variable/service/db/create/flowable.oracle.create.variable.sql new file mode 100644 index 00000000..7c02f7f6 --- /dev/null +++ b/zt-module-bpm/zt-module-bpm-server/src/main/resources/org/flowable/variable/service/db/create/flowable.oracle.create.variable.sql @@ -0,0 +1,31 @@ +create table ACT_RU_VARIABLE ( + ID_ VARCHAR2(64) not null, + REV_ INTEGER, + TYPE_ VARCHAR2(255) not null, + NAME_ VARCHAR2(255) not null, + EXECUTION_ID_ VARCHAR2(64), + PROC_INST_ID_ VARCHAR2(64), + TASK_ID_ VARCHAR2(64), + SCOPE_ID_ VARCHAR2(255), + SUB_SCOPE_ID_ VARCHAR2(255), + SCOPE_TYPE_ VARCHAR2(255), + BYTEARRAY_ID_ VARCHAR2(64), + DOUBLE_ NUMBER(38,10), + LONG_ NUMBER(19,0), + TEXT_ VARCHAR2(2000), + TEXT2_ VARCHAR2(2000), + META_INFO_ VARCHAR2(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_); + +insert into ACT_GE_PROPERTY values ('variable.schema.version', '7.0.1.1', 1); + diff --git a/zt-module-bpm/zt-module-bpm-server/src/main/resources/org/flowable/variable/service/db/drop/flowable.oracle.drop.variable.history.sql b/zt-module-bpm/zt-module-bpm-server/src/main/resources/org/flowable/variable/service/db/drop/flowable.oracle.drop.variable.history.sql new file mode 100644 index 00000000..efcc68d4 --- /dev/null +++ b/zt-module-bpm/zt-module-bpm-server/src/main/resources/org/flowable/variable/service/db/drop/flowable.oracle.drop.variable.history.sql @@ -0,0 +1,6 @@ +drop index ACT_IDX_HI_PROCVAR_NAME_TYPE; +drop index ACT_IDX_HI_VAR_SCOPE_ID_TYPE; +drop index ACT_IDX_HI_VAR_SUB_ID_TYPE; + +drop table ACT_HI_VARINST; + diff --git a/zt-module-bpm/zt-module-bpm-server/src/main/resources/org/flowable/variable/service/db/drop/flowable.oracle.drop.variable.sql b/zt-module-bpm/zt-module-bpm-server/src/main/resources/org/flowable/variable/service/db/drop/flowable.oracle.drop.variable.sql new file mode 100644 index 00000000..0d0a95fc --- /dev/null +++ b/zt-module-bpm/zt-module-bpm-server/src/main/resources/org/flowable/variable/service/db/drop/flowable.oracle.drop.variable.sql @@ -0,0 +1,9 @@ +drop index ACT_IDX_VAR_BYTEARRAY; +drop index ACT_IDX_RU_VAR_SCOPE_ID_TYPE; +drop index ACT_IDX_RU_VAR_SUB_ID_TYPE; + +alter table ACT_RU_VARIABLE + drop CONSTRAINT ACT_FK_VAR_BYTEARRAY; + +drop table ACT_RU_VARIABLE; +