From b750db3c37005dc0d7a8874d6ae96da317d3397d Mon Sep 17 00:00:00 2001 From: Wenjun Ruan Date: Fri, 20 Oct 2023 15:39:42 +0800 Subject: [PATCH] Add IT for dolphinscheduler-tools module (#15043) --- .github/workflows/unit-test.yml | 3 +- dolphinscheduler-bom/pom.xml | 27 +- .../common/sql/ClasspathSqlScriptParser.java | 5 +- .../mysql/dolphinscheduler_ddl.sql | 6 +- dolphinscheduler-tools/pom.xml | 29 + .../BaseDolphinSchedulerManagerIT.java | 30 + ...seDolphinSchedulerDatabaseWithMysqlIT.java | 81 + ...chedulerDatabaseInitializeWithMysqlIT.java | 39 + ...inSchedulerDatabaseUpgradeWithMysqlIT.java | 48 + ...lphinSchedulerManagerWithPostgresqlIT.java | 78 + ...edulerDatabaseUpgradeWithPostgresqlIT.java | 44 + ...inSchedulerInitializeWithPostgresqlIT.java | 37 + .../resources/3.0.0_schema/mysql_3.0.0.sql | 1939 +++++++++++++++++ .../3.0.0_schema/postgresql_3.0.0.sql | 1919 ++++++++++++++++ .../src/test/resources/application-mysql.yaml | 43 + .../resources/application-postgresql.yaml | 43 + .../src/test/resources/logback.xml | 35 + pom.xml | 26 + tools/dependencies/known-dependencies.txt | 1 - 19 files changed, 4425 insertions(+), 8 deletions(-) create mode 100644 dolphinscheduler-tools/src/test/java/org/apache/dolphinscheduler/tools/datasource/BaseDolphinSchedulerManagerIT.java create mode 100644 dolphinscheduler-tools/src/test/java/org/apache/dolphinscheduler/tools/datasource/mysql/BaseDolphinSchedulerDatabaseWithMysqlIT.java create mode 100644 dolphinscheduler-tools/src/test/java/org/apache/dolphinscheduler/tools/datasource/mysql/DolphinSchedulerDatabaseInitializeWithMysqlIT.java create mode 100644 dolphinscheduler-tools/src/test/java/org/apache/dolphinscheduler/tools/datasource/mysql/DolphinSchedulerDatabaseUpgradeWithMysqlIT.java create mode 100644 dolphinscheduler-tools/src/test/java/org/apache/dolphinscheduler/tools/datasource/postgresql/BaseDolphinSchedulerManagerWithPostgresqlIT.java create mode 100644 dolphinscheduler-tools/src/test/java/org/apache/dolphinscheduler/tools/datasource/postgresql/DolphinSchedulerDatabaseUpgradeWithPostgresqlIT.java create mode 100644 dolphinscheduler-tools/src/test/java/org/apache/dolphinscheduler/tools/datasource/postgresql/DolphinSchedulerInitializeWithPostgresqlIT.java create mode 100644 dolphinscheduler-tools/src/test/resources/3.0.0_schema/mysql_3.0.0.sql create mode 100644 dolphinscheduler-tools/src/test/resources/3.0.0_schema/postgresql_3.0.0.sql create mode 100644 dolphinscheduler-tools/src/test/resources/application-mysql.yaml create mode 100644 dolphinscheduler-tools/src/test/resources/application-postgresql.yaml create mode 100644 dolphinscheduler-tools/src/test/resources/logback.xml diff --git a/.github/workflows/unit-test.yml b/.github/workflows/unit-test.yml index 2baacc76ce..6c9f41d7a3 100644 --- a/.github/workflows/unit-test.yml +++ b/.github/workflows/unit-test.yml @@ -76,7 +76,7 @@ jobs: restore-keys: ${{ runner.os }}-maven- - name: Run Unit tests - run: ./mvnw clean verify -B -Dmaven.test.skip=false -Dspotless.skip=true + run: ./mvnw clean verify -B -Dmaven.test.skip=false -Dspotless.skip=true -DskipUT=false -DskipIT=false - name: Upload coverage report to codecov run: CODECOV_TOKEN="09c2663f-b091-4258-8a47-c981827eb29a" bash <(curl -s https://codecov.io/bash) @@ -99,6 +99,7 @@ jobs: -Dsonar.login=e4058004bc6be89decf558ac819aa1ecbee57682 -Dsonar.exclusions=,dolphinscheduler-ui/src/**/i18n/locale/*.js,dolphinscheduler-microbench/src/**/* -Dhttp.keepAlive=false -Dmaven.wagon.http.pool=false -Dmaven.wagon.httpconnectionManager.ttlSeconds=120 + -DskipUT=true -DskipIT=true env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }} diff --git a/dolphinscheduler-bom/pom.xml b/dolphinscheduler-bom/pom.xml index 8bb9481fc8..6e4770d60a 100644 --- a/dolphinscheduler-bom/pom.xml +++ b/dolphinscheduler-bom/pom.xml @@ -51,7 +51,7 @@ 4.4.15 2.13.4 1.7.2 - 1.9.16 + 1.12.11 1.2.11 3.2.4 9.1.6 @@ -117,6 +117,8 @@ 3.17.2 3.23.3 1.2.1 + 1.17.6 + 3.19.0 @@ -920,8 +922,31 @@ ${system-lambda.version} test + + + + org.testcontainers + mysql + ${testcontainer.version} + test + + + + org.testcontainers + postgresql + ${testcontainer.version} + test + + + + org.checkerframework + checker-qual + ${checker-qual.version} + + + zk-3.8 diff --git a/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/sql/ClasspathSqlScriptParser.java b/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/sql/ClasspathSqlScriptParser.java index e0e367747b..224e30acc1 100644 --- a/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/sql/ClasspathSqlScriptParser.java +++ b/dolphinscheduler-common/src/main/java/org/apache/dolphinscheduler/common/sql/ClasspathSqlScriptParser.java @@ -85,6 +85,9 @@ public class ClasspathSqlScriptParser implements SqlScriptParser { if (trimLine.startsWith("delimiter")) { // begin to parse processor, until delimiter ; String[] split = trimLine.split(" "); + if (split[1].equals(";")) { + continue; + } return parseProcedure(lineNumberReader, split[1]); } // begin to parse sql until; @@ -131,7 +134,7 @@ public class ClasspathSqlScriptParser implements SqlScriptParser { if (StringUtils.isBlank(line)) { continue; } - if (line.startsWith(delimiter)) { + if (line.trim().startsWith(delimiter)) { break; } sqlLines.add(line); diff --git a/dolphinscheduler-dao/src/main/resources/sql/upgrade/3.2.0_schema/mysql/dolphinscheduler_ddl.sql b/dolphinscheduler-dao/src/main/resources/sql/upgrade/3.2.0_schema/mysql/dolphinscheduler_ddl.sql index d648ff7a4b..fe841e23e0 100644 --- a/dolphinscheduler-dao/src/main/resources/sql/upgrade/3.2.0_schema/mysql/dolphinscheduler_ddl.sql +++ b/dolphinscheduler-dao/src/main/resources/sql/upgrade/3.2.0_schema/mysql/dolphinscheduler_ddl.sql @@ -91,8 +91,8 @@ BEGIN ALTER TABLE t_ds_process_instance ADD COLUMN `next_process_instance_id` int(11) DEFAULT '0' COMMENT 'serial queue next processInstanceId'; END IF; END; - d// - delimiter ; +d// +delimiter ; CALL t_ds_process_instance_add_column; DROP PROCEDURE t_ds_process_instance_add_column; @@ -445,9 +445,7 @@ BEGIN AND TABLE_SCHEMA=(SELECT DATABASE()) AND COLUMN_NAME ='task_name') THEN - ALTER TABLE `t_ds_fav_task` MODIFY COLUMN `id` bigint NOT NULL AUTO_INCREMENT; ALTER TABLE `t_ds_fav_task` DROP COLUMN `task_name`; - ALTER TABLE `t_ds_fav_task` ADD COLUMN `task_type` varchar(64) NOT NULL COMMENT 'favorite task type name'; END IF; END; d// diff --git a/dolphinscheduler-tools/pom.xml b/dolphinscheduler-tools/pom.xml index e2a42529e0..42007b7cb8 100644 --- a/dolphinscheduler-tools/pom.xml +++ b/dolphinscheduler-tools/pom.xml @@ -42,14 +42,17 @@ + org.apache.dolphinscheduler dolphinscheduler-dao + org.apache.dolphinscheduler dolphinscheduler-storage-all + org.apache.dolphinscheduler dolphinscheduler-aop @@ -116,6 +119,32 @@ + + + org.springframework.boot + spring-boot-starter-test + test + + + + + org.testcontainers + mysql + test + + + + mysql + mysql-connector-java + test + + + + org.testcontainers + postgresql + test + + diff --git a/dolphinscheduler-tools/src/test/java/org/apache/dolphinscheduler/tools/datasource/BaseDolphinSchedulerManagerIT.java b/dolphinscheduler-tools/src/test/java/org/apache/dolphinscheduler/tools/datasource/BaseDolphinSchedulerManagerIT.java new file mode 100644 index 0000000000..11ec784863 --- /dev/null +++ b/dolphinscheduler-tools/src/test/java/org/apache/dolphinscheduler/tools/datasource/BaseDolphinSchedulerManagerIT.java @@ -0,0 +1,30 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.dolphinscheduler.tools.datasource; + +import org.apache.dolphinscheduler.dao.DaoConfiguration; + +import org.springframework.boot.test.context.SpringBootTest; +import org.testcontainers.containers.Network; + +@SpringBootTest(classes = {UpgradeDolphinScheduler.class, DaoConfiguration.class}) +public abstract class BaseDolphinSchedulerManagerIT { + + protected static final Network NETWORK = Network.newNetwork(); + +} diff --git a/dolphinscheduler-tools/src/test/java/org/apache/dolphinscheduler/tools/datasource/mysql/BaseDolphinSchedulerDatabaseWithMysqlIT.java b/dolphinscheduler-tools/src/test/java/org/apache/dolphinscheduler/tools/datasource/mysql/BaseDolphinSchedulerDatabaseWithMysqlIT.java new file mode 100644 index 0000000000..13a288562e --- /dev/null +++ b/dolphinscheduler-tools/src/test/java/org/apache/dolphinscheduler/tools/datasource/mysql/BaseDolphinSchedulerDatabaseWithMysqlIT.java @@ -0,0 +1,81 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.dolphinscheduler.tools.datasource.mysql; + +import org.apache.dolphinscheduler.tools.datasource.BaseDolphinSchedulerManagerIT; +import org.apache.dolphinscheduler.tools.datasource.DolphinSchedulerManager; + +import java.util.stream.Stream; + +import javax.sql.DataSource; + +import lombok.extern.slf4j.Slf4j; + +import org.junit.jupiter.api.AfterAll; +import org.junit.jupiter.api.BeforeAll; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.test.context.ActiveProfiles; +import org.testcontainers.containers.GenericContainer; +import org.testcontainers.containers.MySQLContainer; +import org.testcontainers.containers.wait.strategy.Wait; +import org.testcontainers.lifecycle.Startables; +import org.testcontainers.utility.DockerImageName; + +import com.google.common.collect.Lists; + +// todo: use TestTemplate to test multiple mysql version +@Slf4j +@ActiveProfiles("mysql") +public class BaseDolphinSchedulerDatabaseWithMysqlIT extends BaseDolphinSchedulerManagerIT { + + @Autowired + protected DolphinSchedulerManager dolphinSchedulerManager; + + @Autowired + protected DataSource dataSource; + + protected static GenericContainer databaseContainer; + + @BeforeAll + public static void initializeContainer() { + // todo: test with multiple mysql version + databaseContainer = new MySQLContainer(DockerImageName.parse("mysql:8.0")) + .withUsername("root") + .withPassword("root") + .withDatabaseName("dolphinscheduler") + .withNetwork(NETWORK) + .withExposedPorts(3306) + .waitingFor(Wait.forHealthcheck()); + databaseContainer.setPortBindings(Lists.newArrayList("3306:3306")); + + log.info("Create MySQLContainer successfully."); + databaseContainer.start(); + + log.info("Starting MySQLContainer..."); + Startables.deepStart(Stream.of(databaseContainer)).join(); + log.info("MySQLContainer started"); + } + + @AfterAll + public static void closeContainer() { + if (databaseContainer != null) { + databaseContainer.stop(); + } + } + +} diff --git a/dolphinscheduler-tools/src/test/java/org/apache/dolphinscheduler/tools/datasource/mysql/DolphinSchedulerDatabaseInitializeWithMysqlIT.java b/dolphinscheduler-tools/src/test/java/org/apache/dolphinscheduler/tools/datasource/mysql/DolphinSchedulerDatabaseInitializeWithMysqlIT.java new file mode 100644 index 0000000000..499a687243 --- /dev/null +++ b/dolphinscheduler-tools/src/test/java/org/apache/dolphinscheduler/tools/datasource/mysql/DolphinSchedulerDatabaseInitializeWithMysqlIT.java @@ -0,0 +1,39 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.dolphinscheduler.tools.datasource.mysql; + +import lombok.extern.slf4j.Slf4j; + +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Test; +import org.springframework.test.context.ActiveProfiles; + +@Slf4j +@ActiveProfiles("mysql") +class DolphinSchedulerDatabaseInitializeWithMysqlIT extends BaseDolphinSchedulerDatabaseWithMysqlIT { + + @Test + @DisplayName("Test Initialize DolphinScheduler database in MySQL") + void testInitializeWithMysqlProfile() { + Assertions.assertDoesNotThrow(() -> dolphinSchedulerManager.initDolphinScheduler()); + // todo: Assert table count + + } + +} diff --git a/dolphinscheduler-tools/src/test/java/org/apache/dolphinscheduler/tools/datasource/mysql/DolphinSchedulerDatabaseUpgradeWithMysqlIT.java b/dolphinscheduler-tools/src/test/java/org/apache/dolphinscheduler/tools/datasource/mysql/DolphinSchedulerDatabaseUpgradeWithMysqlIT.java new file mode 100644 index 0000000000..d80d9a94be --- /dev/null +++ b/dolphinscheduler-tools/src/test/java/org/apache/dolphinscheduler/tools/datasource/mysql/DolphinSchedulerDatabaseUpgradeWithMysqlIT.java @@ -0,0 +1,48 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.dolphinscheduler.tools.datasource.mysql; + +import org.apache.dolphinscheduler.common.sql.SqlScriptRunner; + +import java.io.IOException; +import java.sql.SQLException; + +import lombok.extern.slf4j.Slf4j; + +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Test; + +@Slf4j +class DolphinSchedulerDatabaseUpgradeWithMysqlIT extends BaseDolphinSchedulerDatabaseWithMysqlIT { + + @Test + @DisplayName("Test Upgrade DolphinScheduler database in MySQL") + void testUpgradeWithMysqlProfile() throws SQLException, IOException { + + // initialize the 3.0.0 schema + SqlScriptRunner sqlScriptRunner = new SqlScriptRunner(dataSource, "3.0.0_schema/mysql_3.0.0.sql"); + sqlScriptRunner.execute(); + log.info("Initialize the 3.0.0 schema successfully."); + + Assertions.assertDoesNotThrow(() -> dolphinSchedulerManager.upgradeDolphinScheduler()); + // todo: Assert table count + + } + +} diff --git a/dolphinscheduler-tools/src/test/java/org/apache/dolphinscheduler/tools/datasource/postgresql/BaseDolphinSchedulerManagerWithPostgresqlIT.java b/dolphinscheduler-tools/src/test/java/org/apache/dolphinscheduler/tools/datasource/postgresql/BaseDolphinSchedulerManagerWithPostgresqlIT.java new file mode 100644 index 0000000000..68fbcd1e5e --- /dev/null +++ b/dolphinscheduler-tools/src/test/java/org/apache/dolphinscheduler/tools/datasource/postgresql/BaseDolphinSchedulerManagerWithPostgresqlIT.java @@ -0,0 +1,78 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.dolphinscheduler.tools.datasource.postgresql; + +import org.apache.dolphinscheduler.tools.datasource.BaseDolphinSchedulerManagerIT; +import org.apache.dolphinscheduler.tools.datasource.DolphinSchedulerManager; + +import java.util.stream.Stream; + +import javax.sql.DataSource; + +import lombok.extern.slf4j.Slf4j; + +import org.junit.jupiter.api.AfterAll; +import org.junit.jupiter.api.BeforeAll; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.test.context.ActiveProfiles; +import org.testcontainers.containers.GenericContainer; +import org.testcontainers.containers.PostgreSQLContainer; +import org.testcontainers.lifecycle.Startables; +import org.testcontainers.utility.DockerImageName; + +import com.google.common.collect.Lists; + +// todo: use TestTemplate to test multiple PG version +@Slf4j +@ActiveProfiles("postgresql") +public class BaseDolphinSchedulerManagerWithPostgresqlIT extends BaseDolphinSchedulerManagerIT { + + @Autowired + protected DolphinSchedulerManager dolphinSchedulerManager; + + @Autowired + protected DataSource dataSource; + + protected static GenericContainer databaseContainer; + + @BeforeAll + public static void initializeContainer() { + // todo: test with multiple pg version + databaseContainer = new PostgreSQLContainer(DockerImageName.parse("postgres:11.1")) + .withUsername("root") + .withPassword("root") + .withDatabaseName("dolphinscheduler") + .withNetwork(NETWORK) + .withExposedPorts(5432); + databaseContainer.setPortBindings(Lists.newArrayList("5432:5432")); + + log.info("Create PostgreSQLContainer successfully."); + databaseContainer.start(); + + log.info("Starting PostgreSQLContainer..."); + Startables.deepStart(Stream.of(databaseContainer)).join(); + log.info("PostgreSQLContainer started"); + } + + @AfterAll + public static void closeContainer() { + if (databaseContainer != null) { + databaseContainer.stop(); + } + } +} diff --git a/dolphinscheduler-tools/src/test/java/org/apache/dolphinscheduler/tools/datasource/postgresql/DolphinSchedulerDatabaseUpgradeWithPostgresqlIT.java b/dolphinscheduler-tools/src/test/java/org/apache/dolphinscheduler/tools/datasource/postgresql/DolphinSchedulerDatabaseUpgradeWithPostgresqlIT.java new file mode 100644 index 0000000000..5389367b5b --- /dev/null +++ b/dolphinscheduler-tools/src/test/java/org/apache/dolphinscheduler/tools/datasource/postgresql/DolphinSchedulerDatabaseUpgradeWithPostgresqlIT.java @@ -0,0 +1,44 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.dolphinscheduler.tools.datasource.postgresql; + +import org.apache.dolphinscheduler.common.sql.SqlScriptRunner; + +import lombok.SneakyThrows; +import lombok.extern.slf4j.Slf4j; + +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Test; + +@Slf4j +class DolphinSchedulerDatabaseUpgradeWithPostgresqlIT extends BaseDolphinSchedulerManagerWithPostgresqlIT { + + @Test + @SneakyThrows + @DisplayName("Test Upgrade DolphinScheduler database in PostgreSQL") + void testUpgradeWithPostgreSQLProfile() { + // initialize the 3.0.0 schema + SqlScriptRunner sqlScriptRunner = new SqlScriptRunner(dataSource, "3.0.0_schema/postgresql_3.0.0.sql"); + sqlScriptRunner.execute(); + log.info("Initialize the 3.0.0 schema successfully."); + + Assertions.assertDoesNotThrow(() -> dolphinSchedulerManager.upgradeDolphinScheduler()); + // todo: Assert table count + } +} diff --git a/dolphinscheduler-tools/src/test/java/org/apache/dolphinscheduler/tools/datasource/postgresql/DolphinSchedulerInitializeWithPostgresqlIT.java b/dolphinscheduler-tools/src/test/java/org/apache/dolphinscheduler/tools/datasource/postgresql/DolphinSchedulerInitializeWithPostgresqlIT.java new file mode 100644 index 0000000000..0ced99c433 --- /dev/null +++ b/dolphinscheduler-tools/src/test/java/org/apache/dolphinscheduler/tools/datasource/postgresql/DolphinSchedulerInitializeWithPostgresqlIT.java @@ -0,0 +1,37 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.dolphinscheduler.tools.datasource.postgresql; + +import lombok.extern.slf4j.Slf4j; + +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Test; + +@Slf4j +class DolphinSchedulerInitializeWithPostgresqlIT extends BaseDolphinSchedulerManagerWithPostgresqlIT { + + @Test + @DisplayName("Test initDolphinScheduler database in PostgreSQL") + void testInitializeWithPostgreSQLProfile() { + Assertions.assertDoesNotThrow(() -> { + dolphinSchedulerManager.initDolphinScheduler(); + }); + // todo: Assert table count + } +} diff --git a/dolphinscheduler-tools/src/test/resources/3.0.0_schema/mysql_3.0.0.sql b/dolphinscheduler-tools/src/test/resources/3.0.0_schema/mysql_3.0.0.sql new file mode 100644 index 0000000000..5685464475 --- /dev/null +++ b/dolphinscheduler-tools/src/test/resources/3.0.0_schema/mysql_3.0.0.sql @@ -0,0 +1,1939 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. +*/ + +SET FOREIGN_KEY_CHECKS=0; + +-- ---------------------------- +-- Table structure for QRTZ_BLOB_TRIGGERS +-- ---------------------------- +DROP TABLE IF EXISTS `QRTZ_BLOB_TRIGGERS`; +CREATE TABLE `QRTZ_BLOB_TRIGGERS` ( + `SCHED_NAME` varchar(120) NOT NULL, + `TRIGGER_NAME` varchar(200) NOT NULL, + `TRIGGER_GROUP` varchar(200) NOT NULL, + `BLOB_DATA` blob, + PRIMARY KEY (`SCHED_NAME`,`TRIGGER_NAME`,`TRIGGER_GROUP`), + KEY `SCHED_NAME` (`SCHED_NAME`,`TRIGGER_NAME`,`TRIGGER_GROUP`), + CONSTRAINT `QRTZ_BLOB_TRIGGERS_ibfk_1` FOREIGN KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) REFERENCES `QRTZ_TRIGGERS` (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +-- ---------------------------- +-- Records of QRTZ_BLOB_TRIGGERS +-- ---------------------------- + +-- ---------------------------- +-- Table structure for QRTZ_CALENDARS +-- ---------------------------- +DROP TABLE IF EXISTS `QRTZ_CALENDARS`; +CREATE TABLE `QRTZ_CALENDARS` ( + `SCHED_NAME` varchar(120) NOT NULL, + `CALENDAR_NAME` varchar(200) NOT NULL, + `CALENDAR` blob NOT NULL, + PRIMARY KEY (`SCHED_NAME`,`CALENDAR_NAME`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +-- ---------------------------- +-- Records of QRTZ_CALENDARS +-- ---------------------------- + +-- ---------------------------- +-- Table structure for QRTZ_CRON_TRIGGERS +-- ---------------------------- +DROP TABLE IF EXISTS `QRTZ_CRON_TRIGGERS`; +CREATE TABLE `QRTZ_CRON_TRIGGERS` ( + `SCHED_NAME` varchar(120) NOT NULL, + `TRIGGER_NAME` varchar(200) NOT NULL, + `TRIGGER_GROUP` varchar(200) NOT NULL, + `CRON_EXPRESSION` varchar(120) NOT NULL, + `TIME_ZONE_ID` varchar(80) DEFAULT NULL, + PRIMARY KEY (`SCHED_NAME`,`TRIGGER_NAME`,`TRIGGER_GROUP`), + CONSTRAINT `QRTZ_CRON_TRIGGERS_ibfk_1` FOREIGN KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) REFERENCES `QRTZ_TRIGGERS` (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +-- ---------------------------- +-- Records of QRTZ_CRON_TRIGGERS +-- ---------------------------- + +-- ---------------------------- +-- Table structure for QRTZ_FIRED_TRIGGERS +-- ---------------------------- +DROP TABLE IF EXISTS `QRTZ_FIRED_TRIGGERS`; +CREATE TABLE `QRTZ_FIRED_TRIGGERS` ( + `SCHED_NAME` varchar(120) NOT NULL, + `ENTRY_ID` varchar(200) NOT NULL, + `TRIGGER_NAME` varchar(200) NOT NULL, + `TRIGGER_GROUP` varchar(200) NOT NULL, + `INSTANCE_NAME` varchar(200) NOT NULL, + `FIRED_TIME` bigint(13) NOT NULL, + `SCHED_TIME` bigint(13) NOT NULL, + `PRIORITY` int(11) NOT NULL, + `STATE` varchar(16) NOT NULL, + `JOB_NAME` varchar(200) DEFAULT NULL, + `JOB_GROUP` varchar(200) DEFAULT NULL, + `IS_NONCONCURRENT` varchar(1) DEFAULT NULL, + `REQUESTS_RECOVERY` varchar(1) DEFAULT NULL, + PRIMARY KEY (`SCHED_NAME`,`ENTRY_ID`), + KEY `IDX_QRTZ_FT_TRIG_INST_NAME` (`SCHED_NAME`,`INSTANCE_NAME`), + KEY `IDX_QRTZ_FT_INST_JOB_REQ_RCVRY` (`SCHED_NAME`,`INSTANCE_NAME`,`REQUESTS_RECOVERY`), + KEY `IDX_QRTZ_FT_J_G` (`SCHED_NAME`,`JOB_NAME`,`JOB_GROUP`), + KEY `IDX_QRTZ_FT_JG` (`SCHED_NAME`,`JOB_GROUP`), + KEY `IDX_QRTZ_FT_T_G` (`SCHED_NAME`,`TRIGGER_NAME`,`TRIGGER_GROUP`), + KEY `IDX_QRTZ_FT_TG` (`SCHED_NAME`,`TRIGGER_GROUP`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +-- ---------------------------- +-- Records of QRTZ_FIRED_TRIGGERS +-- ---------------------------- + +-- ---------------------------- +-- Table structure for QRTZ_JOB_DETAILS +-- ---------------------------- +DROP TABLE IF EXISTS `QRTZ_JOB_DETAILS`; +CREATE TABLE `QRTZ_JOB_DETAILS` ( + `SCHED_NAME` varchar(120) NOT NULL, + `JOB_NAME` varchar(200) NOT NULL, + `JOB_GROUP` varchar(200) NOT NULL, + `DESCRIPTION` varchar(250) DEFAULT NULL, + `JOB_CLASS_NAME` varchar(250) NOT NULL, + `IS_DURABLE` varchar(1) NOT NULL, + `IS_NONCONCURRENT` varchar(1) NOT NULL, + `IS_UPDATE_DATA` varchar(1) NOT NULL, + `REQUESTS_RECOVERY` varchar(1) NOT NULL, + `JOB_DATA` blob, + PRIMARY KEY (`SCHED_NAME`,`JOB_NAME`,`JOB_GROUP`), + KEY `IDX_QRTZ_J_REQ_RECOVERY` (`SCHED_NAME`,`REQUESTS_RECOVERY`), + KEY `IDX_QRTZ_J_GRP` (`SCHED_NAME`,`JOB_GROUP`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +-- ---------------------------- +-- Records of QRTZ_JOB_DETAILS +-- ---------------------------- + +-- ---------------------------- +-- Table structure for QRTZ_LOCKS +-- ---------------------------- +DROP TABLE IF EXISTS `QRTZ_LOCKS`; +CREATE TABLE `QRTZ_LOCKS` ( + `SCHED_NAME` varchar(120) NOT NULL, + `LOCK_NAME` varchar(40) NOT NULL, + PRIMARY KEY (`SCHED_NAME`,`LOCK_NAME`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +-- ---------------------------- +-- Records of QRTZ_LOCKS +-- ---------------------------- + +-- ---------------------------- +-- Table structure for QRTZ_PAUSED_TRIGGER_GRPS +-- ---------------------------- +DROP TABLE IF EXISTS `QRTZ_PAUSED_TRIGGER_GRPS`; +CREATE TABLE `QRTZ_PAUSED_TRIGGER_GRPS` ( + `SCHED_NAME` varchar(120) NOT NULL, + `TRIGGER_GROUP` varchar(200) NOT NULL, + PRIMARY KEY (`SCHED_NAME`,`TRIGGER_GROUP`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +-- ---------------------------- +-- Records of QRTZ_PAUSED_TRIGGER_GRPS +-- ---------------------------- + +-- ---------------------------- +-- Table structure for QRTZ_SCHEDULER_STATE +-- ---------------------------- +DROP TABLE IF EXISTS `QRTZ_SCHEDULER_STATE`; +CREATE TABLE `QRTZ_SCHEDULER_STATE` ( + `SCHED_NAME` varchar(120) NOT NULL, + `INSTANCE_NAME` varchar(200) NOT NULL, + `LAST_CHECKIN_TIME` bigint(13) NOT NULL, + `CHECKIN_INTERVAL` bigint(13) NOT NULL, + PRIMARY KEY (`SCHED_NAME`,`INSTANCE_NAME`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +-- ---------------------------- +-- Records of QRTZ_SCHEDULER_STATE +-- ---------------------------- + +-- ---------------------------- +-- Table structure for QRTZ_SIMPLE_TRIGGERS +-- ---------------------------- +DROP TABLE IF EXISTS `QRTZ_SIMPLE_TRIGGERS`; +CREATE TABLE `QRTZ_SIMPLE_TRIGGERS` ( + `SCHED_NAME` varchar(120) NOT NULL, + `TRIGGER_NAME` varchar(200) NOT NULL, + `TRIGGER_GROUP` varchar(200) NOT NULL, + `REPEAT_COUNT` bigint(7) NOT NULL, + `REPEAT_INTERVAL` bigint(12) NOT NULL, + `TIMES_TRIGGERED` bigint(10) NOT NULL, + PRIMARY KEY (`SCHED_NAME`,`TRIGGER_NAME`,`TRIGGER_GROUP`), + CONSTRAINT `QRTZ_SIMPLE_TRIGGERS_ibfk_1` FOREIGN KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) REFERENCES `QRTZ_TRIGGERS` (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +-- ---------------------------- +-- Records of QRTZ_SIMPLE_TRIGGERS +-- ---------------------------- + +-- ---------------------------- +-- Table structure for QRTZ_SIMPROP_TRIGGERS +-- ---------------------------- +DROP TABLE IF EXISTS `QRTZ_SIMPROP_TRIGGERS`; +CREATE TABLE `QRTZ_SIMPROP_TRIGGERS` ( + `SCHED_NAME` varchar(120) NOT NULL, + `TRIGGER_NAME` varchar(200) NOT NULL, + `TRIGGER_GROUP` varchar(200) NOT NULL, + `STR_PROP_1` varchar(512) DEFAULT NULL, + `STR_PROP_2` varchar(512) DEFAULT NULL, + `STR_PROP_3` varchar(512) DEFAULT NULL, + `INT_PROP_1` int(11) DEFAULT NULL, + `INT_PROP_2` int(11) DEFAULT NULL, + `LONG_PROP_1` bigint(20) DEFAULT NULL, + `LONG_PROP_2` bigint(20) DEFAULT NULL, + `DEC_PROP_1` decimal(13,4) DEFAULT NULL, + `DEC_PROP_2` decimal(13,4) DEFAULT NULL, + `BOOL_PROP_1` varchar(1) DEFAULT NULL, + `BOOL_PROP_2` varchar(1) DEFAULT NULL, + PRIMARY KEY (`SCHED_NAME`,`TRIGGER_NAME`,`TRIGGER_GROUP`), + CONSTRAINT `QRTZ_SIMPROP_TRIGGERS_ibfk_1` FOREIGN KEY (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) REFERENCES `QRTZ_TRIGGERS` (`SCHED_NAME`, `TRIGGER_NAME`, `TRIGGER_GROUP`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +-- ---------------------------- +-- Records of QRTZ_SIMPROP_TRIGGERS +-- ---------------------------- + +-- ---------------------------- +-- Table structure for QRTZ_TRIGGERS +-- ---------------------------- +DROP TABLE IF EXISTS `QRTZ_TRIGGERS`; +CREATE TABLE `QRTZ_TRIGGERS` ( + `SCHED_NAME` varchar(120) NOT NULL, + `TRIGGER_NAME` varchar(200) NOT NULL, + `TRIGGER_GROUP` varchar(200) NOT NULL, + `JOB_NAME` varchar(200) NOT NULL, + `JOB_GROUP` varchar(200) NOT NULL, + `DESCRIPTION` varchar(250) DEFAULT NULL, + `NEXT_FIRE_TIME` bigint(13) DEFAULT NULL, + `PREV_FIRE_TIME` bigint(13) DEFAULT NULL, + `PRIORITY` int(11) DEFAULT NULL, + `TRIGGER_STATE` varchar(16) NOT NULL, + `TRIGGER_TYPE` varchar(8) NOT NULL, + `START_TIME` bigint(13) NOT NULL, + `END_TIME` bigint(13) DEFAULT NULL, + `CALENDAR_NAME` varchar(200) DEFAULT NULL, + `MISFIRE_INSTR` smallint(2) DEFAULT NULL, + `JOB_DATA` blob, + PRIMARY KEY (`SCHED_NAME`,`TRIGGER_NAME`,`TRIGGER_GROUP`), + KEY `IDX_QRTZ_T_J` (`SCHED_NAME`,`JOB_NAME`,`JOB_GROUP`), + KEY `IDX_QRTZ_T_JG` (`SCHED_NAME`,`JOB_GROUP`), + KEY `IDX_QRTZ_T_C` (`SCHED_NAME`,`CALENDAR_NAME`), + KEY `IDX_QRTZ_T_G` (`SCHED_NAME`,`TRIGGER_GROUP`), + KEY `IDX_QRTZ_T_STATE` (`SCHED_NAME`,`TRIGGER_STATE`), + KEY `IDX_QRTZ_T_N_STATE` (`SCHED_NAME`,`TRIGGER_NAME`,`TRIGGER_GROUP`,`TRIGGER_STATE`), + KEY `IDX_QRTZ_T_N_G_STATE` (`SCHED_NAME`,`TRIGGER_GROUP`,`TRIGGER_STATE`), + KEY `IDX_QRTZ_T_NEXT_FIRE_TIME` (`SCHED_NAME`,`NEXT_FIRE_TIME`), + KEY `IDX_QRTZ_T_NFT_ST` (`SCHED_NAME`,`TRIGGER_STATE`,`NEXT_FIRE_TIME`), + KEY `IDX_QRTZ_T_NFT_MISFIRE` (`SCHED_NAME`,`MISFIRE_INSTR`,`NEXT_FIRE_TIME`), + KEY `IDX_QRTZ_T_NFT_ST_MISFIRE` (`SCHED_NAME`,`MISFIRE_INSTR`,`NEXT_FIRE_TIME`,`TRIGGER_STATE`), + KEY `IDX_QRTZ_T_NFT_ST_MISFIRE_GRP` (`SCHED_NAME`,`MISFIRE_INSTR`,`NEXT_FIRE_TIME`,`TRIGGER_GROUP`,`TRIGGER_STATE`), + CONSTRAINT `QRTZ_TRIGGERS_ibfk_1` FOREIGN KEY (`SCHED_NAME`, `JOB_NAME`, `JOB_GROUP`) REFERENCES `QRTZ_JOB_DETAILS` (`SCHED_NAME`, `JOB_NAME`, `JOB_GROUP`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +-- ---------------------------- +-- Records of QRTZ_TRIGGERS +-- ---------------------------- + +-- ---------------------------- +-- Table structure for t_ds_access_token +-- ---------------------------- +DROP TABLE IF EXISTS `t_ds_access_token`; +CREATE TABLE `t_ds_access_token` ( + `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'key', + `user_id` int(11) DEFAULT NULL COMMENT 'user id', + `token` varchar(64) DEFAULT NULL COMMENT 'token', + `expire_time` datetime DEFAULT NULL COMMENT 'end time of token ', + `create_time` datetime DEFAULT NULL COMMENT 'create time', + `update_time` datetime DEFAULT NULL COMMENT 'update time', + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8; + +-- ---------------------------- +-- Records of t_ds_access_token +-- ---------------------------- + +-- ---------------------------- +-- Table structure for t_ds_alert +-- ---------------------------- +DROP TABLE IF EXISTS `t_ds_alert`; +CREATE TABLE `t_ds_alert` ( + `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'key', + `title` varchar(64) DEFAULT NULL COMMENT 'title', + `sign` char(40) NOT NULL DEFAULT '' COMMENT 'sign=sha1(content)', + `content` text COMMENT 'Message content (can be email, can be SMS. Mail is stored in JSON map, and SMS is string)', + `alert_status` tinyint(4) DEFAULT '0' COMMENT '0:wait running,1:success,2:failed', + `warning_type` tinyint(4) DEFAULT '2' COMMENT '1 process is successfully, 2 process/task is failed', + `log` text COMMENT 'log', + `alertgroup_id` int(11) DEFAULT NULL COMMENT 'alert group id', + `create_time` datetime DEFAULT NULL COMMENT 'create time', + `update_time` datetime DEFAULT NULL COMMENT 'update time', + `project_code` bigint(20) DEFAULT NULL COMMENT 'project_code', + `process_definition_code` bigint(20) DEFAULT NULL COMMENT 'process_definition_code', + `process_instance_id` int(11) DEFAULT NULL COMMENT 'process_instance_id', + `alert_type` int(11) DEFAULT NULL COMMENT 'alert_type', + PRIMARY KEY (`id`), + KEY `idx_status` (`alert_status`) USING BTREE, + KEY `idx_sign` (`sign`) USING BTREE +) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8; + +-- ---------------------------- +-- Records of t_ds_alert +-- ---------------------------- + +-- ---------------------------- +-- Table structure for t_ds_alertgroup +-- ---------------------------- +DROP TABLE IF EXISTS `t_ds_alertgroup`; +CREATE TABLE `t_ds_alertgroup`( + `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'key', + `alert_instance_ids` varchar (255) DEFAULT NULL COMMENT 'alert instance ids', + `create_user_id` int(11) DEFAULT NULL COMMENT 'create user id', + `group_name` varchar(255) DEFAULT NULL COMMENT 'group name', + `description` varchar(255) DEFAULT NULL, + `create_time` datetime DEFAULT NULL COMMENT 'create time', + `update_time` datetime DEFAULT NULL COMMENT 'update time', + PRIMARY KEY (`id`), + UNIQUE KEY `t_ds_alertgroup_name_un` (`group_name`) +) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8; + +-- ---------------------------- +-- Records of t_ds_alertgroup +-- ---------------------------- + +-- ---------------------------- +-- Table structure for t_ds_command +-- ---------------------------- +DROP TABLE IF EXISTS `t_ds_command`; +CREATE TABLE `t_ds_command` ( + `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'key', + `command_type` tinyint(4) DEFAULT NULL COMMENT 'Command type: 0 start workflow, 1 start execution from current node, 2 resume fault-tolerant workflow, 3 resume pause process, 4 start execution from failed node, 5 complement, 6 schedule, 7 rerun, 8 pause, 9 stop, 10 resume waiting thread', + `process_definition_code` bigint(20) NOT NULL COMMENT 'process definition code', + `process_definition_version` int(11) DEFAULT '0' COMMENT 'process definition version', + `process_instance_id` int(11) DEFAULT '0' COMMENT 'process instance id', + `command_param` text COMMENT 'json command parameters', + `task_depend_type` tinyint(4) DEFAULT NULL COMMENT 'Node dependency type: 0 current node, 1 forward, 2 backward', + `failure_strategy` tinyint(4) DEFAULT '0' COMMENT 'Failed policy: 0 end, 1 continue', + `warning_type` tinyint(4) DEFAULT '0' COMMENT 'Alarm type: 0 is not sent, 1 process is sent successfully, 2 process is sent failed, 3 process is sent successfully and all failures are sent', + `warning_group_id` int(11) DEFAULT NULL COMMENT 'warning group', + `schedule_time` datetime DEFAULT NULL COMMENT 'schedule time', + `start_time` datetime DEFAULT NULL COMMENT 'start time', + `executor_id` int(11) DEFAULT NULL COMMENT 'executor id', + `update_time` datetime DEFAULT NULL COMMENT 'update time', + `process_instance_priority` int(11) DEFAULT NULL COMMENT 'process instance priority: 0 Highest,1 High,2 Medium,3 Low,4 Lowest', + `worker_group` varchar(64) COMMENT 'worker group', + `environment_code` bigint(20) DEFAULT '-1' COMMENT 'environment code', + `dry_run` tinyint(4) DEFAULT '0' COMMENT 'dry run flag:0 normal, 1 dry run', + PRIMARY KEY (`id`), + KEY `priority_id_index` (`process_instance_priority`,`id`) USING BTREE +) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8; + +-- ---------------------------- +-- Records of t_ds_command +-- ---------------------------- + +-- ---------------------------- +-- Table structure for t_ds_datasource +-- ---------------------------- +DROP TABLE IF EXISTS `t_ds_datasource`; +CREATE TABLE `t_ds_datasource` ( + `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'key', + `name` varchar(64) NOT NULL COMMENT 'data source name', + `note` varchar(255) DEFAULT NULL COMMENT 'description', + `type` tinyint(4) NOT NULL COMMENT 'data source type: 0:mysql,1:postgresql,2:hive,3:spark', + `user_id` int(11) NOT NULL COMMENT 'the creator id', + `connection_params` text NOT NULL COMMENT 'json connection params', + `create_time` datetime NOT NULL COMMENT 'create time', + `update_time` datetime DEFAULT NULL COMMENT 'update time', + PRIMARY KEY (`id`), + UNIQUE KEY `t_ds_datasource_name_un` (`name`, `type`) +) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8; + +-- ---------------------------- +-- Records of t_ds_datasource +-- ---------------------------- + +-- ---------------------------- +-- Table structure for t_ds_error_command +-- ---------------------------- +DROP TABLE IF EXISTS `t_ds_error_command`; +CREATE TABLE `t_ds_error_command` ( + `id` int(11) NOT NULL COMMENT 'key', + `command_type` tinyint(4) DEFAULT NULL COMMENT 'command type', + `executor_id` int(11) DEFAULT NULL COMMENT 'executor id', + `process_definition_code` bigint(20) NOT NULL COMMENT 'process definition code', + `process_definition_version` int(11) DEFAULT '0' COMMENT 'process definition version', + `process_instance_id` int(11) DEFAULT '0' COMMENT 'process instance id: 0', + `command_param` text COMMENT 'json command parameters', + `task_depend_type` tinyint(4) DEFAULT NULL COMMENT 'task depend type', + `failure_strategy` tinyint(4) DEFAULT '0' COMMENT 'failure strategy', + `warning_type` tinyint(4) DEFAULT '0' COMMENT 'warning type', + `warning_group_id` int(11) DEFAULT NULL COMMENT 'warning group id', + `schedule_time` datetime DEFAULT NULL COMMENT 'scheduler time', + `start_time` datetime DEFAULT NULL COMMENT 'start time', + `update_time` datetime DEFAULT NULL COMMENT 'update time', + `process_instance_priority` int(11) DEFAULT NULL COMMENT 'process instance priority, 0 Highest,1 High,2 Medium,3 Low,4 Lowest', + `worker_group` varchar(64) COMMENT 'worker group', + `environment_code` bigint(20) DEFAULT '-1' COMMENT 'environment code', + `message` text COMMENT 'message', + `dry_run` tinyint(4) DEFAULT '0' COMMENT 'dry run flag: 0 normal, 1 dry run', + PRIMARY KEY (`id`) USING BTREE +) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC; + +-- ---------------------------- +-- Records of t_ds_error_command +-- ---------------------------- + +-- ---------------------------- +-- Table structure for t_ds_process_definition +-- ---------------------------- +DROP TABLE IF EXISTS `t_ds_process_definition`; +CREATE TABLE `t_ds_process_definition` ( + `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'self-increasing id', + `code` bigint(20) NOT NULL COMMENT 'encoding', + `name` varchar(255) DEFAULT NULL COMMENT 'process definition name', + `version` int(11) DEFAULT '0' COMMENT 'process definition version', + `description` text COMMENT 'description', + `project_code` bigint(20) NOT NULL COMMENT 'project code', + `release_state` tinyint(4) DEFAULT NULL COMMENT 'process definition release state:0:offline,1:online', + `user_id` int(11) DEFAULT NULL COMMENT 'process definition creator id', + `global_params` text COMMENT 'global parameters', + `flag` tinyint(4) DEFAULT NULL COMMENT '0 not available, 1 available', + `locations` text COMMENT 'Node location information', + `warning_group_id` int(11) DEFAULT NULL COMMENT 'alert group id', + `timeout` int(11) DEFAULT '0' COMMENT 'time out, unit: minute', + `tenant_id` int(11) NOT NULL DEFAULT '-1' COMMENT 'tenant id', + `execution_type` tinyint(4) DEFAULT '0' COMMENT 'execution_type 0:parallel,1:serial wait,2:serial discard,3:serial priority', + `create_time` datetime NOT NULL COMMENT 'create time', + `update_time` datetime NOT NULL COMMENT 'update time', + PRIMARY KEY (`id`,`code`), + UNIQUE KEY `process_unique` (`name`,`project_code`) USING BTREE +) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8; + +-- ---------------------------- +-- Records of t_ds_process_definition +-- ---------------------------- + +-- ---------------------------- +-- Table structure for t_ds_process_definition_log +-- ---------------------------- +DROP TABLE IF EXISTS `t_ds_process_definition_log`; +CREATE TABLE `t_ds_process_definition_log` ( + `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'self-increasing id', + `code` bigint(20) NOT NULL COMMENT 'encoding', + `name` varchar(200) DEFAULT NULL COMMENT 'process definition name', + `version` int(11) DEFAULT '0' COMMENT 'process definition version', + `description` text COMMENT 'description', + `project_code` bigint(20) NOT NULL COMMENT 'project code', + `release_state` tinyint(4) DEFAULT NULL COMMENT 'process definition release state:0:offline,1:online', + `user_id` int(11) DEFAULT NULL COMMENT 'process definition creator id', + `global_params` text COMMENT 'global parameters', + `flag` tinyint(4) DEFAULT NULL COMMENT '0 not available, 1 available', + `locations` text COMMENT 'Node location information', + `warning_group_id` int(11) DEFAULT NULL COMMENT 'alert group id', + `timeout` int(11) DEFAULT '0' COMMENT 'time out,unit: minute', + `tenant_id` int(11) NOT NULL DEFAULT '-1' COMMENT 'tenant id', + `execution_type` tinyint(4) DEFAULT '0' COMMENT 'execution_type 0:parallel,1:serial wait,2:serial discard,3:serial priority', + `operator` int(11) DEFAULT NULL COMMENT 'operator user id', + `operate_time` datetime DEFAULT NULL COMMENT 'operate time', + `create_time` datetime NOT NULL COMMENT 'create time', + `update_time` datetime NOT NULL COMMENT 'update time', + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8; + +-- ---------------------------- +-- Table structure for t_ds_task_definition +-- ---------------------------- +DROP TABLE IF EXISTS `t_ds_task_definition`; +CREATE TABLE `t_ds_task_definition` ( + `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'self-increasing id', + `code` bigint(20) NOT NULL COMMENT 'encoding', + `name` varchar(200) DEFAULT NULL COMMENT 'task definition name', + `version` int(11) DEFAULT '0' COMMENT 'task definition version', + `description` text COMMENT 'description', + `project_code` bigint(20) NOT NULL COMMENT 'project code', + `user_id` int(11) DEFAULT NULL COMMENT 'task definition creator id', + `task_type` varchar(50) NOT NULL COMMENT 'task type', + `task_params` longtext COMMENT 'job custom parameters', + `flag` tinyint(2) DEFAULT NULL COMMENT '0 not available, 1 available', + `task_priority` tinyint(4) DEFAULT NULL COMMENT 'job priority', + `worker_group` varchar(200) DEFAULT NULL COMMENT 'worker grouping', + `environment_code` bigint(20) DEFAULT '-1' COMMENT 'environment code', + `fail_retry_times` int(11) DEFAULT NULL COMMENT 'number of failed retries', + `fail_retry_interval` int(11) DEFAULT NULL COMMENT 'failed retry interval', + `timeout_flag` tinyint(2) DEFAULT '0' COMMENT 'timeout flag:0 close, 1 open', + `timeout_notify_strategy` tinyint(4) DEFAULT NULL COMMENT 'timeout notification policy: 0 warning, 1 fail', + `timeout` int(11) DEFAULT '0' COMMENT 'timeout length,unit: minute', + `delay_time` int(11) DEFAULT '0' COMMENT 'delay execution time,unit: minute', + `resource_ids` text COMMENT 'resource id, separated by comma', + `task_group_id` int(11) DEFAULT NULL COMMENT 'task group id', + `task_group_priority` tinyint(4) DEFAULT '0' COMMENT 'task group priority', + `create_time` datetime NOT NULL COMMENT 'create time', + `update_time` datetime NOT NULL COMMENT 'update time', + PRIMARY KEY (`id`,`code`) +) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8; + +-- ---------------------------- +-- Table structure for t_ds_task_definition_log +-- ---------------------------- +DROP TABLE IF EXISTS `t_ds_task_definition_log`; +CREATE TABLE `t_ds_task_definition_log` ( + `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'self-increasing id', + `code` bigint(20) NOT NULL COMMENT 'encoding', + `name` varchar(200) DEFAULT NULL COMMENT 'task definition name', + `version` int(11) DEFAULT '0' COMMENT 'task definition version', + `description` text COMMENT 'description', + `project_code` bigint(20) NOT NULL COMMENT 'project code', + `user_id` int(11) DEFAULT NULL COMMENT 'task definition creator id', + `task_type` varchar(50) NOT NULL COMMENT 'task type', + `task_params` longtext COMMENT 'job custom parameters', + `flag` tinyint(2) DEFAULT NULL COMMENT '0 not available, 1 available', + `task_priority` tinyint(4) DEFAULT NULL COMMENT 'job priority', + `worker_group` varchar(200) DEFAULT NULL COMMENT 'worker grouping', + `environment_code` bigint(20) DEFAULT '-1' COMMENT 'environment code', + `fail_retry_times` int(11) DEFAULT NULL COMMENT 'number of failed retries', + `fail_retry_interval` int(11) DEFAULT NULL COMMENT 'failed retry interval', + `timeout_flag` tinyint(2) DEFAULT '0' COMMENT 'timeout flag:0 close, 1 open', + `timeout_notify_strategy` tinyint(4) DEFAULT NULL COMMENT 'timeout notification policy: 0 warning, 1 fail', + `timeout` int(11) DEFAULT '0' COMMENT 'timeout length,unit: minute', + `delay_time` int(11) DEFAULT '0' COMMENT 'delay execution time,unit: minute', + `resource_ids` text DEFAULT NULL COMMENT 'resource id, separated by comma', + `operator` int(11) DEFAULT NULL COMMENT 'operator user id', + `task_group_id` int(11) DEFAULT NULL COMMENT 'task group id', + `task_group_priority` tinyint(4) DEFAULT 0 COMMENT 'task group priority', + `operate_time` datetime DEFAULT NULL COMMENT 'operate time', + `create_time` datetime NOT NULL COMMENT 'create time', + `update_time` datetime NOT NULL COMMENT 'update time', + PRIMARY KEY (`id`), + KEY `idx_code_version` (`code`,`version`), + KEY `idx_project_code` (`project_code`) +) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8; + +-- ---------------------------- +-- Table structure for t_ds_process_task_relation +-- ---------------------------- +DROP TABLE IF EXISTS `t_ds_process_task_relation`; +CREATE TABLE `t_ds_process_task_relation` ( + `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'self-increasing id', + `name` varchar(200) DEFAULT NULL COMMENT 'relation name', + `project_code` bigint(20) NOT NULL COMMENT 'project code', + `process_definition_code` bigint(20) NOT NULL COMMENT 'process code', + `process_definition_version` int(11) NOT NULL COMMENT 'process version', + `pre_task_code` bigint(20) NOT NULL COMMENT 'pre task code', + `pre_task_version` int(11) NOT NULL COMMENT 'pre task version', + `post_task_code` bigint(20) NOT NULL COMMENT 'post task code', + `post_task_version` int(11) NOT NULL COMMENT 'post task version', + `condition_type` tinyint(2) DEFAULT NULL COMMENT 'condition type : 0 none, 1 judge 2 delay', + `condition_params` text COMMENT 'condition params(json)', + `create_time` datetime NOT NULL COMMENT 'create time', + `update_time` datetime NOT NULL COMMENT 'update time', + PRIMARY KEY (`id`), + KEY `idx_code` (`project_code`,`process_definition_code`), + KEY `idx_pre_task_code_version` (`pre_task_code`,`pre_task_version`), + KEY `idx_post_task_code_version` (`post_task_code`,`post_task_version`) +) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8; + +-- ---------------------------- +-- Table structure for t_ds_process_task_relation_log +-- ---------------------------- +DROP TABLE IF EXISTS `t_ds_process_task_relation_log`; +CREATE TABLE `t_ds_process_task_relation_log` ( + `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'self-increasing id', + `name` varchar(200) DEFAULT NULL COMMENT 'relation name', + `project_code` bigint(20) NOT NULL COMMENT 'project code', + `process_definition_code` bigint(20) NOT NULL COMMENT 'process code', + `process_definition_version` int(11) NOT NULL COMMENT 'process version', + `pre_task_code` bigint(20) NOT NULL COMMENT 'pre task code', + `pre_task_version` int(11) NOT NULL COMMENT 'pre task version', + `post_task_code` bigint(20) NOT NULL COMMENT 'post task code', + `post_task_version` int(11) NOT NULL COMMENT 'post task version', + `condition_type` tinyint(2) DEFAULT NULL COMMENT 'condition type : 0 none, 1 judge 2 delay', + `condition_params` text COMMENT 'condition params(json)', + `operator` int(11) DEFAULT NULL COMMENT 'operator user id', + `operate_time` datetime DEFAULT NULL COMMENT 'operate time', + `create_time` datetime NOT NULL COMMENT 'create time', + `update_time` datetime NOT NULL COMMENT 'update time', + PRIMARY KEY (`id`), + KEY `idx_process_code_version` (`process_definition_code`,`process_definition_version`) +) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8; + +-- ---------------------------- +-- Table structure for t_ds_process_instance +-- ---------------------------- +DROP TABLE IF EXISTS `t_ds_process_instance`; +CREATE TABLE `t_ds_process_instance` ( + `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'key', + `name` varchar(255) DEFAULT NULL COMMENT 'process instance name', + `process_definition_code` bigint(20) NOT NULL COMMENT 'process definition code', + `process_definition_version` int(11) DEFAULT '0' COMMENT 'process definition version', + `state` tinyint(4) DEFAULT NULL COMMENT 'process instance Status: 0 commit succeeded, 1 running, 2 prepare to pause, 3 pause, 4 prepare to stop, 5 stop, 6 fail, 7 succeed, 8 need fault tolerance, 9 kill, 10 wait for thread, 11 wait for dependency to complete', + `recovery` tinyint(4) DEFAULT NULL COMMENT 'process instance failover flag:0:normal,1:failover instance', + `start_time` datetime DEFAULT NULL COMMENT 'process instance start time', + `end_time` datetime DEFAULT NULL COMMENT 'process instance end time', + `run_times` int(11) DEFAULT NULL COMMENT 'process instance run times', + `host` varchar(135) DEFAULT NULL COMMENT 'process instance host', + `command_type` tinyint(4) DEFAULT NULL COMMENT 'command type', + `command_param` text COMMENT 'json command parameters', + `task_depend_type` tinyint(4) DEFAULT NULL COMMENT 'task depend type. 0: only current node,1:before the node,2:later nodes', + `max_try_times` tinyint(4) DEFAULT '0' COMMENT 'max try times', + `failure_strategy` tinyint(4) DEFAULT '0' COMMENT 'failure strategy. 0:end the process when node failed,1:continue running the other nodes when node failed', + `warning_type` tinyint(4) DEFAULT '0' COMMENT 'warning type. 0:no warning,1:warning if process success,2:warning if process failed,3:warning if success', + `warning_group_id` int(11) DEFAULT NULL COMMENT 'warning group id', + `schedule_time` datetime DEFAULT NULL COMMENT 'schedule time', + `command_start_time` datetime DEFAULT NULL COMMENT 'command start time', + `global_params` text COMMENT 'global parameters', + `flag` tinyint(4) DEFAULT '1' COMMENT 'flag', + `update_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `is_sub_process` int(11) DEFAULT '0' COMMENT 'flag, whether the process is sub process', + `executor_id` int(11) NOT NULL COMMENT 'executor id', + `history_cmd` text COMMENT 'history commands of process instance operation', + `process_instance_priority` int(11) DEFAULT NULL COMMENT 'process instance priority. 0 Highest,1 High,2 Medium,3 Low,4 Lowest', + `worker_group` varchar(64) DEFAULT NULL COMMENT 'worker group id', + `environment_code` bigint(20) DEFAULT '-1' COMMENT 'environment code', + `timeout` int(11) DEFAULT '0' COMMENT 'time out', + `tenant_id` int(11) NOT NULL DEFAULT '-1' COMMENT 'tenant id', + `var_pool` longtext COMMENT 'var_pool', + `dry_run` tinyint(4) DEFAULT '0' COMMENT 'dry run flag:0 normal, 1 dry run', + `next_process_instance_id` int(11) DEFAULT '0' COMMENT 'serial queue next processInstanceId', + `restart_time` datetime DEFAULT NULL COMMENT 'process instance restart time', + PRIMARY KEY (`id`), + KEY `process_instance_index` (`process_definition_code`,`id`) USING BTREE, + KEY `start_time_index` (`start_time`,`end_time`) USING BTREE +) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8; + +-- ---------------------------- +-- Records of t_ds_process_instance +-- ---------------------------- + +-- ---------------------------- +-- Table structure for t_ds_project +-- ---------------------------- +DROP TABLE IF EXISTS `t_ds_project`; +CREATE TABLE `t_ds_project` ( + `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'key', + `name` varchar(100) DEFAULT NULL COMMENT 'project name', + `code` bigint(20) NOT NULL COMMENT 'encoding', + `description` varchar(200) DEFAULT NULL, + `user_id` int(11) DEFAULT NULL COMMENT 'creator id', + `flag` tinyint(4) DEFAULT '1' COMMENT '0 not available, 1 available', + `create_time` datetime NOT NULL COMMENT 'create time', + `update_time` datetime DEFAULT NULL COMMENT 'update time', + PRIMARY KEY (`id`), + KEY `user_id_index` (`user_id`) USING BTREE, + UNIQUE KEY `unique_name`(`name`), + UNIQUE KEY `unique_code`(`code`) +) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8; + +-- ---------------------------- +-- Records of t_ds_project +-- ---------------------------- + +-- ---------------------------- +-- Table structure for t_ds_queue +-- ---------------------------- +DROP TABLE IF EXISTS `t_ds_queue`; +CREATE TABLE `t_ds_queue` ( + `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'key', + `queue_name` varchar(64) DEFAULT NULL COMMENT 'queue name', + `queue` varchar(64) DEFAULT NULL COMMENT 'yarn queue name', + `create_time` datetime DEFAULT NULL COMMENT 'create time', + `update_time` datetime DEFAULT NULL COMMENT 'update time', + PRIMARY KEY (`id`), + UNIQUE KEY `unique_queue_name`(`queue_name`) +) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8; + +-- ---------------------------- +-- Records of t_ds_queue +-- ---------------------------- +INSERT INTO `t_ds_queue` VALUES ('1', 'default', 'default', null, null); + +-- ---------------------------- +-- Table structure for t_ds_relation_datasource_user +-- ---------------------------- +DROP TABLE IF EXISTS `t_ds_relation_datasource_user`; +CREATE TABLE `t_ds_relation_datasource_user` ( + `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'key', + `user_id` int(11) NOT NULL COMMENT 'user id', + `datasource_id` int(11) DEFAULT NULL COMMENT 'data source id', + `perm` int(11) DEFAULT '1' COMMENT 'limits of authority', + `create_time` datetime DEFAULT NULL COMMENT 'create time', + `update_time` datetime DEFAULT NULL COMMENT 'update time', + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8; + +-- ---------------------------- +-- Records of t_ds_relation_datasource_user +-- ---------------------------- + +-- ---------------------------- +-- Table structure for t_ds_relation_process_instance +-- ---------------------------- +DROP TABLE IF EXISTS `t_ds_relation_process_instance`; +CREATE TABLE `t_ds_relation_process_instance` ( + `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'key', + `parent_process_instance_id` int(11) DEFAULT NULL COMMENT 'parent process instance id', + `parent_task_instance_id` int(11) DEFAULT NULL COMMENT 'parent process instance id', + `process_instance_id` int(11) DEFAULT NULL COMMENT 'child process instance id', + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8; + +-- ---------------------------- +-- Records of t_ds_relation_process_instance +-- ---------------------------- + +-- ---------------------------- +-- Table structure for t_ds_relation_project_user +-- ---------------------------- +DROP TABLE IF EXISTS `t_ds_relation_project_user`; +CREATE TABLE `t_ds_relation_project_user` ( + `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'key', + `user_id` int(11) NOT NULL COMMENT 'user id', + `project_id` int(11) DEFAULT NULL COMMENT 'project id', + `perm` int(11) DEFAULT '1' COMMENT 'limits of authority', + `create_time` datetime DEFAULT NULL COMMENT 'create time', + `update_time` datetime DEFAULT NULL COMMENT 'update time', + PRIMARY KEY (`id`), + UNIQUE KEY uniq_uid_pid(user_id,project_id) +) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8; + +-- ---------------------------- +-- Records of t_ds_relation_project_user +-- ---------------------------- + +-- ---------------------------- +-- Table structure for t_ds_relation_resources_user +-- ---------------------------- +DROP TABLE IF EXISTS `t_ds_relation_resources_user`; +CREATE TABLE `t_ds_relation_resources_user` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `user_id` int(11) NOT NULL COMMENT 'user id', + `resources_id` int(11) DEFAULT NULL COMMENT 'resource id', + `perm` int(11) DEFAULT '1' COMMENT 'limits of authority', + `create_time` datetime DEFAULT NULL COMMENT 'create time', + `update_time` datetime DEFAULT NULL COMMENT 'update time', + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8; + +-- ---------------------------- +-- Records of t_ds_relation_resources_user +-- ---------------------------- + +-- ---------------------------- +-- Table structure for t_ds_relation_udfs_user +-- ---------------------------- +DROP TABLE IF EXISTS `t_ds_relation_udfs_user`; +CREATE TABLE `t_ds_relation_udfs_user` ( + `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'key', + `user_id` int(11) NOT NULL COMMENT 'userid', + `udf_id` int(11) DEFAULT NULL COMMENT 'udf id', + `perm` int(11) DEFAULT '1' COMMENT 'limits of authority', + `create_time` datetime DEFAULT NULL COMMENT 'create time', + `update_time` datetime DEFAULT NULL COMMENT 'update time', + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8; + +-- ---------------------------- +-- Table structure for t_ds_resources +-- ---------------------------- +DROP TABLE IF EXISTS `t_ds_resources`; +CREATE TABLE `t_ds_resources` ( + `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'key', + `alias` varchar(64) DEFAULT NULL COMMENT 'alias', + `file_name` varchar(64) DEFAULT NULL COMMENT 'file name', + `description` varchar(255) DEFAULT NULL, + `user_id` int(11) DEFAULT NULL COMMENT 'user id', + `type` tinyint(4) DEFAULT NULL COMMENT 'resource type,0:FILE,1:UDF', + `size` bigint(20) DEFAULT NULL COMMENT 'resource size', + `create_time` datetime DEFAULT NULL COMMENT 'create time', + `update_time` datetime DEFAULT NULL COMMENT 'update time', + `pid` int(11) DEFAULT NULL, + `full_name` varchar(128) DEFAULT NULL, + `is_directory` tinyint(4) DEFAULT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `t_ds_resources_un` (`full_name`,`type`) +) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8; + +-- ---------------------------- +-- Records of t_ds_resources +-- ---------------------------- + +-- ---------------------------- +-- Table structure for t_ds_schedules +-- ---------------------------- +DROP TABLE IF EXISTS `t_ds_schedules`; +CREATE TABLE `t_ds_schedules` ( + `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'key', + `process_definition_code` bigint(20) NOT NULL COMMENT 'process definition code', + `start_time` datetime NOT NULL COMMENT 'start time', + `end_time` datetime NOT NULL COMMENT 'end time', + `timezone_id` varchar(40) DEFAULT NULL COMMENT 'schedule timezone id', + `crontab` varchar(255) NOT NULL COMMENT 'crontab description', + `failure_strategy` tinyint(4) NOT NULL COMMENT 'failure strategy. 0:end,1:continue', + `user_id` int(11) NOT NULL COMMENT 'user id', + `release_state` tinyint(4) NOT NULL COMMENT 'release state. 0:offline,1:online ', + `warning_type` tinyint(4) NOT NULL COMMENT 'Alarm type: 0 is not sent, 1 process is sent successfully, 2 process is sent failed, 3 process is sent successfully and all failures are sent', + `warning_group_id` int(11) DEFAULT NULL COMMENT 'alert group id', + `process_instance_priority` int(11) DEFAULT NULL COMMENT 'process instance priority:0 Highest,1 High,2 Medium,3 Low,4 Lowest', + `worker_group` varchar(64) DEFAULT '' COMMENT 'worker group id', + `environment_code` bigint(20) DEFAULT '-1' COMMENT 'environment code', + `create_time` datetime NOT NULL COMMENT 'create time', + `update_time` datetime NOT NULL COMMENT 'update time', + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8; + +-- ---------------------------- +-- Records of t_ds_schedules +-- ---------------------------- + +-- ---------------------------- +-- Table structure for t_ds_session +-- ---------------------------- +DROP TABLE IF EXISTS `t_ds_session`; +CREATE TABLE `t_ds_session` ( + `id` varchar(64) NOT NULL COMMENT 'key', + `user_id` int(11) DEFAULT NULL COMMENT 'user id', + `ip` varchar(45) DEFAULT NULL COMMENT 'ip', + `last_login_time` datetime DEFAULT NULL COMMENT 'last login time', + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +-- ---------------------------- +-- Records of t_ds_session +-- ---------------------------- + +-- ---------------------------- +-- Table structure for t_ds_task_instance +-- ---------------------------- +DROP TABLE IF EXISTS `t_ds_task_instance`; +CREATE TABLE `t_ds_task_instance` ( + `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'key', + `name` varchar(255) DEFAULT NULL COMMENT 'task name', + `task_type` varchar(50) NOT NULL COMMENT 'task type', + `task_code` bigint(20) NOT NULL COMMENT 'task definition code', + `task_definition_version` int(11) DEFAULT '0' COMMENT 'task definition version', + `process_instance_id` int(11) DEFAULT NULL COMMENT 'process instance id', + `state` tinyint(4) DEFAULT NULL COMMENT 'Status: 0 commit succeeded, 1 running, 2 prepare to pause, 3 pause, 4 prepare to stop, 5 stop, 6 fail, 7 succeed, 8 need fault tolerance, 9 kill, 10 wait for thread, 11 wait for dependency to complete', + `submit_time` datetime DEFAULT NULL COMMENT 'task submit time', + `start_time` datetime DEFAULT NULL COMMENT 'task start time', + `end_time` datetime DEFAULT NULL COMMENT 'task end time', + `host` varchar(135) DEFAULT NULL COMMENT 'host of task running on', + `execute_path` varchar(200) DEFAULT NULL COMMENT 'task execute path in the host', + `log_path` longtext DEFAULT NULL COMMENT 'task log path', + `alert_flag` tinyint(4) DEFAULT NULL COMMENT 'whether alert', + `retry_times` int(4) DEFAULT '0' COMMENT 'task retry times', + `pid` int(4) DEFAULT NULL COMMENT 'pid of task', + `app_link` text COMMENT 'yarn app id', + `task_params` longtext COMMENT 'job custom parameters', + `flag` tinyint(4) DEFAULT '1' COMMENT '0 not available, 1 available', + `retry_interval` int(4) DEFAULT NULL COMMENT 'retry interval when task failed ', + `max_retry_times` int(2) DEFAULT NULL COMMENT 'max retry times', + `task_instance_priority` int(11) DEFAULT NULL COMMENT 'task instance priority:0 Highest,1 High,2 Medium,3 Low,4 Lowest', + `worker_group` varchar(64) DEFAULT NULL COMMENT 'worker group id', + `environment_code` bigint(20) DEFAULT '-1' COMMENT 'environment code', + `environment_config` text COMMENT 'this config contains many environment variables config', + `executor_id` int(11) DEFAULT NULL, + `first_submit_time` datetime DEFAULT NULL COMMENT 'task first submit time', + `delay_time` int(4) DEFAULT '0' COMMENT 'task delay execution time', + `var_pool` longtext COMMENT 'var_pool', + `task_group_id` int(11) DEFAULT NULL COMMENT 'task group id', + `dry_run` tinyint(4) DEFAULT '0' COMMENT 'dry run flag: 0 normal, 1 dry run', + PRIMARY KEY (`id`), + KEY `process_instance_id` (`process_instance_id`) USING BTREE, + KEY `idx_code_version` (`task_code`, `task_definition_version`) USING BTREE, + CONSTRAINT `foreign_key_instance_id` FOREIGN KEY (`process_instance_id`) REFERENCES `t_ds_process_instance` (`id`) ON DELETE CASCADE +) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8; + +-- ---------------------------- +-- Records of t_ds_task_instance +-- ---------------------------- + +-- ---------------------------- +-- Table structure for t_ds_tenant +-- ---------------------------- +DROP TABLE IF EXISTS `t_ds_tenant`; +CREATE TABLE `t_ds_tenant` ( + `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'key', + `tenant_code` varchar(64) DEFAULT NULL COMMENT 'tenant code', + `description` varchar(255) DEFAULT NULL, + `queue_id` int(11) DEFAULT NULL COMMENT 'queue id', + `create_time` datetime DEFAULT NULL COMMENT 'create time', + `update_time` datetime DEFAULT NULL COMMENT 'update time', + PRIMARY KEY (`id`), + UNIQUE KEY `unique_tenant_code`(`tenant_code`) +) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8; + +-- ---------------------------- +-- Records of t_ds_tenant +-- ---------------------------- + +-- ---------------------------- +-- Table structure for t_ds_udfs +-- ---------------------------- +DROP TABLE IF EXISTS `t_ds_udfs`; +CREATE TABLE `t_ds_udfs` ( + `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'key', + `user_id` int(11) NOT NULL COMMENT 'user id', + `func_name` varchar(100) NOT NULL COMMENT 'UDF function name', + `class_name` varchar(255) NOT NULL COMMENT 'class of udf', + `type` tinyint(4) NOT NULL COMMENT 'Udf function type', + `arg_types` varchar(255) DEFAULT NULL COMMENT 'arguments types', + `database` varchar(255) DEFAULT NULL COMMENT 'data base', + `description` varchar(255) DEFAULT NULL, + `resource_id` int(11) NOT NULL COMMENT 'resource id', + `resource_name` varchar(255) NOT NULL COMMENT 'resource name', + `create_time` datetime NOT NULL COMMENT 'create time', + `update_time` datetime NOT NULL COMMENT 'update time', + PRIMARY KEY (`id`), + UNIQUE KEY `unique_func_name`(`func_name`) +) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8; + +-- ---------------------------- +-- Records of t_ds_udfs +-- ---------------------------- + +-- ---------------------------- +-- Table structure for t_ds_user +-- ---------------------------- +DROP TABLE IF EXISTS `t_ds_user`; +CREATE TABLE `t_ds_user` ( + `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'user id', + `user_name` varchar(64) DEFAULT NULL COMMENT 'user name', + `user_password` varchar(64) DEFAULT NULL COMMENT 'user password', + `user_type` tinyint(4) DEFAULT NULL COMMENT 'user type, 0:administrator,1:ordinary user', + `email` varchar(64) DEFAULT NULL COMMENT 'email', + `phone` varchar(11) DEFAULT NULL COMMENT 'phone', + `tenant_id` int(11) DEFAULT NULL COMMENT 'tenant id', + `create_time` datetime DEFAULT NULL COMMENT 'create time', + `update_time` datetime DEFAULT NULL COMMENT 'update time', + `queue` varchar(64) DEFAULT NULL COMMENT 'queue', + `state` tinyint(4) DEFAULT '1' COMMENT 'state 0:disable 1:enable', + `time_zone` varchar(32) DEFAULT NULL COMMENT 'time zone', + PRIMARY KEY (`id`), + UNIQUE KEY `user_name_unique` (`user_name`) +) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8; + +-- ---------------------------- +-- Records of t_ds_user +-- ---------------------------- + +-- ---------------------------- +-- Table structure for t_ds_worker_group +-- ---------------------------- +DROP TABLE IF EXISTS `t_ds_worker_group`; +CREATE TABLE `t_ds_worker_group` ( + `id` bigint(11) NOT NULL AUTO_INCREMENT COMMENT 'id', + `name` varchar(255) NOT NULL COMMENT 'worker group name', + `addr_list` text NULL DEFAULT NULL COMMENT 'worker addr list. split by [,]', + `create_time` datetime NULL DEFAULT NULL COMMENT 'create time', + `update_time` datetime NULL DEFAULT NULL COMMENT 'update time', + PRIMARY KEY (`id`), + UNIQUE KEY `name_unique` (`name`) +) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8; + +-- ---------------------------- +-- Records of t_ds_worker_group +-- ---------------------------- + +-- ---------------------------- +-- Table structure for t_ds_version +-- ---------------------------- +DROP TABLE IF EXISTS `t_ds_version`; +CREATE TABLE `t_ds_version` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `version` varchar(200) NOT NULL, + PRIMARY KEY (`id`), + UNIQUE KEY `version_UNIQUE` (`version`) +) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COMMENT='version'; + +-- ---------------------------- +-- Records of t_ds_version +-- ---------------------------- +INSERT INTO `t_ds_version` VALUES ('1', '3.0.0'); + + +-- ---------------------------- +-- Records of t_ds_alertgroup +-- ---------------------------- +INSERT INTO `t_ds_alertgroup`(alert_instance_ids, create_user_id, group_name, description, create_time, update_time) +VALUES ('1,2', 1, 'default admin warning group', 'default admin warning group', '2018-11-29 10:20:39', '2018-11-29 10:20:39'); + +-- ---------------------------- +-- Records of t_ds_user +-- ---------------------------- +INSERT INTO `t_ds_user` +VALUES ('1', 'admin', '7ad2410b2f4c074479a8937a28a22b8f', '0', 'xxx@qq.com', '', '0', '2018-03-27 15:48:50', '2018-10-24 17:40:22', null, 1, null); + +-- ---------------------------- +-- Table structure for t_ds_plugin_define +-- ---------------------------- +SET sql_mode=(SELECT REPLACE(@@sql_mode,'ONLY_FULL_GROUP_BY','')); +DROP TABLE IF EXISTS `t_ds_plugin_define`; +CREATE TABLE `t_ds_plugin_define` ( + `id` int NOT NULL AUTO_INCREMENT, + `plugin_name` varchar(100) NOT NULL COMMENT 'the name of plugin eg: email', + `plugin_type` varchar(100) NOT NULL COMMENT 'plugin type . alert=alert plugin, job=job plugin', + `plugin_params` text COMMENT 'plugin params', + `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, + `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`id`), + UNIQUE KEY `t_ds_plugin_define_UN` (`plugin_name`,`plugin_type`) +) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8; + +-- ---------------------------- +-- Table structure for t_ds_alert_plugin_instance +-- ---------------------------- +DROP TABLE IF EXISTS `t_ds_alert_plugin_instance`; +CREATE TABLE `t_ds_alert_plugin_instance` ( + `id` int NOT NULL AUTO_INCREMENT, + `plugin_define_id` int NOT NULL, + `plugin_instance_params` text COMMENT 'plugin instance params. Also contain the params value which user input in web ui.', + `create_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP, + `update_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `instance_name` varchar(200) DEFAULT NULL COMMENT 'alert instance name', + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +-- +-- Table structure for table `t_ds_dq_comparison_type` +-- +DROP TABLE IF EXISTS `t_ds_dq_comparison_type`; +CREATE TABLE `t_ds_dq_comparison_type` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `type` varchar(100) NOT NULL, + `execute_sql` text DEFAULT NULL, + `output_table` varchar(100) DEFAULT NULL, + `name` varchar(100) DEFAULT NULL, + `create_time` datetime DEFAULT NULL, + `update_time` datetime DEFAULT NULL, + `is_inner_source` tinyint(1) DEFAULT '0', + PRIMARY KEY (`id`) +)ENGINE=InnoDB DEFAULT CHARSET=utf8; + +INSERT INTO `t_ds_dq_comparison_type` +(`id`, `type`, `execute_sql`, `output_table`, `name`, `create_time`, `update_time`, `is_inner_source`) +VALUES(1, 'FixValue', NULL, NULL, NULL, '2021-06-30 00:00:00.000', '2021-06-30 00:00:00.000', false); +INSERT INTO `t_ds_dq_comparison_type` +(`id`, `type`, `execute_sql`, `output_table`, `name`, `create_time`, `update_time`, `is_inner_source`) +VALUES(2, 'DailyAvg', 'select round(avg(statistics_value),2) as day_avg from t_ds_dq_task_statistics_value where data_time >=date_trunc(''DAY'', ${data_time}) and data_time < date_add(date_trunc(''day'', ${data_time}),1) and unique_code = ${unique_code} and statistics_name = ''${statistics_name}''', 'day_range', 'day_range.day_avg', '2021-06-30 00:00:00.000', '2021-06-30 00:00:00.000', true); +INSERT INTO `t_ds_dq_comparison_type` +(`id`, `type`, `execute_sql`, `output_table`, `name`, `create_time`, `update_time`, `is_inner_source`) +VALUES(3, 'WeeklyAvg', 'select round(avg(statistics_value),2) as week_avg from t_ds_dq_task_statistics_value where data_time >= date_trunc(''WEEK'', ${data_time}) and data_time = date_trunc(''MONTH'', ${data_time}) and data_time = date_add(date_trunc(''day'', ${data_time}),-7) and data_time = date_add(date_trunc(''day'', ${data_time}),-30) and data_time < date_trunc(''day'', ${data_time}) and unique_code = ${unique_code} and statistics_name = ''${statistics_name}''', 'last_thirty_days', 'last_thirty_days.last_30_avg', '2021-06-30 00:00:00.000', '2021-06-30 00:00:00.000', true); +INSERT INTO `t_ds_dq_comparison_type` +(`id`, `type`, `execute_sql`, `output_table`, `name`, `create_time`, `update_time`, `is_inner_source`) +VALUES(7, 'SrcTableTotalRows', 'SELECT COUNT(*) AS total FROM ${src_table} WHERE (${src_filter})', 'total_count', 'total_count.total', '2021-06-30 00:00:00.000', '2021-06-30 00:00:00.000', false); +INSERT INTO `t_ds_dq_comparison_type` +(`id`, `type`, `execute_sql`, `output_table`, `name`, `create_time`, `update_time`, `is_inner_source`) +VALUES(8, 'TargetTableTotalRows', 'SELECT COUNT(*) AS total FROM ${target_table} WHERE (${target_filter})', 'total_count', 'total_count.total', '2021-06-30 00:00:00.000', '2021-06-30 00:00:00.000', false); + +-- +-- Table structure for table `t_ds_dq_execute_result` +-- +DROP TABLE IF EXISTS `t_ds_dq_execute_result`; +CREATE TABLE `t_ds_dq_execute_result` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `process_definition_id` int(11) DEFAULT NULL, + `process_instance_id` int(11) DEFAULT NULL, + `task_instance_id` int(11) DEFAULT NULL, + `rule_type` int(11) DEFAULT NULL, + `rule_name` varchar(255) DEFAULT NULL, + `statistics_value` double DEFAULT NULL, + `comparison_value` double DEFAULT NULL, + `check_type` int(11) DEFAULT NULL, + `threshold` double DEFAULT NULL, + `operator` int(11) DEFAULT NULL, + `failure_strategy` int(11) DEFAULT NULL, + `state` int(11) DEFAULT NULL, + `user_id` int(11) DEFAULT NULL, + `comparison_type` int(11) DEFAULT NULL, + `error_output_path` text DEFAULT NULL, + `create_time` datetime DEFAULT NULL, + `update_time` datetime DEFAULT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +-- +-- Table structure for table t_ds_dq_rule +-- +DROP TABLE IF EXISTS `t_ds_dq_rule`; +CREATE TABLE `t_ds_dq_rule` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `name` varchar(100) DEFAULT NULL, + `type` int(11) DEFAULT NULL, + `user_id` int(11) DEFAULT NULL, + `create_time` datetime DEFAULT NULL, + `update_time` datetime DEFAULT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +INSERT INTO `t_ds_dq_rule` +(`id`, `name`, `type`, `user_id`, `create_time`, `update_time`) +VALUES(1, '$t(null_check)', 0, 1, '2020-01-12 00:00:00.000', '2020-01-12 00:00:00.000'); +INSERT INTO `t_ds_dq_rule` +(`id`, `name`, `type`, `user_id`, `create_time`, `update_time`) +VALUES(2, '$t(custom_sql)', 1, 1, '2020-01-12 00:00:00.000', '2020-01-12 00:00:00.000'); +INSERT INTO `t_ds_dq_rule` +(`id`, `name`, `type`, `user_id`, `create_time`, `update_time`) +VALUES(3, '$t(multi_table_accuracy)', 2, 1, '2020-01-12 00:00:00.000', '2020-01-12 00:00:00.000'); +INSERT INTO `t_ds_dq_rule` +(`id`, `name`, `type`, `user_id`, `create_time`, `update_time`) +VALUES(4, '$t(multi_table_value_comparison)', 3, 1, '2020-01-12 00:00:00.000', '2020-01-12 00:00:00.000'); +INSERT INTO `t_ds_dq_rule` +(`id`, `name`, `type`, `user_id`, `create_time`, `update_time`) +VALUES(5, '$t(field_length_check)', 0, 1, '2020-01-12 00:00:00.000', '2020-01-12 00:00:00.000'); +INSERT INTO `t_ds_dq_rule` +(`id`, `name`, `type`, `user_id`, `create_time`, `update_time`) +VALUES(6, '$t(uniqueness_check)', 0, 1, '2020-01-12 00:00:00.000', '2020-01-12 00:00:00.000'); +INSERT INTO `t_ds_dq_rule` +(`id`, `name`, `type`, `user_id`, `create_time`, `update_time`) +VALUES(7, '$t(regexp_check)', 0, 1, '2020-01-12 00:00:00.000', '2020-01-12 00:00:00.000'); +INSERT INTO `t_ds_dq_rule` +(`id`, `name`, `type`, `user_id`, `create_time`, `update_time`) +VALUES(8, '$t(timeliness_check)', 0, 1, '2020-01-12 00:00:00.000', '2020-01-12 00:00:00.000'); +INSERT INTO `t_ds_dq_rule` +(`id`, `name`, `type`, `user_id`, `create_time`, `update_time`) +VALUES(9, '$t(enumeration_check)', 0, 1, '2020-01-12 00:00:00.000', '2020-01-12 00:00:00.000'); +INSERT INTO `t_ds_dq_rule` +(`id`, `name`, `type`, `user_id`, `create_time`, `update_time`) +VALUES(10, '$t(table_count_check)', 0, 1, '2020-01-12 00:00:00.000', '2020-01-12 00:00:00.000'); + +-- +-- Table structure for table `t_ds_dq_rule_execute_sql` +-- +DROP TABLE IF EXISTS `t_ds_dq_rule_execute_sql`; +CREATE TABLE `t_ds_dq_rule_execute_sql` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `index` int(11) DEFAULT NULL, + `sql` text DEFAULT NULL, + `table_alias` varchar(255) DEFAULT NULL, + `type` int(11) DEFAULT NULL, + `is_error_output_sql` tinyint(1) DEFAULT '0', + `create_time` datetime DEFAULT NULL, + `update_time` datetime DEFAULT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +INSERT INTO `t_ds_dq_rule_execute_sql` +(`id`, `index`, `sql`, `table_alias`, `type`, `is_error_output_sql`, `create_time`, `update_time`) +VALUES(1, 1, 'SELECT COUNT(*) AS nulls FROM null_items', 'null_count', 1, false, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_dq_rule_execute_sql` +(`id`, `index`, `sql`, `table_alias`, `type`, `is_error_output_sql`, `create_time`, `update_time`) +VALUES(2, 1, 'SELECT COUNT(*) AS total FROM ${src_table} WHERE (${src_filter})', 'total_count', 2, false, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_dq_rule_execute_sql` +(`id`, `index`, `sql`, `table_alias`, `type`, `is_error_output_sql`, `create_time`, `update_time`) +VALUES(3, 1, 'SELECT COUNT(*) AS miss from miss_items', 'miss_count', 1, false, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_dq_rule_execute_sql` +(`id`, `index`, `sql`, `table_alias`, `type`, `is_error_output_sql`, `create_time`, `update_time`) +VALUES(4, 1, 'SELECT COUNT(*) AS valids FROM invalid_length_items', 'invalid_length_count', 1, false, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_dq_rule_execute_sql` +(`id`, `index`, `sql`, `table_alias`, `type`, `is_error_output_sql`, `create_time`, `update_time`) +VALUES(5, 1, 'SELECT COUNT(*) AS total FROM ${target_table} WHERE (${target_filter})', 'total_count', 2, false, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_dq_rule_execute_sql` +(`id`, `index`, `sql`, `table_alias`, `type`, `is_error_output_sql`, `create_time`, `update_time`) +VALUES(6, 1, 'SELECT ${src_field} FROM ${src_table} group by ${src_field} having count(*) > 1', 'duplicate_items', 0, true, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_dq_rule_execute_sql` +(`id`, `index`, `sql`, `table_alias`, `type`, `is_error_output_sql`, `create_time`, `update_time`) +VALUES(7, 1, 'SELECT COUNT(*) AS duplicates FROM duplicate_items', 'duplicate_count', 1, false, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_dq_rule_execute_sql` +(`id`, `index`, `sql`, `table_alias`, `type`, `is_error_output_sql`, `create_time`, `update_time`) +VALUES(8, 1, 'SELECT ${src_table}.* FROM (SELECT * FROM ${src_table} WHERE (${src_filter})) ${src_table} LEFT JOIN (SELECT * FROM ${target_table} WHERE (${target_filter})) ${target_table} ON ${on_clause} WHERE ${where_clause}', 'miss_items', 0, true, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_dq_rule_execute_sql` +(`id`, `index`, `sql`, `table_alias`, `type`, `is_error_output_sql`, `create_time`, `update_time`) +VALUES(9, 1, 'SELECT * FROM ${src_table} WHERE (${src_field} not regexp ''${regexp_pattern}'') AND (${src_filter}) ', 'regexp_items', 0, true, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_dq_rule_execute_sql` +(`id`, `index`, `sql`, `table_alias`, `type`, `is_error_output_sql`, `create_time`, `update_time`) +VALUES(10, 1, 'SELECT COUNT(*) AS regexps FROM regexp_items', 'regexp_count', 1, false, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_dq_rule_execute_sql` +(`id`, `index`, `sql`, `table_alias`, `type`, `is_error_output_sql`, `create_time`, `update_time`) +VALUES(11, 1, 'SELECT * FROM ${src_table} WHERE (to_unix_timestamp(${src_field}, ''${datetime_format}'')-to_unix_timestamp(''${deadline}'', ''${datetime_format}'') <= 0) AND (to_unix_timestamp(${src_field}, ''${datetime_format}'')-to_unix_timestamp(''${begin_time}'', ''${datetime_format}'') >= 0) AND (${src_filter}) ', 'timeliness_items', 0, 1, '2021-03-03 11:31:24.0', '2021-03-03 11:31:24.0'); +INSERT INTO `t_ds_dq_rule_execute_sql` +(`id`, `index`, `sql`, `table_alias`, `type`, `is_error_output_sql`, `create_time`, `update_time`) +VALUES(12, 1, 'SELECT COUNT(*) AS timeliness FROM timeliness_items', 'timeliness_count', 1, false, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_dq_rule_execute_sql` +(`id`, `index`, `sql`, `table_alias`, `type`, `is_error_output_sql`, `create_time`, `update_time`) +VALUES(13, 1, 'SELECT * FROM ${src_table} where (${src_field} not in ( ${enum_list} ) or ${src_field} is null) AND (${src_filter}) ', 'enum_items', 0, true, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_dq_rule_execute_sql` +(`id`, `index`, `sql`, `table_alias`, `type`, `is_error_output_sql`, `create_time`, `update_time`) +VALUES(14, 1, 'SELECT COUNT(*) AS enums FROM enum_items', 'enum_count', 1, false, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_dq_rule_execute_sql` +(`id`, `index`, `sql`, `table_alias`, `type`, `is_error_output_sql`, `create_time`, `update_time`) +VALUES(15, 1, 'SELECT COUNT(*) AS total FROM ${src_table} WHERE (${src_filter})', 'table_count', 1, false, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_dq_rule_execute_sql` +(`id`, `index`, `sql`, `table_alias`, `type`, `is_error_output_sql`, `create_time`, `update_time`) +VALUES(16, 1, 'SELECT * FROM ${src_table} WHERE (${src_field} is null or ${src_field} = '''') AND (${src_filter})', 'null_items', 0, true, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_dq_rule_execute_sql` +(`id`, `index`, `sql`, `table_alias`, `type`, `is_error_output_sql`, `create_time`, `update_time`) +VALUES(17, 1, 'SELECT * FROM ${src_table} WHERE (length(${src_field}) ${logic_operator} ${field_length}) AND (${src_filter})', 'invalid_length_items', 0, true, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); + +-- +-- Table structure for table `t_ds_dq_rule_input_entry` +-- +DROP TABLE IF EXISTS `t_ds_dq_rule_input_entry`; +CREATE TABLE `t_ds_dq_rule_input_entry` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `field` varchar(255) DEFAULT NULL, + `type` varchar(255) DEFAULT NULL, + `title` varchar(255) DEFAULT NULL, + `value` varchar(255) DEFAULT NULL, + `options` text DEFAULT NULL, + `placeholder` varchar(255) DEFAULT NULL, + `option_source_type` int(11) DEFAULT NULL, + `value_type` int(11) DEFAULT NULL, + `input_type` int(11) DEFAULT NULL, + `is_show` tinyint(1) DEFAULT '1', + `can_edit` tinyint(1) DEFAULT '1', + `is_emit` tinyint(1) DEFAULT '0', + `is_validate` tinyint(1) DEFAULT '1', + `create_time` datetime DEFAULT NULL, + `update_time` datetime DEFAULT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +INSERT INTO `t_ds_dq_rule_input_entry` +(`id`, `field`, `type`, `title`, `value`, `options`, `placeholder`, `option_source_type`, `value_type`, `input_type`, `is_show`, `can_edit`, `is_emit`, `is_validate`, `create_time`, `update_time`) +VALUES(1, 'src_connector_type', 'select', '$t(src_connector_type)', '', '[{"label":"HIVE","value":"HIVE"},{"label":"JDBC","value":"JDBC"}]', 'please select source connector type', 2, 2, 0, 1, 1, 1, 0, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_dq_rule_input_entry` +(`id`, `field`, `type`, `title`, `value`, `options`, `placeholder`, `option_source_type`, `value_type`, `input_type`, `is_show`, `can_edit`, `is_emit`, `is_validate`, `create_time`, `update_time`) +VALUES(2, 'src_datasource_id', 'select', '$t(src_datasource_id)', '', NULL, 'please select source datasource id', 1, 2, 0, 1, 1, 1, 0, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_dq_rule_input_entry` +(`id`, `field`, `type`, `title`, `value`, `options`, `placeholder`, `option_source_type`, `value_type`, `input_type`, `is_show`, `can_edit`, `is_emit`, `is_validate`, `create_time`, `update_time`) +VALUES(3, 'src_table', 'select', '$t(src_table)', NULL, NULL, 'Please enter source table name', 0, 0, 0, 1, 1, 1, 1, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_dq_rule_input_entry` +(`id`, `field`, `type`, `title`, `value`, `options`, `placeholder`, `option_source_type`, `value_type`, `input_type`, `is_show`, `can_edit`, `is_emit`, `is_validate`, `create_time`, `update_time`) +VALUES(4, 'src_filter', 'input', '$t(src_filter)', NULL, NULL, 'Please enter filter expression', 0, 3, 0, 1, 1, 0, 0, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_dq_rule_input_entry` +(`id`, `field`, `type`, `title`, `value`, `options`, `placeholder`, `option_source_type`, `value_type`, `input_type`, `is_show`, `can_edit`, `is_emit`, `is_validate`, `create_time`, `update_time`) +VALUES(5, 'src_field', 'select', '$t(src_field)', NULL, NULL, 'Please enter column, only single column is supported', 0, 0, 0, 1, 1, 0, 1, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_dq_rule_input_entry` +(`id`, `field`, `type`, `title`, `value`, `options`, `placeholder`, `option_source_type`, `value_type`, `input_type`, `is_show`, `can_edit`, `is_emit`, `is_validate`, `create_time`, `update_time`) +VALUES(6, 'statistics_name', 'input', '$t(statistics_name)', NULL, NULL, 'Please enter statistics name, the alias in statistics execute sql', 0, 0, 1, 0, 0, 0, 1, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_dq_rule_input_entry` +(`id`, `field`, `type`, `title`, `value`, `options`, `placeholder`, `option_source_type`, `value_type`, `input_type`, `is_show`, `can_edit`, `is_emit`, `is_validate`, `create_time`, `update_time`) +VALUES(7, 'check_type', 'select', '$t(check_type)', '0', '[{"label":"Expected - Actual","value":"0"},{"label":"Actual - Expected","value":"1"},{"label":"Actual / Expected","value":"2"},{"label":"(Expected - Actual) / Expected","value":"3"}]', 'please select check type', 0, 0, 3, 1, 1, 1, 0, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_dq_rule_input_entry` +(`id`, `field`, `type`, `title`, `value`, `options`, `placeholder`, `option_source_type`, `value_type`, `input_type`, `is_show`, `can_edit`, `is_emit`, `is_validate`, `create_time`, `update_time`) +VALUES(8, 'operator', 'select', '$t(operator)', '0', '[{"label":"=","value":"0"},{"label":"<","value":"1"},{"label":"<=","value":"2"},{"label":">","value":"3"},{"label":">=","value":"4"},{"label":"!=","value":"5"}]', 'please select operator', 0, 0, 3, 1, 1, 0, 0, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_dq_rule_input_entry` +(`id`, `field`, `type`, `title`, `value`, `options`, `placeholder`, `option_source_type`, `value_type`, `input_type`, `is_show`, `can_edit`, `is_emit`, `is_validate`, `create_time`, `update_time`) +VALUES(9, 'threshold', 'input', '$t(threshold)', NULL, NULL, 'Please enter threshold, number is needed', 0, 2, 3, 1, 1, 0, 1, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_dq_rule_input_entry` +(`id`, `field`, `type`, `title`, `value`, `options`, `placeholder`, `option_source_type`, `value_type`, `input_type`, `is_show`, `can_edit`, `is_emit`, `is_validate`, `create_time`, `update_time`) +VALUES(10, 'failure_strategy', 'select', '$t(failure_strategy)', '0', '[{"label":"Alert","value":"0"},{"label":"Block","value":"1"}]', 'please select failure strategy', 0, 0, 3, 1, 1, 0, 0, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_dq_rule_input_entry` +(`id`, `field`, `type`, `title`, `value`, `options`, `placeholder`, `option_source_type`, `value_type`, `input_type`, `is_show`, `can_edit`, `is_emit`, `is_validate`, `create_time`, `update_time`) +VALUES(11, 'target_connector_type', 'select', '$t(target_connector_type)', '', '[{"label":"HIVE","value":"HIVE"},{"label":"JDBC","value":"JDBC"}]', 'Please select target connector type', 2, 0, 0, 1, 1, 1, 0, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_dq_rule_input_entry` +(`id`, `field`, `type`, `title`, `value`, `options`, `placeholder`, `option_source_type`, `value_type`, `input_type`, `is_show`, `can_edit`, `is_emit`, `is_validate`, `create_time`, `update_time`) +VALUES(12, 'target_datasource_id', 'select', '$t(target_datasource_id)', '', NULL, 'Please select target datasource', 1, 2, 0, 1, 1, 1, 0, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_dq_rule_input_entry` +(`id`, `field`, `type`, `title`, `value`, `options`, `placeholder`, `option_source_type`, `value_type`, `input_type`, `is_show`, `can_edit`, `is_emit`, `is_validate`, `create_time`, `update_time`) +VALUES(13, 'target_table', 'select', '$t(target_table)', NULL, NULL, 'Please enter target table', 0, 0, 0, 1, 1, 1, 1, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_dq_rule_input_entry` +(`id`, `field`, `type`, `title`, `value`, `options`, `placeholder`, `option_source_type`, `value_type`, `input_type`, `is_show`, `can_edit`, `is_emit`, `is_validate`, `create_time`, `update_time`) +VALUES(14, 'target_filter', 'input', '$t(target_filter)', NULL, NULL, 'Please enter target filter expression', 0, 3, 0, 1, 1, 0, 0, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_dq_rule_input_entry` +(`id`, `field`, `type`, `title`, `value`, `options`, `placeholder`, `option_source_type`, `value_type`, `input_type`, `is_show`, `can_edit`, `is_emit`, `is_validate`, `create_time`, `update_time`) +VALUES(15, 'mapping_columns', 'group', '$t(mapping_columns)', NULL, '[{"field":"src_field","props":{"placeholder":"Please input src field","rows":0,"disabled":false,"size":"small"},"type":"input","title":"src_field"},{"field":"operator","props":{"placeholder":"Please input operator","rows":0,"disabled":false,"size":"small"},"type":"input","title":"operator"},{"field":"target_field","props":{"placeholder":"Please input target field","rows":0,"disabled":false,"size":"small"},"type":"input","title":"target_field"}]', 'please enter mapping columns', 0, 0, 0, 1, 1, 0, 0, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_dq_rule_input_entry` +(`id`, `field`, `type`, `title`, `value`, `options`, `placeholder`, `option_source_type`, `value_type`, `input_type`, `is_show`, `can_edit`, `is_emit`, `is_validate`, `create_time`, `update_time`) +VALUES(16, 'statistics_execute_sql', 'textarea', '$t(statistics_execute_sql)', NULL, NULL, 'Please enter statistics execute sql', 0, 3, 0, 1, 1, 0, 1, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_dq_rule_input_entry` +(`id`, `field`, `type`, `title`, `value`, `options`, `placeholder`, `option_source_type`, `value_type`, `input_type`, `is_show`, `can_edit`, `is_emit`, `is_validate`, `create_time`, `update_time`) +VALUES(17, 'comparison_name', 'input', '$t(comparison_name)', NULL, NULL, 'Please enter comparison name, the alias in comparison execute sql', 0, 0, 0, 0, 0, 0, 1, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_dq_rule_input_entry` +(`id`, `field`, `type`, `title`, `value`, `options`, `placeholder`, `option_source_type`, `value_type`, `input_type`, `is_show`, `can_edit`, `is_emit`, `is_validate`, `create_time`, `update_time`) +VALUES(18, 'comparison_execute_sql', 'textarea', '$t(comparison_execute_sql)', NULL, NULL, 'Please enter comparison execute sql', 0, 3, 0, 1, 1, 0, 1, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_dq_rule_input_entry` +(`id`, `field`, `type`, `title`, `value`, `options`, `placeholder`, `option_source_type`, `value_type`, `input_type`, `is_show`, `can_edit`, `is_emit`, `is_validate`, `create_time`, `update_time`) +VALUES(19, 'comparison_type', 'select', '$t(comparison_type)', '', NULL, 'Please enter comparison title', 3, 0, 2, 1, 0, 1, 0, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_dq_rule_input_entry` +(`id`, `field`, `type`, `title`, `value`, `options`, `placeholder`, `option_source_type`, `value_type`, `input_type`, `is_show`, `can_edit`, `is_emit`, `is_validate`, `create_time`, `update_time`) +VALUES(20, 'writer_connector_type', 'select', '$t(writer_connector_type)', '', '[{"label":"MYSQL","value":"0"},{"label":"POSTGRESQL","value":"1"}]', 'please select writer connector type', 0, 2, 0, 1, 1, 1, 0, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_dq_rule_input_entry` +(`id`, `field`, `type`, `title`, `value`, `options`, `placeholder`, `option_source_type`, `value_type`, `input_type`, `is_show`, `can_edit`, `is_emit`, `is_validate`, `create_time`, `update_time`) +VALUES(21, 'writer_datasource_id', 'select', '$t(writer_datasource_id)', '', NULL, 'please select writer datasource id', 1, 2, 0, 1, 1, 0, 0, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_dq_rule_input_entry` +(`id`, `field`, `type`, `title`, `value`, `options`, `placeholder`, `option_source_type`, `value_type`, `input_type`, `is_show`, `can_edit`, `is_emit`, `is_validate`, `create_time`, `update_time`) +VALUES(22, 'target_field', 'select', '$t(target_field)', NULL, NULL, 'Please enter column, only single column is supported', 0, 0, 0, 1, 1, 0, 0, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_dq_rule_input_entry` +(`id`, `field`, `type`, `title`, `value`, `options`, `placeholder`, `option_source_type`, `value_type`, `input_type`, `is_show`, `can_edit`, `is_emit`, `is_validate`, `create_time`, `update_time`) +VALUES(23, 'field_length', 'input', '$t(field_length)', NULL, NULL, 'Please enter length limit', 0, 3, 0, 1, 1, 0, 0, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_dq_rule_input_entry` +(`id`, `field`, `type`, `title`, `value`, `options`, `placeholder`, `option_source_type`, `value_type`, `input_type`, `is_show`, `can_edit`, `is_emit`, `is_validate`, `create_time`, `update_time`) +VALUES(24, 'logic_operator', 'select', '$t(logic_operator)', '=', '[{"label":"=","value":"="},{"label":"<","value":"<"},{"label":"<=","value":"<="},{"label":">","value":">"},{"label":">=","value":">="},{"label":"<>","value":"<>"}]', 'please select logic operator', 0, 0, 3, 1, 1, 0, 0, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_dq_rule_input_entry` +(`id`, `field`, `type`, `title`, `value`, `options`, `placeholder`, `option_source_type`, `value_type`, `input_type`, `is_show`, `can_edit`, `is_emit`, `is_validate`, `create_time`, `update_time`) +VALUES(25, 'regexp_pattern', 'input', '$t(regexp_pattern)', NULL, NULL, 'Please enter regexp pattern', 0, 0, 0, 1, 1, 0, 0, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_dq_rule_input_entry` +(`id`, `field`, `type`, `title`, `value`, `options`, `placeholder`, `option_source_type`, `value_type`, `input_type`, `is_show`, `can_edit`, `is_emit`, `is_validate`, `create_time`, `update_time`) +VALUES(26, 'deadline', 'input', '$t(deadline)', NULL, NULL, 'Please enter deadline', 0, 0, 0, 1, 1, 0, 0, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_dq_rule_input_entry` +(`id`, `field`, `type`, `title`, `value`, `options`, `placeholder`, `option_source_type`, `value_type`, `input_type`, `is_show`, `can_edit`, `is_emit`, `is_validate`, `create_time`, `update_time`) +VALUES(27, 'datetime_format', 'input', '$t(datetime_format)', NULL, NULL, 'Please enter datetime format', 0, 0, 0, 1, 1, 0, 0, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_dq_rule_input_entry` +(`id`, `field`, `type`, `title`, `value`, `options`, `placeholder`, `option_source_type`, `value_type`, `input_type`, `is_show`, `can_edit`, `is_emit`, `is_validate`, `create_time`, `update_time`) +VALUES(28, 'enum_list', 'input', '$t(enum_list)', NULL, NULL, 'Please enter enumeration', 0, 0, 0, 1, 1, 0, 0, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_dq_rule_input_entry` +(`id`, `field`, `type`, `title`, `value`, `options`, `placeholder`, `option_source_type`, `value_type`, `input_type`, `is_show`, `can_edit`, `is_emit`, `is_validate`, `create_time`, `update_time`) +VALUES(29, 'begin_time', 'input', '$t(begin_time)', NULL, NULL, 'Please enter begin time', 0, 0, 0, 1, 1, 0, 0, '2021-03-03 11:31:24.0', '2021-03-03 11:31:24.0'); + +-- +-- Table structure for table `t_ds_dq_task_statistics_value` +-- +DROP TABLE IF EXISTS `t_ds_dq_task_statistics_value`; +CREATE TABLE `t_ds_dq_task_statistics_value` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `process_definition_id` int(11) DEFAULT NULL, + `task_instance_id` int(11) DEFAULT NULL, + `rule_id` int(11) NOT NULL, + `unique_code` varchar(255) NULL, + `statistics_name` varchar(255) NULL, + `statistics_value` double NULL, + `data_time` datetime DEFAULT NULL, + `create_time` datetime DEFAULT NULL, + `update_time` datetime DEFAULT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +-- +-- Table structure for table `t_ds_relation_rule_execute_sql` +-- +DROP TABLE IF EXISTS `t_ds_relation_rule_execute_sql`; +CREATE TABLE `t_ds_relation_rule_execute_sql` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `rule_id` int(11) DEFAULT NULL, + `execute_sql_id` int(11) DEFAULT NULL, + `create_time` datetime NULL, + `update_time` datetime NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +INSERT INTO `t_ds_relation_rule_execute_sql` +(`id`, `rule_id`, `execute_sql_id`, `create_time`, `update_time`) +VALUES(1, 1, 1, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_relation_rule_execute_sql` +(`id`, `rule_id`, `execute_sql_id`, `create_time`, `update_time`) +VALUES(3, 5, 4, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_relation_rule_execute_sql` +(`id`, `rule_id`, `execute_sql_id`, `create_time`, `update_time`) +VALUES(2, 3, 3, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_relation_rule_execute_sql` +(`id`, `rule_id`, `execute_sql_id`, `create_time`, `update_time`) +VALUES(4, 3, 8, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_relation_rule_execute_sql` +(`id`, `rule_id`, `execute_sql_id`, `create_time`, `update_time`) +VALUES(5, 6, 6, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_relation_rule_execute_sql` +(`id`, `rule_id`, `execute_sql_id`, `create_time`, `update_time`) +VALUES(6, 6, 7, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_relation_rule_execute_sql` +(`id`, `rule_id`, `execute_sql_id`, `create_time`, `update_time`) +VALUES(7, 7, 9, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_relation_rule_execute_sql` +(`id`, `rule_id`, `execute_sql_id`, `create_time`, `update_time`) +VALUES(8, 7, 10, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_relation_rule_execute_sql` +(`id`, `rule_id`, `execute_sql_id`, `create_time`, `update_time`) +VALUES(9, 8, 11, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_relation_rule_execute_sql` +(`id`, `rule_id`, `execute_sql_id`, `create_time`, `update_time`) +VALUES(10, 8, 12, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_relation_rule_execute_sql` +(`id`, `rule_id`, `execute_sql_id`, `create_time`, `update_time`) +VALUES(11, 9, 13, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_relation_rule_execute_sql` +(`id`, `rule_id`, `execute_sql_id`, `create_time`, `update_time`) +VALUES(12, 9, 14, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_relation_rule_execute_sql` +(`id`, `rule_id`, `execute_sql_id`, `create_time`, `update_time`) +VALUES(13, 10, 15, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_relation_rule_execute_sql` +(`id`, `rule_id`, `execute_sql_id`, `create_time`, `update_time`) +VALUES(14, 1, 16, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_relation_rule_execute_sql` +(`id`, `rule_id`, `execute_sql_id`, `create_time`, `update_time`) +VALUES(15, 5, 17, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); + +-- +-- Table structure for table `t_ds_relation_rule_input_entry` +-- +DROP TABLE IF EXISTS `t_ds_relation_rule_input_entry`; +CREATE TABLE `t_ds_relation_rule_input_entry` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `rule_id` int(11) DEFAULT NULL, + `rule_input_entry_id` int(11) DEFAULT NULL, + `values_map` text DEFAULT NULL, + `index` int(11) DEFAULT NULL, + `create_time` datetime DEFAULT NULL, + `update_time` datetime DEFAULT NULL, + PRIMARY KEY (`id`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +INSERT INTO `t_ds_relation_rule_input_entry` +(`id`, `rule_id`, `rule_input_entry_id`, `values_map`, `index`, `create_time`, `update_time`) +VALUES(1, 1, 1, NULL, 1, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_relation_rule_input_entry` +(`id`, `rule_id`, `rule_input_entry_id`, `values_map`, `index`, `create_time`, `update_time`) +VALUES(2, 1, 2, NULL, 2, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_relation_rule_input_entry` +(`id`, `rule_id`, `rule_input_entry_id`, `values_map`, `index`, `create_time`, `update_time`) +VALUES(3, 1, 3, NULL, 3, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_relation_rule_input_entry` +(`id`, `rule_id`, `rule_input_entry_id`, `values_map`, `index`, `create_time`, `update_time`) +VALUES(4, 1, 4, NULL, 4, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_relation_rule_input_entry` +(`id`, `rule_id`, `rule_input_entry_id`, `values_map`, `index`, `create_time`, `update_time`) +VALUES(5, 1, 5, NULL, 5, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_relation_rule_input_entry` +(`id`, `rule_id`, `rule_input_entry_id`, `values_map`, `index`, `create_time`, `update_time`) +VALUES(6, 1, 6, '{"statistics_name":"null_count.nulls"}', 6, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_relation_rule_input_entry` +(`id`, `rule_id`, `rule_input_entry_id`, `values_map`, `index`, `create_time`, `update_time`) +VALUES(7, 1, 7, NULL, 7, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_relation_rule_input_entry` +(`id`, `rule_id`, `rule_input_entry_id`, `values_map`, `index`, `create_time`, `update_time`) +VALUES(8, 1, 8, NULL, 8, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_relation_rule_input_entry` +(`id`, `rule_id`, `rule_input_entry_id`, `values_map`, `index`, `create_time`, `update_time`) +VALUES(9, 1, 9, NULL, 9, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_relation_rule_input_entry` +(`id`, `rule_id`, `rule_input_entry_id`, `values_map`, `index`, `create_time`, `update_time`) +VALUES(10, 1, 10, NULL, 10, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_relation_rule_input_entry` +(`id`, `rule_id`, `rule_input_entry_id`, `values_map`, `index`, `create_time`, `update_time`) +VALUES(11, 1, 17, '', 11, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_relation_rule_input_entry` +(`id`, `rule_id`, `rule_input_entry_id`, `values_map`, `index`, `create_time`, `update_time`) +VALUES(12, 1, 19, NULL, 12, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_relation_rule_input_entry` +(`id`, `rule_id`, `rule_input_entry_id`, `values_map`, `index`, `create_time`, `update_time`) +VALUES(13, 2, 1, NULL, 1, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_relation_rule_input_entry` +(`id`, `rule_id`, `rule_input_entry_id`, `values_map`, `index`, `create_time`, `update_time`) +VALUES(14, 2, 2, NULL, 2, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_relation_rule_input_entry` +(`id`, `rule_id`, `rule_input_entry_id`, `values_map`, `index`, `create_time`, `update_time`) +VALUES(15, 2, 3, NULL, 3, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_relation_rule_input_entry` +(`id`, `rule_id`, `rule_input_entry_id`, `values_map`, `index`, `create_time`, `update_time`) +VALUES(16, 2, 6, '{"is_show":"true","can_edit":"true"}', 4, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_relation_rule_input_entry` +(`id`, `rule_id`, `rule_input_entry_id`, `values_map`, `index`, `create_time`, `update_time`) +VALUES(17, 2, 16, NULL, 5, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_relation_rule_input_entry` +(`id`, `rule_id`, `rule_input_entry_id`, `values_map`, `index`, `create_time`, `update_time`) +VALUES(18, 2, 4, NULL, 6, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_relation_rule_input_entry` +(`id`, `rule_id`, `rule_input_entry_id`, `values_map`, `index`, `create_time`, `update_time`) +VALUES(19, 2, 7, NULL, 7, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_relation_rule_input_entry` +(`id`, `rule_id`, `rule_input_entry_id`, `values_map`, `index`, `create_time`, `update_time`) +VALUES(20, 2, 8, NULL, 8, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_relation_rule_input_entry` +(`id`, `rule_id`, `rule_input_entry_id`, `values_map`, `index`, `create_time`, `update_time`) +VALUES(21, 2, 9, NULL, 9, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_relation_rule_input_entry` +(`id`, `rule_id`, `rule_input_entry_id`, `values_map`, `index`, `create_time`, `update_time`) +VALUES(22, 2, 10, NULL, 10, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_relation_rule_input_entry` +(`id`, `rule_id`, `rule_input_entry_id`, `values_map`, `index`, `create_time`, `update_time`) +VALUES(24, 2, 19, NULL, 12, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_relation_rule_input_entry` +(`id`, `rule_id`, `rule_input_entry_id`, `values_map`, `index`, `create_time`, `update_time`) +VALUES(25, 3, 1, NULL, 1, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_relation_rule_input_entry` +(`id`, `rule_id`, `rule_input_entry_id`, `values_map`, `index`, `create_time`, `update_time`) +VALUES(26, 3, 2, NULL, 2, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_relation_rule_input_entry` +(`id`, `rule_id`, `rule_input_entry_id`, `values_map`, `index`, `create_time`, `update_time`) +VALUES(27, 3, 3, NULL, 3, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_relation_rule_input_entry` +(`id`, `rule_id`, `rule_input_entry_id`, `values_map`, `index`, `create_time`, `update_time`) +VALUES(28, 3, 4, NULL, 4, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_relation_rule_input_entry` +(`id`, `rule_id`, `rule_input_entry_id`, `values_map`, `index`, `create_time`, `update_time`) +VALUES(29, 3, 11, NULL, 5, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_relation_rule_input_entry` +(`id`, `rule_id`, `rule_input_entry_id`, `values_map`, `index`, `create_time`, `update_time`) +VALUES(30, 3, 12, NULL, 6, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_relation_rule_input_entry` +(`id`, `rule_id`, `rule_input_entry_id`, `values_map`, `index`, `create_time`, `update_time`) +VALUES(31, 3, 13, NULL, 7, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_relation_rule_input_entry` +(`id`, `rule_id`, `rule_input_entry_id`, `values_map`, `index`, `create_time`, `update_time`) +VALUES(32, 3, 14, NULL, 8, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_relation_rule_input_entry` +(`id`, `rule_id`, `rule_input_entry_id`, `values_map`, `index`, `create_time`, `update_time`) +VALUES(33, 3, 15, NULL, 9, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_relation_rule_input_entry` +(`id`, `rule_id`, `rule_input_entry_id`, `values_map`, `index`, `create_time`, `update_time`) +VALUES(34, 3, 7, NULL, 10, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_relation_rule_input_entry` +(`id`, `rule_id`, `rule_input_entry_id`, `values_map`, `index`, `create_time`, `update_time`) +VALUES(35, 3, 8, NULL, 11, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_relation_rule_input_entry` +(`id`, `rule_id`, `rule_input_entry_id`, `values_map`, `index`, `create_time`, `update_time`) +VALUES(36, 3, 9, NULL, 12, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_relation_rule_input_entry` +(`id`, `rule_id`, `rule_input_entry_id`, `values_map`, `index`, `create_time`, `update_time`) +VALUES(37, 3, 10, NULL, 13, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_relation_rule_input_entry` +(`id`, `rule_id`, `rule_input_entry_id`, `values_map`, `index`, `create_time`, `update_time`) +VALUES(38, 3, 17, '{"comparison_name":"total_count.total"}', 14, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_relation_rule_input_entry` +(`id`, `rule_id`, `rule_input_entry_id`, `values_map`, `index`, `create_time`, `update_time`) +VALUES(39, 3, 19, NULL, 15, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_relation_rule_input_entry` +(`id`, `rule_id`, `rule_input_entry_id`, `values_map`, `index`, `create_time`, `update_time`) +VALUES(40, 4, 1, NULL, 1, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_relation_rule_input_entry` +(`id`, `rule_id`, `rule_input_entry_id`, `values_map`, `index`, `create_time`, `update_time`) +VALUES(41, 4, 2, NULL, 2, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_relation_rule_input_entry` +(`id`, `rule_id`, `rule_input_entry_id`, `values_map`, `index`, `create_time`, `update_time`) +VALUES(42, 4, 3, NULL, 3, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_relation_rule_input_entry` +(`id`, `rule_id`, `rule_input_entry_id`, `values_map`, `index`, `create_time`, `update_time`) +VALUES(43, 4, 6, '{"is_show":"true","can_edit":"true"}', 4, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_relation_rule_input_entry` +(`id`, `rule_id`, `rule_input_entry_id`, `values_map`, `index`, `create_time`, `update_time`) +VALUES(44, 4, 16, NULL, 5, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_relation_rule_input_entry` +(`id`, `rule_id`, `rule_input_entry_id`, `values_map`, `index`, `create_time`, `update_time`) +VALUES(45, 4, 11, NULL, 6, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_relation_rule_input_entry` +(`id`, `rule_id`, `rule_input_entry_id`, `values_map`, `index`, `create_time`, `update_time`) +VALUES(46, 4, 12, NULL, 7, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_relation_rule_input_entry` +(`id`, `rule_id`, `rule_input_entry_id`, `values_map`, `index`, `create_time`, `update_time`) +VALUES(47, 4, 13, NULL, 8, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_relation_rule_input_entry` +(`id`, `rule_id`, `rule_input_entry_id`, `values_map`, `index`, `create_time`, `update_time`) +VALUES(48, 4, 17, '{"is_show":"true","can_edit":"true"}', 9, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_relation_rule_input_entry` +(`id`, `rule_id`, `rule_input_entry_id`, `values_map`, `index`, `create_time`, `update_time`) +VALUES(49, 4, 18, NULL, 10, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_relation_rule_input_entry` +(`id`, `rule_id`, `rule_input_entry_id`, `values_map`, `index`, `create_time`, `update_time`) +VALUES(50, 4, 7, NULL, 11, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_relation_rule_input_entry` +(`id`, `rule_id`, `rule_input_entry_id`, `values_map`, `index`, `create_time`, `update_time`) +VALUES(51, 4, 8, NULL, 12, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_relation_rule_input_entry` +(`id`, `rule_id`, `rule_input_entry_id`, `values_map`, `index`, `create_time`, `update_time`) +VALUES(52, 4, 9, NULL, 13, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_relation_rule_input_entry` +(`id`, `rule_id`, `rule_input_entry_id`, `values_map`, `index`, `create_time`, `update_time`) +VALUES(53, 4, 10, NULL, 14, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_relation_rule_input_entry` +(`id`, `rule_id`, `rule_input_entry_id`, `values_map`, `index`, `create_time`, `update_time`) +VALUES(62, 3, 6, '{"statistics_name":"miss_count.miss"}', 18, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_relation_rule_input_entry` +(`id`, `rule_id`, `rule_input_entry_id`, `values_map`, `index`, `create_time`, `update_time`) +VALUES(63, 5, 1, NULL, 1, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_relation_rule_input_entry` +(`id`, `rule_id`, `rule_input_entry_id`, `values_map`, `index`, `create_time`, `update_time`) +VALUES(64, 5, 2, NULL, 2, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_relation_rule_input_entry` +(`id`, `rule_id`, `rule_input_entry_id`, `values_map`, `index`, `create_time`, `update_time`) +VALUES(65, 5, 3, NULL, 3, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_relation_rule_input_entry` +(`id`, `rule_id`, `rule_input_entry_id`, `values_map`, `index`, `create_time`, `update_time`) +VALUES(66, 5, 4, NULL, 4, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_relation_rule_input_entry` +(`id`, `rule_id`, `rule_input_entry_id`, `values_map`, `index`, `create_time`, `update_time`) +VALUES(67, 5, 5, NULL, 5, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_relation_rule_input_entry` +(`id`, `rule_id`, `rule_input_entry_id`, `values_map`, `index`, `create_time`, `update_time`) +VALUES(68, 5, 6, '{"statistics_name":"invalid_length_count.valids"}', 6, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_relation_rule_input_entry` +(`id`, `rule_id`, `rule_input_entry_id`, `values_map`, `index`, `create_time`, `update_time`) +VALUES(69, 5, 24, NULL, 7, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_relation_rule_input_entry` +(`id`, `rule_id`, `rule_input_entry_id`, `values_map`, `index`, `create_time`, `update_time`) +VALUES(70, 5, 23, NULL, 8, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_relation_rule_input_entry` +(`id`, `rule_id`, `rule_input_entry_id`, `values_map`, `index`, `create_time`, `update_time`) +VALUES(71, 5, 7, NULL, 9, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_relation_rule_input_entry` +(`id`, `rule_id`, `rule_input_entry_id`, `values_map`, `index`, `create_time`, `update_time`) +VALUES(72, 5, 8, NULL, 10, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_relation_rule_input_entry` +(`id`, `rule_id`, `rule_input_entry_id`, `values_map`, `index`, `create_time`, `update_time`) +VALUES(73, 5, 9, NULL, 11, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_relation_rule_input_entry` +(`id`, `rule_id`, `rule_input_entry_id`, `values_map`, `index`, `create_time`, `update_time`) +VALUES(74, 5, 10, NULL, 12, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_relation_rule_input_entry` +(`id`, `rule_id`, `rule_input_entry_id`, `values_map`, `index`, `create_time`, `update_time`) +VALUES(75, 5, 17, '', 13, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_relation_rule_input_entry` +(`id`, `rule_id`, `rule_input_entry_id`, `values_map`, `index`, `create_time`, `update_time`) +VALUES(76, 5, 19, NULL, 14, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_relation_rule_input_entry` +(`id`, `rule_id`, `rule_input_entry_id`, `values_map`, `index`, `create_time`, `update_time`) +VALUES(79, 6, 1, NULL, 1, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_relation_rule_input_entry` +(`id`, `rule_id`, `rule_input_entry_id`, `values_map`, `index`, `create_time`, `update_time`) +VALUES(80, 6, 2, NULL, 2, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_relation_rule_input_entry` +(`id`, `rule_id`, `rule_input_entry_id`, `values_map`, `index`, `create_time`, `update_time`) +VALUES(81, 6, 3, NULL, 3, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_relation_rule_input_entry` +(`id`, `rule_id`, `rule_input_entry_id`, `values_map`, `index`, `create_time`, `update_time`) +VALUES(82, 6, 4, NULL, 4, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_relation_rule_input_entry` +(`id`, `rule_id`, `rule_input_entry_id`, `values_map`, `index`, `create_time`, `update_time`) +VALUES(83, 6, 5, NULL, 5, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_relation_rule_input_entry` +(`id`, `rule_id`, `rule_input_entry_id`, `values_map`, `index`, `create_time`, `update_time`) +VALUES(84, 6, 6, '{"statistics_name":"duplicate_count.duplicates"}', 6, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_relation_rule_input_entry` +(`id`, `rule_id`, `rule_input_entry_id`, `values_map`, `index`, `create_time`, `update_time`) +VALUES(85, 6, 7, NULL, 7, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_relation_rule_input_entry` +(`id`, `rule_id`, `rule_input_entry_id`, `values_map`, `index`, `create_time`, `update_time`) +VALUES(86, 6, 8, NULL, 8, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_relation_rule_input_entry` +(`id`, `rule_id`, `rule_input_entry_id`, `values_map`, `index`, `create_time`, `update_time`) +VALUES(87, 6, 9, NULL, 9, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_relation_rule_input_entry` +(`id`, `rule_id`, `rule_input_entry_id`, `values_map`, `index`, `create_time`, `update_time`) +VALUES(88, 6, 10, NULL, 10, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_relation_rule_input_entry` +(`id`, `rule_id`, `rule_input_entry_id`, `values_map`, `index`, `create_time`, `update_time`) +VALUES(89, 6, 17, '', 11, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_relation_rule_input_entry` +(`id`, `rule_id`, `rule_input_entry_id`, `values_map`, `index`, `create_time`, `update_time`) +VALUES(90, 6, 19, NULL, 12, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_relation_rule_input_entry` +(`id`, `rule_id`, `rule_input_entry_id`, `values_map`, `index`, `create_time`, `update_time`) +VALUES(93, 7, 1, NULL, 1, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_relation_rule_input_entry` +(`id`, `rule_id`, `rule_input_entry_id`, `values_map`, `index`, `create_time`, `update_time`) +VALUES(94, 7, 2, NULL, 2, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_relation_rule_input_entry` +(`id`, `rule_id`, `rule_input_entry_id`, `values_map`, `index`, `create_time`, `update_time`) +VALUES(95, 7, 3, NULL, 3, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_relation_rule_input_entry` +(`id`, `rule_id`, `rule_input_entry_id`, `values_map`, `index`, `create_time`, `update_time`) +VALUES(96, 7, 4, NULL, 4, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_relation_rule_input_entry` +(`id`, `rule_id`, `rule_input_entry_id`, `values_map`, `index`, `create_time`, `update_time`) +VALUES(97, 7, 5, NULL, 5, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_relation_rule_input_entry` +(`id`, `rule_id`, `rule_input_entry_id`, `values_map`, `index`, `create_time`, `update_time`) +VALUES(98, 7, 6, '{"statistics_name":"regexp_count.regexps"}', 6, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_relation_rule_input_entry` +(`id`, `rule_id`, `rule_input_entry_id`, `values_map`, `index`, `create_time`, `update_time`) +VALUES(99, 7, 25, NULL, 5, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_relation_rule_input_entry` +(`id`, `rule_id`, `rule_input_entry_id`, `values_map`, `index`, `create_time`, `update_time`) +VALUES(100, 7, 7, NULL, 7, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_relation_rule_input_entry` +(`id`, `rule_id`, `rule_input_entry_id`, `values_map`, `index`, `create_time`, `update_time`) +VALUES(101, 7, 8, NULL, 8, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_relation_rule_input_entry` +(`id`, `rule_id`, `rule_input_entry_id`, `values_map`, `index`, `create_time`, `update_time`) +VALUES(102, 7, 9, NULL, 9, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_relation_rule_input_entry` +(`id`, `rule_id`, `rule_input_entry_id`, `values_map`, `index`, `create_time`, `update_time`) +VALUES(103, 7, 10, NULL, 10, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_relation_rule_input_entry` +(`id`, `rule_id`, `rule_input_entry_id`, `values_map`, `index`, `create_time`, `update_time`) +VALUES(104, 7, 17, NULL, 11, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_relation_rule_input_entry` +(`id`, `rule_id`, `rule_input_entry_id`, `values_map`, `index`, `create_time`, `update_time`) +VALUES(105, 7, 19, NULL, 12, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_relation_rule_input_entry` +(`id`, `rule_id`, `rule_input_entry_id`, `values_map`, `index`, `create_time`, `update_time`) +VALUES(108, 8, 1, NULL, 1, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_relation_rule_input_entry` +(`id`, `rule_id`, `rule_input_entry_id`, `values_map`, `index`, `create_time`, `update_time`) +VALUES(109, 8, 2, NULL, 2, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_relation_rule_input_entry` +(`id`, `rule_id`, `rule_input_entry_id`, `values_map`, `index`, `create_time`, `update_time`) +VALUES(110, 8, 3, NULL, 3, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_relation_rule_input_entry` +(`id`, `rule_id`, `rule_input_entry_id`, `values_map`, `index`, `create_time`, `update_time`) +VALUES(111, 8, 4, NULL, 4, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_relation_rule_input_entry` +(`id`, `rule_id`, `rule_input_entry_id`, `values_map`, `index`, `create_time`, `update_time`) +VALUES(112, 8, 5, NULL, 5, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_relation_rule_input_entry` +(`id`, `rule_id`, `rule_input_entry_id`, `values_map`, `index`, `create_time`, `update_time`) +VALUES(113, 8, 6, '{"statistics_name":"timeliness_count.timeliness"}', 6, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_relation_rule_input_entry` +(`id`, `rule_id`, `rule_input_entry_id`, `values_map`, `index`, `create_time`, `update_time`) +VALUES(114, 8, 26, NULL, 8, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_relation_rule_input_entry` +(`id`, `rule_id`, `rule_input_entry_id`, `values_map`, `index`, `create_time`, `update_time`) +VALUES(115, 8, 27, NULL, 9, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_relation_rule_input_entry` +(`id`, `rule_id`, `rule_input_entry_id`, `values_map`, `index`, `create_time`, `update_time`) +VALUES(116, 8, 7, NULL, 10, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_relation_rule_input_entry` +(`id`, `rule_id`, `rule_input_entry_id`, `values_map`, `index`, `create_time`, `update_time`) +VALUES(117, 8, 8, NULL, 11, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_relation_rule_input_entry` +(`id`, `rule_id`, `rule_input_entry_id`, `values_map`, `index`, `create_time`, `update_time`) +VALUES(118, 8, 9, NULL, 12, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_relation_rule_input_entry` +(`id`, `rule_id`, `rule_input_entry_id`, `values_map`, `index`, `create_time`, `update_time`) +VALUES(119, 8, 10, NULL, 13, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_relation_rule_input_entry` +(`id`, `rule_id`, `rule_input_entry_id`, `values_map`, `index`, `create_time`, `update_time`) +VALUES(120, 8, 17, NULL, 14, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_relation_rule_input_entry` +(`id`, `rule_id`, `rule_input_entry_id`, `values_map`, `index`, `create_time`, `update_time`) +VALUES(121, 8, 19, NULL, 15, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_relation_rule_input_entry` +(`id`, `rule_id`, `rule_input_entry_id`, `values_map`, `index`, `create_time`, `update_time`) +VALUES(124, 9, 1, NULL, 1, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_relation_rule_input_entry` +(`id`, `rule_id`, `rule_input_entry_id`, `values_map`, `index`, `create_time`, `update_time`) +VALUES(125, 9, 2, NULL, 2, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_relation_rule_input_entry` +(`id`, `rule_id`, `rule_input_entry_id`, `values_map`, `index`, `create_time`, `update_time`) +VALUES(126, 9, 3, NULL, 3, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_relation_rule_input_entry` +(`id`, `rule_id`, `rule_input_entry_id`, `values_map`, `index`, `create_time`, `update_time`) +VALUES(127, 9, 4, NULL, 4, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_relation_rule_input_entry` +(`id`, `rule_id`, `rule_input_entry_id`, `values_map`, `index`, `create_time`, `update_time`) +VALUES(128, 9, 5, NULL, 5, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_relation_rule_input_entry` +(`id`, `rule_id`, `rule_input_entry_id`, `values_map`, `index`, `create_time`, `update_time`) +VALUES(129, 9, 6, '{"statistics_name":"enum_count.enums"}', 6, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_relation_rule_input_entry` +(`id`, `rule_id`, `rule_input_entry_id`, `values_map`, `index`, `create_time`, `update_time`) +VALUES(130, 9, 28, NULL, 7, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_relation_rule_input_entry` +(`id`, `rule_id`, `rule_input_entry_id`, `values_map`, `index`, `create_time`, `update_time`) +VALUES(131, 9, 7, NULL, 8, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_relation_rule_input_entry` +(`id`, `rule_id`, `rule_input_entry_id`, `values_map`, `index`, `create_time`, `update_time`) +VALUES(132, 9, 8, NULL, 9, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_relation_rule_input_entry` +(`id`, `rule_id`, `rule_input_entry_id`, `values_map`, `index`, `create_time`, `update_time`) +VALUES(133, 9, 9, NULL, 10, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_relation_rule_input_entry` +(`id`, `rule_id`, `rule_input_entry_id`, `values_map`, `index`, `create_time`, `update_time`) +VALUES(134, 9, 10, NULL, 11, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_relation_rule_input_entry` +(`id`, `rule_id`, `rule_input_entry_id`, `values_map`, `index`, `create_time`, `update_time`) +VALUES(135, 9, 17, NULL, 12, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_relation_rule_input_entry` +(`id`, `rule_id`, `rule_input_entry_id`, `values_map`, `index`, `create_time`, `update_time`) +VALUES(136, 9, 19, NULL, 13, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_relation_rule_input_entry` +(`id`, `rule_id`, `rule_input_entry_id`, `values_map`, `index`, `create_time`, `update_time`) +VALUES(139, 10, 1, NULL, 1, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_relation_rule_input_entry` +(`id`, `rule_id`, `rule_input_entry_id`, `values_map`, `index`, `create_time`, `update_time`) +VALUES(140, 10, 2, NULL, 2, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_relation_rule_input_entry` +(`id`, `rule_id`, `rule_input_entry_id`, `values_map`, `index`, `create_time`, `update_time`) +VALUES(141, 10, 3, NULL, 3, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_relation_rule_input_entry` +(`id`, `rule_id`, `rule_input_entry_id`, `values_map`, `index`, `create_time`, `update_time`) +VALUES(142, 10, 4, NULL, 4, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_relation_rule_input_entry` +(`id`, `rule_id`, `rule_input_entry_id`, `values_map`, `index`, `create_time`, `update_time`) +VALUES(143, 10, 6, '{"statistics_name":"table_count.total"}', 6, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_relation_rule_input_entry` +(`id`, `rule_id`, `rule_input_entry_id`, `values_map`, `index`, `create_time`, `update_time`) +VALUES(144, 10, 7, NULL, 7, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_relation_rule_input_entry` +(`id`, `rule_id`, `rule_input_entry_id`, `values_map`, `index`, `create_time`, `update_time`) +VALUES(145, 10, 8, NULL, 8, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_relation_rule_input_entry` +(`id`, `rule_id`, `rule_input_entry_id`, `values_map`, `index`, `create_time`, `update_time`) +VALUES(146, 10, 9, NULL, 9, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_relation_rule_input_entry` +(`id`, `rule_id`, `rule_input_entry_id`, `values_map`, `index`, `create_time`, `update_time`) +VALUES(147, 10, 10, NULL, 10, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_relation_rule_input_entry` +(`id`, `rule_id`, `rule_input_entry_id`, `values_map`, `index`, `create_time`, `update_time`) +VALUES(148, 10, 17, NULL, 11, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO `t_ds_relation_rule_input_entry` +(`id`, `rule_id`, `rule_input_entry_id`, `values_map`, `index`, `create_time`, `update_time`) +VALUES(149, 10, 19, NULL, 12, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_relation_rule_input_entry +(`id`, `rule_id`, `rule_input_entry_id`, `values_map`, `index`, `create_time`, `update_time`) +VALUES(150, 8, 29, NULL, 7, '2021-03-03 11:31:24.0', '2021-03-03 11:31:24.0'); + +-- ---------------------------- +-- Table structure for t_ds_environment +-- ---------------------------- +DROP TABLE IF EXISTS `t_ds_environment`; +CREATE TABLE `t_ds_environment` ( + `id` bigint(11) NOT NULL AUTO_INCREMENT COMMENT 'id', + `code` bigint(20) DEFAULT NULL COMMENT 'encoding', + `name` varchar(100) NOT NULL COMMENT 'environment name', + `config` text NULL DEFAULT NULL COMMENT 'this config contains many environment variables config', + `description` text NULL DEFAULT NULL COMMENT 'the details', + `operator` int(11) DEFAULT NULL COMMENT 'operator user id', + `create_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP, + `update_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`id`), + UNIQUE KEY `environment_name_unique` (`name`), + UNIQUE KEY `environment_code_unique` (`code`) +) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8; + +-- ---------------------------- +-- Table structure for t_ds_environment_worker_group_relation +-- ---------------------------- +DROP TABLE IF EXISTS `t_ds_environment_worker_group_relation`; +CREATE TABLE `t_ds_environment_worker_group_relation` ( + `id` bigint(11) NOT NULL AUTO_INCREMENT COMMENT 'id', + `environment_code` bigint(20) NOT NULL COMMENT 'environment code', + `worker_group` varchar(255) NOT NULL COMMENT 'worker group id', + `operator` int(11) DEFAULT NULL COMMENT 'operator user id', + `create_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP, + `update_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY (`id`), + UNIQUE KEY `environment_worker_group_unique` (`environment_code`,`worker_group`) +) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8; + +-- ---------------------------- +-- Table structure for t_ds_task_group_queue +-- ---------------------------- +DROP TABLE IF EXISTS `t_ds_task_group_queue`; +CREATE TABLE `t_ds_task_group_queue` ( + `id` int(11) NOT NULL AUTO_INCREMENT COMMENT'key', + `task_id` int(11) DEFAULT NULL COMMENT 'taskintanceid', + `task_name` varchar(100) DEFAULT NULL COMMENT 'TaskInstance name', + `group_id` int(11) DEFAULT NULL COMMENT 'taskGroup id', + `process_id` int(11) DEFAULT NULL COMMENT 'processInstace id', + `priority` int(8) DEFAULT '0' COMMENT 'priority', + `status` tinyint(4) DEFAULT '-1' COMMENT '-1: waiting 1: running 2: finished', + `force_start` tinyint(4) DEFAULT '0' COMMENT 'is force start 0 NO ,1 YES', + `in_queue` tinyint(4) DEFAULT '0' COMMENT 'ready to get the queue by other task finish 0 NO ,1 YES', + `create_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP, + `update_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY( `id` ) +)ENGINE= INNODB AUTO_INCREMENT= 1 DEFAULT CHARSET= utf8; + +-- ---------------------------- +-- Table structure for t_ds_task_group +-- ---------------------------- +DROP TABLE IF EXISTS `t_ds_task_group`; +CREATE TABLE `t_ds_task_group` ( + `id` int(11) NOT NULL AUTO_INCREMENT COMMENT'key', + `name` varchar(100) DEFAULT NULL COMMENT 'task_group name', + `description` varchar(200) DEFAULT NULL, + `group_size` int (11) NOT NULL COMMENT'group size', + `use_size` int (11) DEFAULT '0' COMMENT 'used size', + `user_id` int(11) DEFAULT NULL COMMENT 'creator id', + `project_code` bigint(20) DEFAULT 0 COMMENT 'project code', + `status` tinyint(4) DEFAULT '1' COMMENT '0 not available, 1 available', + `create_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP, + `update_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + PRIMARY KEY(`id`) +) ENGINE= INNODB AUTO_INCREMENT= 1 DEFAULT CHARSET= utf8; + +-- ---------------------------- +-- Table structure for t_ds_audit_log +-- ---------------------------- +DROP TABLE IF EXISTS `t_ds_audit_log`; +CREATE TABLE `t_ds_audit_log` ( + `id` bigint(11) NOT NULL AUTO_INCREMENT COMMENT'key', + `user_id` int(11) NOT NULL COMMENT 'user id', + `resource_type` int(11) NOT NULL COMMENT 'resource type', + `operation` int(11) NOT NULL COMMENT 'operation', + `time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT 'create time', + `resource_id` int(11) NULL DEFAULT NULL COMMENT 'resource id', + PRIMARY KEY (`id`) +) ENGINE=InnoDB AUTO_INCREMENT= 1 DEFAULT CHARSET=utf8; + +-- ---------------------------- +-- Table structure for t_ds_k8s +-- ---------------------------- +DROP TABLE IF EXISTS `t_ds_k8s`; +CREATE TABLE `t_ds_k8s` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `k8s_name` varchar(100) DEFAULT NULL, + `k8s_config` text DEFAULT NULL, + `create_time` datetime DEFAULT NULL COMMENT 'create time', + `update_time` datetime DEFAULT NULL COMMENT 'update time', + PRIMARY KEY (`id`) +) ENGINE= INNODB AUTO_INCREMENT= 1 DEFAULT CHARSET= utf8; + +-- ---------------------------- +-- Table structure for t_ds_k8s_namespace +-- ---------------------------- +DROP TABLE IF EXISTS `t_ds_k8s_namespace`; +CREATE TABLE `t_ds_k8s_namespace` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `limits_memory` int(11) DEFAULT NULL, + `namespace` varchar(100) DEFAULT NULL, + `online_job_num` int(11) DEFAULT NULL, + `user_id` int(11) DEFAULT NULL, + `pod_replicas` int(11) DEFAULT NULL, + `pod_request_cpu` decimal(14,3) DEFAULT NULL, + `pod_request_memory` int(11) DEFAULT NULL, + `limits_cpu` decimal(14,3) DEFAULT NULL, + `k8s` varchar(100) DEFAULT NULL, + `create_time` datetime DEFAULT NULL COMMENT 'create time', + `update_time` datetime DEFAULT NULL COMMENT 'update time', + PRIMARY KEY (`id`), + UNIQUE KEY `k8s_namespace_unique` (`namespace`,`k8s`) +) ENGINE= INNODB AUTO_INCREMENT= 1 DEFAULT CHARSET= utf8; + +-- ---------------------------- +-- Table structure for t_ds_relation_namespace_user +-- ---------------------------- +DROP TABLE IF EXISTS `t_ds_relation_namespace_user`; +CREATE TABLE `t_ds_relation_namespace_user` ( + `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'key', + `user_id` int(11) NOT NULL COMMENT 'user id', + `namespace_id` int(11) DEFAULT NULL COMMENT 'namespace id', + `perm` int(11) DEFAULT '1' COMMENT 'limits of authority', + `create_time` datetime DEFAULT NULL COMMENT 'create time', + `update_time` datetime DEFAULT NULL COMMENT 'update time', + PRIMARY KEY (`id`), + UNIQUE KEY `namespace_user_unique` (`user_id`,`namespace_id`) +) ENGINE=InnoDB AUTO_INCREMENT= 1 DEFAULT CHARSET= utf8; + +-- ---------------------------- +-- Table structure for t_ds_alert_send_status +-- ---------------------------- +DROP TABLE IF EXISTS t_ds_alert_send_status; +CREATE TABLE t_ds_alert_send_status ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `alert_id` int(11) NOT NULL, + `alert_plugin_instance_id` int(11) NOT NULL, + `send_status` tinyint(4) DEFAULT '0', + `log` text, + `create_time` datetime DEFAULT NULL COMMENT 'create time', + PRIMARY KEY (`id`), + UNIQUE KEY `alert_send_status_unique` (`alert_id`,`alert_plugin_instance_id`) +) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8; diff --git a/dolphinscheduler-tools/src/test/resources/3.0.0_schema/postgresql_3.0.0.sql b/dolphinscheduler-tools/src/test/resources/3.0.0_schema/postgresql_3.0.0.sql new file mode 100644 index 0000000000..4b0cae0c2f --- /dev/null +++ b/dolphinscheduler-tools/src/test/resources/3.0.0_schema/postgresql_3.0.0.sql @@ -0,0 +1,1919 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. +*/ + +DROP TABLE IF EXISTS QRTZ_FIRED_TRIGGERS; +DROP TABLE IF EXISTS QRTZ_PAUSED_TRIGGER_GRPS; +DROP TABLE IF EXISTS QRTZ_SCHEDULER_STATE; +DROP TABLE IF EXISTS QRTZ_LOCKS; +DROP TABLE IF EXISTS QRTZ_SIMPLE_TRIGGERS; +DROP TABLE IF EXISTS QRTZ_SIMPROP_TRIGGERS; +DROP TABLE IF EXISTS QRTZ_CRON_TRIGGERS; +DROP TABLE IF EXISTS QRTZ_BLOB_TRIGGERS; +DROP TABLE IF EXISTS QRTZ_TRIGGERS; +DROP TABLE IF EXISTS QRTZ_JOB_DETAILS; +DROP TABLE IF EXISTS QRTZ_CALENDARS; + +CREATE TABLE QRTZ_JOB_DETAILS ( + SCHED_NAME character varying(120) NOT NULL, + JOB_NAME character varying(200) NOT NULL, + JOB_GROUP character varying(200) NOT NULL, + DESCRIPTION character varying(250) NULL, + JOB_CLASS_NAME character varying(250) NOT NULL, + IS_DURABLE boolean NOT NULL, + IS_NONCONCURRENT boolean NOT NULL, + IS_UPDATE_DATA boolean NOT NULL, + REQUESTS_RECOVERY boolean NOT NULL, + JOB_DATA bytea NULL +); + +alter table QRTZ_JOB_DETAILS add primary key(SCHED_NAME,JOB_NAME,JOB_GROUP); + +CREATE TABLE QRTZ_TRIGGERS ( + SCHED_NAME character varying(120) NOT NULL, + TRIGGER_NAME character varying(200) NOT NULL, + TRIGGER_GROUP character varying(200) NOT NULL, + JOB_NAME character varying(200) NOT NULL, + JOB_GROUP character varying(200) NOT NULL, + DESCRIPTION character varying(250) NULL, + NEXT_FIRE_TIME BIGINT NULL, + PREV_FIRE_TIME BIGINT NULL, + PRIORITY INTEGER NULL, + TRIGGER_STATE character varying(16) NOT NULL, + TRIGGER_TYPE character varying(8) NOT NULL, + START_TIME BIGINT NOT NULL, + END_TIME BIGINT NULL, + CALENDAR_NAME character varying(200) NULL, + MISFIRE_INSTR SMALLINT NULL, + JOB_DATA bytea NULL +) ; + +alter table QRTZ_TRIGGERS add primary key(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP); + +CREATE TABLE QRTZ_SIMPLE_TRIGGERS ( + SCHED_NAME character varying(120) NOT NULL, + TRIGGER_NAME character varying(200) NOT NULL, + TRIGGER_GROUP character varying(200) NOT NULL, + REPEAT_COUNT BIGINT NOT NULL, + REPEAT_INTERVAL BIGINT NOT NULL, + TIMES_TRIGGERED BIGINT NOT NULL +) ; + +alter table QRTZ_SIMPLE_TRIGGERS add primary key(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP); + +CREATE TABLE QRTZ_CRON_TRIGGERS ( + SCHED_NAME character varying(120) NOT NULL, + TRIGGER_NAME character varying(200) NOT NULL, + TRIGGER_GROUP character varying(200) NOT NULL, + CRON_EXPRESSION character varying(120) NOT NULL, + TIME_ZONE_ID character varying(80) +) ; + +alter table QRTZ_CRON_TRIGGERS add primary key(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP); + +CREATE TABLE QRTZ_SIMPROP_TRIGGERS ( + SCHED_NAME character varying(120) NOT NULL, + TRIGGER_NAME character varying(200) NOT NULL, + TRIGGER_GROUP character varying(200) NOT NULL, + STR_PROP_1 character varying(512) NULL, + STR_PROP_2 character varying(512) NULL, + STR_PROP_3 character varying(512) NULL, + INT_PROP_1 INT NULL, + INT_PROP_2 INT NULL, + LONG_PROP_1 BIGINT NULL, + LONG_PROP_2 BIGINT NULL, + DEC_PROP_1 NUMERIC(13,4) NULL, + DEC_PROP_2 NUMERIC(13,4) NULL, + BOOL_PROP_1 boolean NULL, + BOOL_PROP_2 boolean NULL +) ; + +alter table QRTZ_SIMPROP_TRIGGERS add primary key(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP); + +CREATE TABLE QRTZ_BLOB_TRIGGERS ( + SCHED_NAME character varying(120) NOT NULL, + TRIGGER_NAME character varying(200) NOT NULL, + TRIGGER_GROUP character varying(200) NOT NULL, + BLOB_DATA bytea NULL +) ; + +alter table QRTZ_BLOB_TRIGGERS add primary key(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP); + +CREATE TABLE QRTZ_CALENDARS ( + SCHED_NAME character varying(120) NOT NULL, + CALENDAR_NAME character varying(200) NOT NULL, + CALENDAR bytea NOT NULL +) ; + +alter table QRTZ_CALENDARS add primary key(SCHED_NAME,CALENDAR_NAME); + +CREATE TABLE QRTZ_PAUSED_TRIGGER_GRPS ( + SCHED_NAME character varying(120) NOT NULL, + TRIGGER_GROUP character varying(200) NOT NULL +) ; + +alter table QRTZ_PAUSED_TRIGGER_GRPS add primary key(SCHED_NAME,TRIGGER_GROUP); + +CREATE TABLE QRTZ_FIRED_TRIGGERS ( + SCHED_NAME character varying(120) NOT NULL, + ENTRY_ID character varying(200) NOT NULL, + TRIGGER_NAME character varying(200) NOT NULL, + TRIGGER_GROUP character varying(200) NOT NULL, + INSTANCE_NAME character varying(200) NOT NULL, + FIRED_TIME BIGINT NOT NULL, + SCHED_TIME BIGINT NOT NULL, + PRIORITY INTEGER NOT NULL, + STATE character varying(16) NOT NULL, + JOB_NAME character varying(200) NULL, + JOB_GROUP character varying(200) NULL, + IS_NONCONCURRENT boolean NULL, + REQUESTS_RECOVERY boolean NULL +) ; + +alter table QRTZ_FIRED_TRIGGERS add primary key(SCHED_NAME,ENTRY_ID); + +CREATE TABLE QRTZ_SCHEDULER_STATE ( + SCHED_NAME character varying(120) NOT NULL, + INSTANCE_NAME character varying(200) NOT NULL, + LAST_CHECKIN_TIME BIGINT NOT NULL, + CHECKIN_INTERVAL BIGINT NOT NULL +) ; + +alter table QRTZ_SCHEDULER_STATE add primary key(SCHED_NAME,INSTANCE_NAME); + +CREATE TABLE QRTZ_LOCKS ( + SCHED_NAME character varying(120) NOT NULL, + LOCK_NAME character varying(40) NOT NULL +) ; + +alter table QRTZ_LOCKS add primary key(SCHED_NAME,LOCK_NAME); + +CREATE INDEX IDX_QRTZ_J_REQ_RECOVERY ON QRTZ_JOB_DETAILS(SCHED_NAME,REQUESTS_RECOVERY); +CREATE INDEX IDX_QRTZ_J_GRP ON QRTZ_JOB_DETAILS(SCHED_NAME,JOB_GROUP); + +CREATE INDEX IDX_QRTZ_T_J ON QRTZ_TRIGGERS(SCHED_NAME,JOB_NAME,JOB_GROUP); +CREATE INDEX IDX_QRTZ_T_JG ON QRTZ_TRIGGERS(SCHED_NAME,JOB_GROUP); +CREATE INDEX IDX_QRTZ_T_C ON QRTZ_TRIGGERS(SCHED_NAME,CALENDAR_NAME); +CREATE INDEX IDX_QRTZ_T_G ON QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_GROUP); +CREATE INDEX IDX_QRTZ_T_STATE ON QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_STATE); +CREATE INDEX IDX_QRTZ_T_N_STATE ON QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP,TRIGGER_STATE); +CREATE INDEX IDX_QRTZ_T_N_G_STATE ON QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_GROUP,TRIGGER_STATE); +CREATE INDEX IDX_QRTZ_T_NEXT_FIRE_TIME ON QRTZ_TRIGGERS(SCHED_NAME,NEXT_FIRE_TIME); +CREATE INDEX IDX_QRTZ_T_NFT_ST ON QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_STATE,NEXT_FIRE_TIME); +CREATE INDEX IDX_QRTZ_T_NFT_MISFIRE ON QRTZ_TRIGGERS(SCHED_NAME,MISFIRE_INSTR,NEXT_FIRE_TIME); +CREATE INDEX IDX_QRTZ_T_NFT_ST_MISFIRE ON QRTZ_TRIGGERS(SCHED_NAME,MISFIRE_INSTR,NEXT_FIRE_TIME,TRIGGER_STATE); +CREATE INDEX IDX_QRTZ_T_NFT_ST_MISFIRE_GRP ON QRTZ_TRIGGERS(SCHED_NAME,MISFIRE_INSTR,NEXT_FIRE_TIME,TRIGGER_GROUP,TRIGGER_STATE); + +CREATE INDEX IDX_QRTZ_FT_TRIG_INST_NAME ON QRTZ_FIRED_TRIGGERS(SCHED_NAME,INSTANCE_NAME); +CREATE INDEX IDX_QRTZ_FT_INST_JOB_REQ_RCVRY ON QRTZ_FIRED_TRIGGERS(SCHED_NAME,INSTANCE_NAME,REQUESTS_RECOVERY); +CREATE INDEX IDX_QRTZ_FT_J_G ON QRTZ_FIRED_TRIGGERS(SCHED_NAME,JOB_NAME,JOB_GROUP); +CREATE INDEX IDX_QRTZ_FT_JG ON QRTZ_FIRED_TRIGGERS(SCHED_NAME,JOB_GROUP); +CREATE INDEX IDX_QRTZ_FT_T_G ON QRTZ_FIRED_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP); +CREATE INDEX IDX_QRTZ_FT_TG ON QRTZ_FIRED_TRIGGERS(SCHED_NAME,TRIGGER_GROUP); + + +-- +-- Table structure for table t_ds_access_token +-- + +DROP TABLE IF EXISTS t_ds_access_token; +CREATE TABLE t_ds_access_token ( + id int NOT NULL , + user_id int DEFAULT NULL , + token varchar(64) DEFAULT NULL , + expire_time timestamp DEFAULT NULL , + create_time timestamp DEFAULT NULL , + update_time timestamp DEFAULT NULL , + PRIMARY KEY (id) +) ; + +-- +-- Table structure for table t_ds_alert +-- + +DROP TABLE IF EXISTS t_ds_alert; +CREATE TABLE t_ds_alert ( + id int NOT NULL , + title varchar(64) DEFAULT NULL , + sign varchar(40) NOT NULL DEFAULT '', + content text , + alert_status int DEFAULT '0' , + warning_type int DEFAULT '2' , + log text , + alertgroup_id int DEFAULT NULL , + create_time timestamp DEFAULT NULL , + update_time timestamp DEFAULT NULL , + project_code bigint DEFAULT NULL, + process_definition_code bigint DEFAULT NULL, + process_instance_id int DEFAULT NULL , + alert_type int DEFAULT NULL , + PRIMARY KEY (id) +); +comment on column t_ds_alert.sign is 'sign=sha1(content)'; + +create index idx_status on t_ds_alert (alert_status); +create index idx_sign on t_ds_alert (sign); + +-- +-- Table structure for table t_ds_alertgroup +-- + +DROP TABLE IF EXISTS t_ds_alertgroup; +CREATE TABLE t_ds_alertgroup( + id int NOT NULL, + alert_instance_ids varchar (255) DEFAULT NULL, + create_user_id int4 DEFAULT NULL, + group_name varchar(255) DEFAULT NULL, + description varchar(255) DEFAULT NULL, + create_time timestamp DEFAULT NULL, + update_time timestamp DEFAULT NULL, + PRIMARY KEY (id), + CONSTRAINT t_ds_alertgroup_name_un UNIQUE (group_name) +) ; + +-- +-- Table structure for table t_ds_command +-- + +DROP TABLE IF EXISTS t_ds_command; +CREATE TABLE t_ds_command ( + id int NOT NULL , + command_type int DEFAULT NULL , + process_definition_code bigint NOT NULL , + command_param text , + task_depend_type int DEFAULT NULL , + failure_strategy int DEFAULT '0' , + warning_type int DEFAULT '0' , + warning_group_id int DEFAULT NULL , + schedule_time timestamp DEFAULT NULL , + start_time timestamp DEFAULT NULL , + executor_id int DEFAULT NULL , + update_time timestamp DEFAULT NULL , + process_instance_priority int DEFAULT NULL , + worker_group varchar(64), + environment_code bigint DEFAULT '-1', + dry_run int DEFAULT '0' , + process_instance_id int DEFAULT 0, + process_definition_version int DEFAULT 0, + PRIMARY KEY (id) +) ; + +create index priority_id_index on t_ds_command (process_instance_priority,id); + +-- +-- Table structure for table t_ds_datasource +-- + +DROP TABLE IF EXISTS t_ds_datasource; +CREATE TABLE t_ds_datasource ( + id int NOT NULL , + name varchar(64) NOT NULL , + note varchar(255) DEFAULT NULL , + type int NOT NULL , + user_id int NOT NULL , + connection_params text NOT NULL , + create_time timestamp NOT NULL , + update_time timestamp DEFAULT NULL , + PRIMARY KEY (id), + CONSTRAINT t_ds_datasource_name_un UNIQUE (name, type) +) ; + +-- +-- Table structure for table t_ds_error_command +-- + +DROP TABLE IF EXISTS t_ds_error_command; +CREATE TABLE t_ds_error_command ( + id int NOT NULL , + command_type int DEFAULT NULL , + process_definition_code bigint NOT NULL , + command_param text , + task_depend_type int DEFAULT NULL , + failure_strategy int DEFAULT '0' , + warning_type int DEFAULT '0' , + warning_group_id int DEFAULT NULL , + schedule_time timestamp DEFAULT NULL , + start_time timestamp DEFAULT NULL , + executor_id int DEFAULT NULL , + update_time timestamp DEFAULT NULL , + process_instance_priority int DEFAULT NULL , + worker_group varchar(64), + environment_code bigint DEFAULT '-1', + dry_run int DEFAULT '0' , + message text , + process_instance_id int DEFAULT 0, + process_definition_version int DEFAULT 0, + PRIMARY KEY (id) +); + +-- +-- Table structure for table t_ds_process_definition +-- + +DROP TABLE IF EXISTS t_ds_process_definition; +CREATE TABLE t_ds_process_definition ( + id int NOT NULL , + code bigint NOT NULL, + name varchar(255) DEFAULT NULL , + version int NOT NULL , + description text , + project_code bigint DEFAULT NULL , + release_state int DEFAULT NULL , + user_id int DEFAULT NULL , + global_params text , + locations text , + warning_group_id int DEFAULT NULL , + flag int DEFAULT NULL , + timeout int DEFAULT '0' , + tenant_id int DEFAULT '-1' , + execution_type int DEFAULT '0', + create_time timestamp DEFAULT NULL , + update_time timestamp DEFAULT NULL , + PRIMARY KEY (id) , + CONSTRAINT process_definition_unique UNIQUE (name, project_code) +) ; + +create index process_definition_index on t_ds_process_definition (code,id); + +-- +-- Table structure for table t_ds_process_definition_log +-- + +DROP TABLE IF EXISTS t_ds_process_definition_log; +CREATE TABLE t_ds_process_definition_log ( + id int NOT NULL , + code bigint NOT NULL, + name varchar(255) DEFAULT NULL , + version int NOT NULL , + description text , + project_code bigint DEFAULT NULL , + release_state int DEFAULT NULL , + user_id int DEFAULT NULL , + global_params text , + locations text , + warning_group_id int DEFAULT NULL , + flag int DEFAULT NULL , + timeout int DEFAULT '0' , + tenant_id int DEFAULT '-1' , + execution_type int DEFAULT '0', + operator int DEFAULT NULL , + operate_time timestamp DEFAULT NULL , + create_time timestamp DEFAULT NULL , + update_time timestamp DEFAULT NULL , + PRIMARY KEY (id) +) ; + +-- +-- Table structure for table t_ds_task_definition +-- + +DROP TABLE IF EXISTS t_ds_task_definition; +CREATE TABLE t_ds_task_definition ( + id int NOT NULL , + code bigint NOT NULL, + name varchar(255) DEFAULT NULL , + version int NOT NULL , + description text , + project_code bigint DEFAULT NULL , + user_id int DEFAULT NULL , + task_type varchar(50) DEFAULT NULL , + task_params text , + flag int DEFAULT NULL , + task_priority int DEFAULT NULL , + worker_group varchar(255) DEFAULT NULL , + environment_code bigint DEFAULT '-1', + fail_retry_times int DEFAULT NULL , + fail_retry_interval int DEFAULT NULL , + timeout_flag int DEFAULT NULL , + timeout_notify_strategy int DEFAULT NULL , + timeout int DEFAULT '0' , + delay_time int DEFAULT '0' , + task_group_id int DEFAULT NULL, + task_group_priority int DEFAULT '0', + resource_ids text , + create_time timestamp DEFAULT NULL , + update_time timestamp DEFAULT NULL , + PRIMARY KEY (id) +) ; + +create index task_definition_index on t_ds_task_definition (project_code,id); + +-- +-- Table structure for table t_ds_task_definition_log +-- + +DROP TABLE IF EXISTS t_ds_task_definition_log; +CREATE TABLE t_ds_task_definition_log ( + id int NOT NULL , + code bigint NOT NULL, + name varchar(255) DEFAULT NULL , + version int NOT NULL , + description text , + project_code bigint DEFAULT NULL , + user_id int DEFAULT NULL , + task_type varchar(50) DEFAULT NULL , + task_params text , + flag int DEFAULT NULL , + task_priority int DEFAULT NULL , + worker_group varchar(255) DEFAULT NULL , + environment_code bigint DEFAULT '-1', + fail_retry_times int DEFAULT NULL , + fail_retry_interval int DEFAULT NULL , + timeout_flag int DEFAULT NULL , + timeout_notify_strategy int DEFAULT NULL , + timeout int DEFAULT '0' , + delay_time int DEFAULT '0' , + resource_ids text , + operator int DEFAULT NULL , + task_group_id int DEFAULT NULL, + task_group_priority int DEFAULT '0', + operate_time timestamp DEFAULT NULL , + create_time timestamp DEFAULT NULL , + update_time timestamp DEFAULT NULL , + PRIMARY KEY (id) +) ; + +create index idx_task_definition_log_code_version on t_ds_task_definition_log (code,version); +create index idx_task_definition_log_project_code on t_ds_task_definition_log (project_code); + +-- +-- Table structure for table t_ds_process_task_relation +-- + +DROP TABLE IF EXISTS t_ds_process_task_relation; +CREATE TABLE t_ds_process_task_relation ( + id int NOT NULL , + name varchar(255) DEFAULT NULL , + project_code bigint DEFAULT NULL , + process_definition_code bigint DEFAULT NULL , + process_definition_version int DEFAULT NULL , + pre_task_code bigint DEFAULT NULL , + pre_task_version int DEFAULT '0' , + post_task_code bigint DEFAULT NULL , + post_task_version int DEFAULT '0' , + condition_type int DEFAULT NULL , + condition_params text , + create_time timestamp DEFAULT NULL , + update_time timestamp DEFAULT NULL , + PRIMARY KEY (id) +) ; + +create index process_task_relation_idx_project_code_process_definition_code on t_ds_process_task_relation (project_code,process_definition_code); +create index process_task_relation_idx_pre_task_code_version on t_ds_process_task_relation (pre_task_code, pre_task_version); +create index process_task_relation_idx_post_task_code_version on t_ds_process_task_relation (post_task_code, post_task_version); + +-- +-- Table structure for table t_ds_process_task_relation_log +-- + +DROP TABLE IF EXISTS t_ds_process_task_relation_log; +CREATE TABLE t_ds_process_task_relation_log ( + id int NOT NULL , + name varchar(255) DEFAULT NULL , + project_code bigint DEFAULT NULL , + process_definition_code bigint DEFAULT NULL , + process_definition_version int DEFAULT NULL , + pre_task_code bigint DEFAULT NULL , + pre_task_version int DEFAULT '0' , + post_task_code bigint DEFAULT NULL , + post_task_version int DEFAULT '0' , + condition_type int DEFAULT NULL , + condition_params text , + operator int DEFAULT NULL , + operate_time timestamp DEFAULT NULL , + create_time timestamp DEFAULT NULL , + update_time timestamp DEFAULT NULL , + PRIMARY KEY (id) +) ; + +create index process_task_relation_log_idx_project_code_process_definition_code on t_ds_process_task_relation_log (project_code,process_definition_code); + +-- +-- Table structure for table t_ds_process_instance +-- + +DROP TABLE IF EXISTS t_ds_process_instance; +CREATE TABLE t_ds_process_instance ( + id int NOT NULL , + name varchar(255) DEFAULT NULL , + process_definition_code bigint DEFAULT NULL , + process_definition_version int DEFAULT NULL , + state int DEFAULT NULL , + recovery int DEFAULT NULL , + start_time timestamp DEFAULT NULL , + end_time timestamp DEFAULT NULL , + run_times int DEFAULT NULL , + host varchar(135) DEFAULT NULL , + command_type int DEFAULT NULL , + command_param text , + task_depend_type int DEFAULT NULL , + max_try_times int DEFAULT '0' , + failure_strategy int DEFAULT '0' , + warning_type int DEFAULT '0' , + warning_group_id int DEFAULT NULL , + schedule_time timestamp DEFAULT NULL , + command_start_time timestamp DEFAULT NULL , + global_params text , + process_instance_json text , + flag int DEFAULT '1' , + update_time timestamp NULL , + is_sub_process int DEFAULT '0' , + executor_id int NOT NULL , + history_cmd text , + dependence_schedule_times text , + process_instance_priority int DEFAULT NULL , + worker_group varchar(64) , + environment_code bigint DEFAULT '-1', + timeout int DEFAULT '0' , + tenant_id int NOT NULL DEFAULT '-1' , + var_pool text , + dry_run int DEFAULT '0' , + next_process_instance_id int DEFAULT '0', + restart_time timestamp DEFAULT NULL , + PRIMARY KEY (id) +) ; + +create index process_instance_index on t_ds_process_instance (process_definition_code,id); +create index start_time_index on t_ds_process_instance (start_time,end_time); + +-- +-- Table structure for table t_ds_project +-- + +DROP TABLE IF EXISTS t_ds_project; +CREATE TABLE t_ds_project ( + id int NOT NULL , + name varchar(100) DEFAULT NULL , + code bigint NOT NULL, + description varchar(200) DEFAULT NULL , + user_id int DEFAULT NULL , + flag int DEFAULT '1' , + create_time timestamp DEFAULT CURRENT_TIMESTAMP , + update_time timestamp DEFAULT CURRENT_TIMESTAMP , + PRIMARY KEY (id) +) ; + +create index user_id_index on t_ds_project (user_id); +CREATE UNIQUE INDEX unique_name on t_ds_project (name); +CREATE UNIQUE INDEX unique_code on t_ds_project (code); + +-- +-- Table structure for table t_ds_queue +-- + +DROP TABLE IF EXISTS t_ds_queue; +CREATE TABLE t_ds_queue ( + id int NOT NULL , + queue_name varchar(64) DEFAULT NULL , + queue varchar(64) DEFAULT NULL , + create_time timestamp DEFAULT NULL , + update_time timestamp DEFAULT NULL , + PRIMARY KEY (id) +); +-- add unique key to t_ds_queue +CREATE UNIQUE INDEX unique_queue_name on t_ds_queue (queue_name); + +-- +-- Table structure for table t_ds_relation_datasource_user +-- + +DROP TABLE IF EXISTS t_ds_relation_datasource_user; +CREATE TABLE t_ds_relation_datasource_user ( + id int NOT NULL , + user_id int NOT NULL , + datasource_id int DEFAULT NULL , + perm int DEFAULT '1' , + create_time timestamp DEFAULT NULL , + update_time timestamp DEFAULT NULL , + PRIMARY KEY (id) +) ; + +-- +-- Table structure for table t_ds_relation_process_instance +-- + +DROP TABLE IF EXISTS t_ds_relation_process_instance; +CREATE TABLE t_ds_relation_process_instance ( + id int NOT NULL , + parent_process_instance_id int DEFAULT NULL , + parent_task_instance_id int DEFAULT NULL , + process_instance_id int DEFAULT NULL , + PRIMARY KEY (id) +) ; + + +-- +-- Table structure for table t_ds_relation_project_user +-- + +DROP TABLE IF EXISTS t_ds_relation_project_user; +CREATE TABLE t_ds_relation_project_user ( + id int NOT NULL , + user_id int NOT NULL , + project_id int DEFAULT NULL , + perm int DEFAULT '1' , + create_time timestamp DEFAULT NULL , + update_time timestamp DEFAULT NULL , + PRIMARY KEY (id), + CONSTRAINT t_ds_relation_project_user_un UNIQUE (user_id, project_id) +) ; +create index relation_project_user_id_index on t_ds_relation_project_user (user_id); + +-- +-- Table structure for table t_ds_relation_resources_user +-- + +DROP TABLE IF EXISTS t_ds_relation_resources_user; +CREATE TABLE t_ds_relation_resources_user ( + id int NOT NULL , + user_id int NOT NULL , + resources_id int DEFAULT NULL , + perm int DEFAULT '1' , + create_time timestamp DEFAULT NULL , + update_time timestamp DEFAULT NULL , + PRIMARY KEY (id) +) ; + +-- +-- Table structure for table t_ds_relation_udfs_user +-- + +DROP TABLE IF EXISTS t_ds_relation_udfs_user; +CREATE TABLE t_ds_relation_udfs_user ( + id int NOT NULL , + user_id int NOT NULL , + udf_id int DEFAULT NULL , + perm int DEFAULT '1' , + create_time timestamp DEFAULT NULL , + update_time timestamp DEFAULT NULL , + PRIMARY KEY (id) +) ; +; + +-- +-- Table structure for table t_ds_resources +-- + +DROP TABLE IF EXISTS t_ds_resources; +CREATE TABLE t_ds_resources ( + id int NOT NULL , + alias varchar(64) DEFAULT NULL , + file_name varchar(64) DEFAULT NULL , + description varchar(255) DEFAULT NULL , + user_id int DEFAULT NULL , + type int DEFAULT NULL , + size bigint DEFAULT NULL , + create_time timestamp DEFAULT NULL , + update_time timestamp DEFAULT NULL , + pid int, + full_name varchar(128), + is_directory boolean DEFAULT FALSE, + PRIMARY KEY (id), + CONSTRAINT t_ds_resources_un UNIQUE (full_name, type) +) ; + + +-- +-- Table structure for table t_ds_schedules +-- + +DROP TABLE IF EXISTS t_ds_schedules; +CREATE TABLE t_ds_schedules ( + id int NOT NULL , + process_definition_code bigint NOT NULL , + start_time timestamp NOT NULL , + end_time timestamp NOT NULL , + timezone_id varchar(40) default NULL , + crontab varchar(255) NOT NULL , + failure_strategy int NOT NULL , + user_id int NOT NULL , + release_state int NOT NULL , + warning_type int NOT NULL , + warning_group_id int DEFAULT NULL , + process_instance_priority int DEFAULT NULL , + worker_group varchar(64), + environment_code bigint DEFAULT '-1', + create_time timestamp NOT NULL , + update_time timestamp NOT NULL , + PRIMARY KEY (id) +); + +-- +-- Table structure for table t_ds_session +-- + +DROP TABLE IF EXISTS t_ds_session; +CREATE TABLE t_ds_session ( + id varchar(64) NOT NULL , + user_id int DEFAULT NULL , + ip varchar(45) DEFAULT NULL , + last_login_time timestamp DEFAULT NULL , + PRIMARY KEY (id) +); + +-- +-- Table structure for table t_ds_task_instance +-- + +DROP TABLE IF EXISTS t_ds_task_instance; +CREATE TABLE t_ds_task_instance ( + id int NOT NULL , + name varchar(255) DEFAULT NULL , + task_type varchar(50) DEFAULT NULL , + task_code bigint NOT NULL, + task_definition_version int DEFAULT NULL , + process_instance_id int DEFAULT NULL , + state int DEFAULT NULL , + submit_time timestamp DEFAULT NULL , + start_time timestamp DEFAULT NULL , + end_time timestamp DEFAULT NULL , + host varchar(135) DEFAULT NULL , + execute_path varchar(200) DEFAULT NULL , + log_path text DEFAULT NULL , + alert_flag int DEFAULT NULL , + retry_times int DEFAULT '0' , + pid int DEFAULT NULL , + app_link text , + task_params text , + flag int DEFAULT '1' , + retry_interval int DEFAULT NULL , + max_retry_times int DEFAULT NULL , + task_instance_priority int DEFAULT NULL , + worker_group varchar(64), + environment_code bigint DEFAULT '-1', + environment_config text, + executor_id int DEFAULT NULL , + first_submit_time timestamp DEFAULT NULL , + delay_time int DEFAULT '0' , + task_group_id int DEFAULT NULL, + var_pool text , + dry_run int DEFAULT '0' , + PRIMARY KEY (id), + CONSTRAINT foreign_key_instance_id FOREIGN KEY(process_instance_id) REFERENCES t_ds_process_instance(id) ON DELETE CASCADE +) ; + +create index idx_task_instance_code_version on t_ds_task_instance (task_code, task_definition_version); + +-- +-- Table structure for table t_ds_tenant +-- + +DROP TABLE IF EXISTS t_ds_tenant; +CREATE TABLE t_ds_tenant ( + id int NOT NULL , + tenant_code varchar(64) DEFAULT NULL , + description varchar(255) DEFAULT NULL , + queue_id int DEFAULT NULL , + create_time timestamp DEFAULT NULL , + update_time timestamp DEFAULT NULL , + PRIMARY KEY (id) +) ; +-- add unique key to t_ds_tenant +CREATE UNIQUE INDEX unique_tenant_code on t_ds_tenant (tenant_code); + +-- +-- Table structure for table t_ds_udfs +-- + +DROP TABLE IF EXISTS t_ds_udfs; +CREATE TABLE t_ds_udfs ( + id int NOT NULL , + user_id int NOT NULL , + func_name varchar(100) NOT NULL , + class_name varchar(255) NOT NULL , + type int NOT NULL , + arg_types varchar(255) DEFAULT NULL , + database varchar(255) DEFAULT NULL , + description varchar(255) DEFAULT NULL , + resource_id int NOT NULL , + resource_name varchar(255) NOT NULL , + create_time timestamp NOT NULL , + update_time timestamp NOT NULL , + PRIMARY KEY (id) +) ; +-- add unique key to t_ds_udfs +CREATE UNIQUE INDEX unique_func_name on t_ds_udfs (func_name); + +-- +-- Table structure for table t_ds_user +-- + +DROP TABLE IF EXISTS t_ds_user; +CREATE TABLE t_ds_user ( + id int NOT NULL , + user_name varchar(64) DEFAULT NULL , + user_password varchar(64) DEFAULT NULL , + user_type int DEFAULT NULL , + email varchar(64) DEFAULT NULL , + phone varchar(11) DEFAULT NULL , + tenant_id int DEFAULT NULL , + create_time timestamp DEFAULT NULL , + update_time timestamp DEFAULT NULL , + queue varchar(64) DEFAULT NULL , + state int DEFAULT 1 , + time_zone varchar(32) DEFAULT NULL, + PRIMARY KEY (id) +); +comment on column t_ds_user.state is 'state 0:disable 1:enable'; + +-- +-- Table structure for table t_ds_version +-- + +DROP TABLE IF EXISTS t_ds_version; +CREATE TABLE t_ds_version ( + id int NOT NULL , + version varchar(200) NOT NULL, + PRIMARY KEY (id) +) ; +create index version_index on t_ds_version(version); + +-- +-- Table structure for table t_ds_worker_group +-- + +DROP TABLE IF EXISTS t_ds_worker_group; +CREATE TABLE t_ds_worker_group ( + id bigint NOT NULL , + name varchar(255) NOT NULL , + addr_list text DEFAULT NULL , + create_time timestamp DEFAULT NULL , + update_time timestamp DEFAULT NULL , + PRIMARY KEY (id) , + CONSTRAINT name_unique UNIQUE (name) +) ; + +DROP SEQUENCE IF EXISTS t_ds_access_token_id_sequence; +CREATE SEQUENCE t_ds_access_token_id_sequence; +ALTER TABLE t_ds_access_token ALTER COLUMN id SET DEFAULT NEXTVAL('t_ds_access_token_id_sequence'); +DROP SEQUENCE IF EXISTS t_ds_alert_id_sequence; +CREATE SEQUENCE t_ds_alert_id_sequence; +ALTER TABLE t_ds_alert ALTER COLUMN id SET DEFAULT NEXTVAL('t_ds_alert_id_sequence'); +DROP SEQUENCE IF EXISTS t_ds_alertgroup_id_sequence; +CREATE SEQUENCE t_ds_alertgroup_id_sequence; +ALTER TABLE t_ds_alertgroup ALTER COLUMN id SET DEFAULT NEXTVAL('t_ds_alertgroup_id_sequence'); + +DROP SEQUENCE IF EXISTS t_ds_command_id_sequence; +CREATE SEQUENCE t_ds_command_id_sequence; +ALTER TABLE t_ds_command ALTER COLUMN id SET DEFAULT NEXTVAL('t_ds_command_id_sequence'); +DROP SEQUENCE IF EXISTS t_ds_datasource_id_sequence; +CREATE SEQUENCE t_ds_datasource_id_sequence; +ALTER TABLE t_ds_datasource ALTER COLUMN id SET DEFAULT NEXTVAL('t_ds_datasource_id_sequence'); +DROP SEQUENCE IF EXISTS t_ds_process_definition_id_sequence; +CREATE SEQUENCE t_ds_process_definition_id_sequence; +ALTER TABLE t_ds_process_definition ALTER COLUMN id SET DEFAULT NEXTVAL('t_ds_process_definition_id_sequence'); +DROP SEQUENCE IF EXISTS t_ds_process_definition_log_id_sequence; +CREATE SEQUENCE t_ds_process_definition_log_id_sequence; +ALTER TABLE t_ds_process_definition_log ALTER COLUMN id SET DEFAULT NEXTVAL('t_ds_process_definition_log_id_sequence'); +DROP SEQUENCE IF EXISTS t_ds_task_definition_id_sequence; +CREATE SEQUENCE t_ds_task_definition_id_sequence; +ALTER TABLE t_ds_task_definition ALTER COLUMN id SET DEFAULT NEXTVAL('t_ds_task_definition_id_sequence'); +DROP SEQUENCE IF EXISTS t_ds_task_definition_log_id_sequence; +CREATE SEQUENCE t_ds_task_definition_log_id_sequence; +ALTER TABLE t_ds_task_definition_log ALTER COLUMN id SET DEFAULT NEXTVAL('t_ds_task_definition_log_id_sequence'); +DROP SEQUENCE IF EXISTS t_ds_process_task_relation_id_sequence; +CREATE SEQUENCE t_ds_process_task_relation_id_sequence; +ALTER TABLE t_ds_process_task_relation ALTER COLUMN id SET DEFAULT NEXTVAL('t_ds_process_task_relation_id_sequence'); +DROP SEQUENCE IF EXISTS t_ds_process_task_relation_log_id_sequence; +CREATE SEQUENCE t_ds_process_task_relation_log_id_sequence; +ALTER TABLE t_ds_process_task_relation_log ALTER COLUMN id SET DEFAULT NEXTVAL('t_ds_process_task_relation_log_id_sequence'); +DROP SEQUENCE IF EXISTS t_ds_process_instance_id_sequence; +CREATE SEQUENCE t_ds_process_instance_id_sequence; +ALTER TABLE t_ds_process_instance ALTER COLUMN id SET DEFAULT NEXTVAL('t_ds_process_instance_id_sequence'); + +DROP SEQUENCE IF EXISTS t_ds_project_id_sequence; +CREATE SEQUENCE t_ds_project_id_sequence; +ALTER TABLE t_ds_project ALTER COLUMN id SET DEFAULT NEXTVAL('t_ds_project_id_sequence'); + +DROP SEQUENCE IF EXISTS t_ds_queue_id_sequence; +CREATE SEQUENCE t_ds_queue_id_sequence; +ALTER TABLE t_ds_queue ALTER COLUMN id SET DEFAULT NEXTVAL('t_ds_queue_id_sequence'); + +DROP SEQUENCE IF EXISTS t_ds_relation_datasource_user_id_sequence; +CREATE SEQUENCE t_ds_relation_datasource_user_id_sequence; +ALTER TABLE t_ds_relation_datasource_user ALTER COLUMN id SET DEFAULT NEXTVAL('t_ds_relation_datasource_user_id_sequence'); +DROP SEQUENCE IF EXISTS t_ds_relation_process_instance_id_sequence; +CREATE SEQUENCE t_ds_relation_process_instance_id_sequence; +ALTER TABLE t_ds_relation_process_instance ALTER COLUMN id SET DEFAULT NEXTVAL('t_ds_relation_process_instance_id_sequence'); +DROP SEQUENCE IF EXISTS t_ds_relation_project_user_id_sequence; +CREATE SEQUENCE t_ds_relation_project_user_id_sequence; +ALTER TABLE t_ds_relation_project_user ALTER COLUMN id SET DEFAULT NEXTVAL('t_ds_relation_project_user_id_sequence'); +DROP SEQUENCE IF EXISTS t_ds_relation_resources_user_id_sequence; +CREATE SEQUENCE t_ds_relation_resources_user_id_sequence; +ALTER TABLE t_ds_relation_resources_user ALTER COLUMN id SET DEFAULT NEXTVAL('t_ds_relation_resources_user_id_sequence'); +DROP SEQUENCE IF EXISTS t_ds_relation_udfs_user_id_sequence; +CREATE SEQUENCE t_ds_relation_udfs_user_id_sequence; +ALTER TABLE t_ds_relation_udfs_user ALTER COLUMN id SET DEFAULT NEXTVAL('t_ds_relation_udfs_user_id_sequence'); + +DROP SEQUENCE IF EXISTS t_ds_resources_id_sequence; +CREATE SEQUENCE t_ds_resources_id_sequence; +ALTER TABLE t_ds_resources ALTER COLUMN id SET DEFAULT NEXTVAL('t_ds_resources_id_sequence'); +DROP SEQUENCE IF EXISTS t_ds_schedules_id_sequence; +CREATE SEQUENCE t_ds_schedules_id_sequence; +ALTER TABLE t_ds_schedules ALTER COLUMN id SET DEFAULT NEXTVAL('t_ds_schedules_id_sequence'); +DROP SEQUENCE IF EXISTS t_ds_task_instance_id_sequence; +CREATE SEQUENCE t_ds_task_instance_id_sequence; +ALTER TABLE t_ds_task_instance ALTER COLUMN id SET DEFAULT NEXTVAL('t_ds_task_instance_id_sequence'); +DROP SEQUENCE IF EXISTS t_ds_tenant_id_sequence; +CREATE SEQUENCE t_ds_tenant_id_sequence; +ALTER TABLE t_ds_tenant ALTER COLUMN id SET DEFAULT NEXTVAL('t_ds_tenant_id_sequence'); +DROP SEQUENCE IF EXISTS t_ds_udfs_id_sequence; +CREATE SEQUENCE t_ds_udfs_id_sequence; +ALTER TABLE t_ds_udfs ALTER COLUMN id SET DEFAULT NEXTVAL('t_ds_udfs_id_sequence'); +DROP SEQUENCE IF EXISTS t_ds_user_id_sequence; +CREATE SEQUENCE t_ds_user_id_sequence; +ALTER TABLE t_ds_user ALTER COLUMN id SET DEFAULT NEXTVAL('t_ds_user_id_sequence'); + +DROP SEQUENCE IF EXISTS t_ds_version_id_sequence; +CREATE SEQUENCE t_ds_version_id_sequence; +ALTER TABLE t_ds_version ALTER COLUMN id SET DEFAULT NEXTVAL('t_ds_version_id_sequence'); + +DROP SEQUENCE IF EXISTS t_ds_worker_group_id_sequence; +CREATE SEQUENCE t_ds_worker_group_id_sequence; +ALTER TABLE t_ds_worker_group ALTER COLUMN id SET DEFAULT NEXTVAL('t_ds_worker_group_id_sequence'); + +-- Records of t_ds_user?user : admin , password : dolphinscheduler123 +INSERT INTO t_ds_user(user_name, user_password, user_type, email, phone, tenant_id, state, create_time, update_time, time_zone) +VALUES ('admin', '7ad2410b2f4c074479a8937a28a22b8f', '0', 'xxx@qq.com', '', '0', 1, '2018-03-27 15:48:50', '2018-10-24 17:40:22', null); + +-- Records of t_ds_alertgroup, default admin warning group +INSERT INTO t_ds_alertgroup(alert_instance_ids, create_user_id, group_name, description, create_time, update_time) +VALUES ('1,2', 1, 'default admin warning group', 'default admin warning group', '2018-11-29 10:20:39', '2018-11-29 10:20:39'); + +-- Records of t_ds_queue,default queue name : default +INSERT INTO t_ds_queue(queue_name, queue, create_time, update_time) +VALUES ('default', 'default', '2018-11-29 10:22:33', '2018-11-29 10:22:33'); + +-- Records of t_ds_queue,default queue name : default +INSERT INTO t_ds_version(version) VALUES ('3.0.0'); + +-- +-- Table structure for table t_ds_plugin_define +-- + +DROP TABLE IF EXISTS t_ds_plugin_define; +CREATE TABLE t_ds_plugin_define ( + id serial NOT NULL, + plugin_name varchar(100) NOT NULL, + plugin_type varchar(100) NOT NULL, + plugin_params text NULL, + create_time timestamp NULL, + update_time timestamp NULL, + CONSTRAINT t_ds_plugin_define_pk PRIMARY KEY (id), + CONSTRAINT t_ds_plugin_define_un UNIQUE (plugin_name, plugin_type) +); + +-- +-- Table structure for table t_ds_alert_plugin_instance +-- + +DROP TABLE IF EXISTS t_ds_alert_plugin_instance; +CREATE TABLE t_ds_alert_plugin_instance ( + id serial NOT NULL, + plugin_define_id int4 NOT NULL, + plugin_instance_params text NULL, + create_time timestamp NULL, + update_time timestamp NULL, + instance_name varchar(200) NULL, + CONSTRAINT t_ds_alert_plugin_instance_pk PRIMARY KEY (id) +); + +-- +-- Table structure for table t_ds_dq_comparison_type +-- +DROP TABLE IF EXISTS t_ds_dq_comparison_type; +CREATE TABLE t_ds_dq_comparison_type ( + id serial NOT NULL, + "type" varchar NOT NULL, + execute_sql varchar NULL, + output_table varchar NULL, + "name" varchar NULL, + create_time timestamp NULL, + update_time timestamp NULL, + is_inner_source bool NULL, + CONSTRAINT t_ds_dq_comparison_type_pk PRIMARY KEY (id) +); +INSERT INTO t_ds_dq_comparison_type +(id, "type", execute_sql, output_table, "name", create_time, update_time, is_inner_source) +VALUES(1, 'FixValue', NULL, NULL, NULL, '2021-06-30 00:00:00.000', '2021-06-30 00:00:00.000', false); +INSERT INTO t_ds_dq_comparison_type +(id, "type", execute_sql, output_table, "name", create_time, update_time, is_inner_source) +VALUES(2, 'DailyAvg', 'select round(avg(statistics_value),2) as day_avg from t_ds_dq_task_statistics_value where data_time >=date_trunc(''DAY'', ${data_time}) and data_time < date_add(date_trunc(''day'', ${data_time}),1) and unique_code = ${unique_code} and statistics_name = ''${statistics_name}''', 'day_range', 'day_range.day_avg', '2021-06-30 00:00:00.000', '2021-06-30 00:00:00.000', true); +INSERT INTO t_ds_dq_comparison_type +(id, "type", execute_sql, output_table, "name", create_time, update_time, is_inner_source) +VALUES(3, 'WeeklyAvg', 'select round(avg(statistics_value),2) as week_avg from t_ds_dq_task_statistics_value where data_time >= date_trunc(''WEEK'', ${data_time}) and data_time = date_trunc(''MONTH'', ${data_time}) and data_time = date_add(date_trunc(''day'', ${data_time}),-7) and data_time = date_add(date_trunc(''day'', ${data_time}),-30) and data_time < date_trunc(''day'', ${data_time}) and unique_code = ${unique_code} and statistics_name = ''${statistics_name}''', 'last_thirty_days', 'last_thirty_days.last_30_avg', '2021-06-30 00:00:00.000', '2021-06-30 00:00:00.000', true); +INSERT INTO t_ds_dq_comparison_type +(id, "type", execute_sql, output_table, "name", create_time, update_time, is_inner_source) +VALUES(7, 'SrcTableTotalRows', 'SELECT COUNT(*) AS total FROM ${src_table} WHERE (${src_filter})', 'total_count', 'total_count.total', '2021-06-30 00:00:00.000', '2021-06-30 00:00:00.000', false); +INSERT INTO t_ds_dq_comparison_type +(id, "type", execute_sql, output_table, "name", create_time, update_time, is_inner_source) +VALUES(8, 'TargetTableTotalRows', 'SELECT COUNT(*) AS total FROM ${target_table} WHERE (${target_filter})', 'total_count', 'total_count.total', '2021-06-30 00:00:00.000', '2021-06-30 00:00:00.000', false); + +-- +-- Table structure for table t_ds_dq_execute_result +-- +DROP TABLE IF EXISTS t_ds_dq_execute_result; +CREATE TABLE t_ds_dq_execute_result ( + id serial NOT NULL, + process_definition_id int4 NULL, + process_instance_id int4 NULL, + task_instance_id int4 NULL, + rule_type int4 NULL, + rule_name varchar(255) DEFAULT NULL, + statistics_value float8 NULL, + comparison_value float8 NULL, + check_type int4 NULL, + threshold float8 NULL, + "operator" int4 NULL, + failure_strategy int4 NULL, + state int4 NULL, + user_id int4 NULL, + create_time timestamp NULL, + update_time timestamp NULL, + comparison_type int4 NULL, + error_output_path text NULL, + CONSTRAINT t_ds_dq_execute_result_pk PRIMARY KEY (id) +); + +-- +-- Table structure for table t_ds_dq_rule +-- +DROP TABLE IF EXISTS t_ds_dq_rule; +CREATE TABLE t_ds_dq_rule ( + id serial NOT NULL, + "name" varchar(100) DEFAULT NULL, + "type" int4 NULL, + user_id int4 NULL, + create_time timestamp NULL, + update_time timestamp NULL, + CONSTRAINT t_ds_dq_rule_pk PRIMARY KEY (id) +); +INSERT INTO t_ds_dq_rule +(id, "name", "type", user_id, create_time, update_time) +VALUES(1, '$t(null_check)', 0, 1, '2020-01-12 00:00:00.000', '2020-01-12 00:00:00.000'); +INSERT INTO t_ds_dq_rule +(id, "name", "type", user_id, create_time, update_time) +VALUES(2, '$t(custom_sql)', 1, 1, '2020-01-12 00:00:00.000', '2020-01-12 00:00:00.000'); +INSERT INTO t_ds_dq_rule +(id, "name", "type", user_id, create_time, update_time) +VALUES(3, '$t(multi_table_accuracy)', 2, 1, '2020-01-12 00:00:00.000', '2020-01-12 00:00:00.000'); +INSERT INTO t_ds_dq_rule +(id, "name", "type", user_id, create_time, update_time) +VALUES(4, '$t(multi_table_value_comparison)', 3, 1, '2020-01-12 00:00:00.000', '2020-01-12 00:00:00.000'); +INSERT INTO t_ds_dq_rule +(id, "name", "type", user_id, create_time, update_time) +VALUES(5, '$t(field_length_check)', 0, 1, '2020-01-12 00:00:00.000', '2020-01-12 00:00:00.000'); +INSERT INTO t_ds_dq_rule +(id, "name", "type", user_id, create_time, update_time) +VALUES(6, '$t(uniqueness_check)', 0, 1, '2020-01-12 00:00:00.000', '2020-01-12 00:00:00.000'); +INSERT INTO t_ds_dq_rule +(id, "name", "type", user_id, create_time, update_time) +VALUES(7, '$t(regexp_check)', 0, 1, '2020-01-12 00:00:00.000', '2020-01-12 00:00:00.000'); +INSERT INTO t_ds_dq_rule +(id, "name", "type", user_id, create_time, update_time) +VALUES(8, '$t(timeliness_check)', 0, 1, '2020-01-12 00:00:00.000', '2020-01-12 00:00:00.000'); +INSERT INTO t_ds_dq_rule +(id, "name", "type", user_id, create_time, update_time) +VALUES(9, '$t(enumeration_check)', 0, 1, '2020-01-12 00:00:00.000', '2020-01-12 00:00:00.000'); +INSERT INTO t_ds_dq_rule +(id, "name", "type", user_id, create_time, update_time) +VALUES(10, '$t(table_count_check)', 0, 1, '2020-01-12 00:00:00.000', '2020-01-12 00:00:00.000'); + +-- +-- Table structure for table t_ds_dq_rule_execute_sql +-- +DROP TABLE IF EXISTS t_ds_dq_rule_execute_sql; +CREATE TABLE t_ds_dq_rule_execute_sql ( + id serial NOT NULL, + "index" int4 NULL, + "sql" text NULL, + table_alias varchar(255) DEFAULT NULL, + "type" int4 NULL, + create_time timestamp NULL, + update_time timestamp NULL, + is_error_output_sql bool NULL, + CONSTRAINT t_ds_dq_rule_execute_sql_pk PRIMARY KEY (id) +); +INSERT INTO t_ds_dq_rule_execute_sql +(id, "index", "sql", table_alias, "type", is_error_output_sql, create_time, update_time) +VALUES(1, 1, 'SELECT COUNT(*) AS nulls FROM null_items', 'null_count', 1, false, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_dq_rule_execute_sql +(id, "index", "sql", table_alias, "type", is_error_output_sql, create_time, update_time) +VALUES(2, 1, 'SELECT COUNT(*) AS total FROM ${src_table} WHERE (${src_filter})', 'total_count', 2, false, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_dq_rule_execute_sql +(id, "index", "sql", table_alias, "type", is_error_output_sql, create_time, update_time) +VALUES(3, 1, 'SELECT COUNT(*) AS miss from miss_items', 'miss_count', 1, false, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_dq_rule_execute_sql +(id, "index", "sql", table_alias, "type", is_error_output_sql, create_time, update_time) +VALUES(4, 1, 'SELECT COUNT(*) AS valids FROM invalid_length_items', 'invalid_length_count', 1, false, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_dq_rule_execute_sql +(id, "index", "sql", table_alias, "type", is_error_output_sql, create_time, update_time) +VALUES(5, 1, 'SELECT COUNT(*) AS total FROM ${target_table} WHERE (${target_filter})', 'total_count', 2, false, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_dq_rule_execute_sql +(id, "index", "sql", table_alias, "type", is_error_output_sql, create_time, update_time) +VALUES(6, 1, 'SELECT ${src_field} FROM ${src_table} group by ${src_field} having count(*) > 1', 'duplicate_items', 0, true, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_dq_rule_execute_sql +(id, "index", "sql", table_alias, "type", is_error_output_sql, create_time, update_time) +VALUES(7, 1, 'SELECT COUNT(*) AS duplicates FROM duplicate_items', 'duplicate_count', 1, false, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_dq_rule_execute_sql +(id, "index", "sql", table_alias, "type", is_error_output_sql, create_time, update_time) +VALUES(8, 1, 'SELECT ${src_table}.* FROM (SELECT * FROM ${src_table} WHERE (${src_filter})) ${src_table} LEFT JOIN (SELECT * FROM ${target_table} WHERE (${target_filter})) ${target_table} ON ${on_clause} WHERE ${where_clause}', 'miss_items', 0, true, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_dq_rule_execute_sql +(id, "index", "sql", table_alias, "type", is_error_output_sql, create_time, update_time) +VALUES(9, 1, 'SELECT * FROM ${src_table} WHERE (${src_field} not regexp ''${regexp_pattern}'') AND (${src_filter}) ', 'regexp_items', 0, true, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_dq_rule_execute_sql +(id, "index", "sql", table_alias, "type", is_error_output_sql, create_time, update_time) +VALUES(10, 1, 'SELECT COUNT(*) AS regexps FROM regexp_items', 'regexp_count', 1, false, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_dq_rule_execute_sql +(id, "index", "sql", table_alias, "type", is_error_output_sql, create_time, update_time) +VALUES(11, 1, 'SELECT * FROM ${src_table} WHERE (to_unix_timestamp(${src_field}, ''${datetime_format}'')-to_unix_timestamp(''${deadline}'', ''${datetime_format}'') <= 0) AND (to_unix_timestamp(${src_field}, ''${datetime_format}'')-to_unix_timestamp(''${begin_time}'', ''${datetime_format}'') >= 0) AND (${src_filter}) ', 'timeliness_items', 0, true, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_dq_rule_execute_sql +(id, "index", "sql", table_alias, "type", is_error_output_sql, create_time, update_time) +VALUES(12, 1, 'SELECT COUNT(*) AS timeliness FROM timeliness_items', 'timeliness_count', 1, false, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_dq_rule_execute_sql +(id, "index", "sql", table_alias, "type", is_error_output_sql, create_time, update_time) +VALUES(13, 1, 'SELECT * FROM ${src_table} where (${src_field} not in ( ${enum_list} ) or ${src_field} is null) AND (${src_filter}) ', 'enum_items', 0, true, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_dq_rule_execute_sql +(id, "index", "sql", table_alias, "type", is_error_output_sql, create_time, update_time) +VALUES(14, 1, 'SELECT COUNT(*) AS enums FROM enum_items', 'enum_count', 1, false, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_dq_rule_execute_sql +(id, "index", "sql", table_alias, "type", is_error_output_sql, create_time, update_time) +VALUES(15, 1, 'SELECT COUNT(*) AS total FROM ${src_table} WHERE (${src_filter})', 'table_count', 1, false, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_dq_rule_execute_sql +(id, "index", "sql", table_alias, "type", is_error_output_sql, create_time, update_time) +VALUES(16, 1, 'SELECT * FROM ${src_table} WHERE (${src_field} is null or ${src_field} = '''') AND (${src_filter})', 'null_items', 0, true, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_dq_rule_execute_sql +(id, "index", "sql", table_alias, "type", is_error_output_sql, create_time, update_time) +VALUES(17, 1, 'SELECT * FROM ${src_table} WHERE (length(${src_field}) ${logic_operator} ${field_length}) AND (${src_filter})', 'invalid_length_items', 0, true, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); + +-- +-- Table structure for table t_ds_dq_rule_input_entry +-- +DROP TABLE IF EXISTS t_ds_dq_rule_input_entry; +CREATE TABLE t_ds_dq_rule_input_entry ( + id serial NOT NULL, + field varchar(255) DEFAULT NULL, + "type" varchar(255) DEFAULT NULL, + title varchar(255) DEFAULT NULL, + value varchar(255) DEFAULT NULL, + "options" text DEFAULT NULL, + placeholder varchar(255) DEFAULT NULL, + option_source_type int4 NULL, + value_type int4 NULL, + input_type int4 NULL, + is_show int2 NULL DEFAULT '1'::smallint, + can_edit int2 NULL DEFAULT '1'::smallint, + is_emit int2 NULL DEFAULT '0'::smallint, + is_validate int2 NULL DEFAULT '0'::smallint, + create_time timestamp NULL, + update_time timestamp NULL, + CONSTRAINT t_ds_dq_rule_input_entry_pk PRIMARY KEY (id) +); +INSERT INTO t_ds_dq_rule_input_entry +(id, field, "type", title, value, "options", placeholder, option_source_type, value_type, input_type, is_show, can_edit, is_emit, is_validate, create_time, update_time) +VALUES(1, 'src_connector_type', 'select', '$t(src_connector_type)', '', '[{"label":"HIVE","value":"HIVE"},{"label":"JDBC","value":"JDBC"}]', 'please select source connector type', 2, 2, 0, 1, 1, 1, 0, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_dq_rule_input_entry +(id, field, "type", title, value, "options", placeholder, option_source_type, value_type, input_type, is_show, can_edit, is_emit, is_validate, create_time, update_time) +VALUES(2, 'src_datasource_id', 'select', '$t(src_datasource_id)', '', NULL, 'please select source datasource id', 1, 2, 0, 1, 1, 1, 0, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_dq_rule_input_entry +(id, field, "type", title, value, "options", placeholder, option_source_type, value_type, input_type, is_show, can_edit, is_emit, is_validate, create_time, update_time) +VALUES(3, 'src_table', 'select', '$t(src_table)', NULL, NULL, 'Please enter source table name', 0, 0, 0, 1, 1, 1, 1, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_dq_rule_input_entry +(id, field, "type", title, value, "options", placeholder, option_source_type, value_type, input_type, is_show, can_edit, is_emit, is_validate, create_time, update_time) +VALUES(4, 'src_filter', 'input', '$t(src_filter)', NULL, NULL, 'Please enter filter expression', 0, 3, 0, 1, 1, 0, 0, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_dq_rule_input_entry +(id, field, "type", title, value, "options", placeholder, option_source_type, value_type, input_type, is_show, can_edit, is_emit, is_validate, create_time, update_time) +VALUES(5, 'src_field', 'select', '$t(src_field)', NULL, NULL, 'Please enter column, only single column is supported', 0, 0, 0, 1, 1, 0, 1, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_dq_rule_input_entry +(id, field, "type", title, value, "options", placeholder, option_source_type, value_type, input_type, is_show, can_edit, is_emit, is_validate, create_time, update_time) +VALUES(6, 'statistics_name', 'input', '$t(statistics_name)', NULL, NULL, 'Please enter statistics name, the alias in statistics execute sql', 0, 0, 1, 0, 0, 0, 1, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_dq_rule_input_entry +(id, field, "type", title, value, "options", placeholder, option_source_type, value_type, input_type, is_show, can_edit, is_emit, is_validate, create_time, update_time) +VALUES(7, 'check_type', 'select', '$t(check_type)', '0', '[{"label":"Expected - Actual","value":"0"},{"label":"Actual - Expected","value":"1"},{"label":"Actual / Expected","value":"2"},{"label":"(Expected - Actual) / Expected","value":"3"}]', 'please select check type', 0, 0, 3, 1, 1, 1, 0, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_dq_rule_input_entry +(id, field, "type", title, value, "options", placeholder, option_source_type, value_type, input_type, is_show, can_edit, is_emit, is_validate, create_time, update_time) +VALUES(8, 'operator', 'select', '$t(operator)', '0', '[{"label":"=","value":"0"},{"label":"<","value":"1"},{"label":"<=","value":"2"},{"label":">","value":"3"},{"label":">=","value":"4"},{"label":"!=","value":"5"}]', 'please select operator', 0, 0, 3, 1, 1, 0, 0, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_dq_rule_input_entry +(id, field, "type", title, value, "options", placeholder, option_source_type, value_type, input_type, is_show, can_edit, is_emit, is_validate, create_time, update_time) +VALUES(9, 'threshold', 'input', '$t(threshold)', NULL, NULL, 'Please enter threshold, number is needed', 0, 2, 3, 1, 1, 0, 1, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_dq_rule_input_entry +(id, field, "type", title, value, "options", placeholder, option_source_type, value_type, input_type, is_show, can_edit, is_emit, is_validate, create_time, update_time) +VALUES(10, 'failure_strategy', 'select', '$t(failure_strategy)', '0', '[{"label":"Alert","value":"0"},{"label":"Block","value":"1"}]', 'please select failure strategy', 0, 0, 3, 1, 1, 0, 0, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_dq_rule_input_entry +(id, field, "type", title, value, "options", placeholder, option_source_type, value_type, input_type, is_show, can_edit, is_emit, is_validate, create_time, update_time) +VALUES(11, 'target_connector_type', 'select', '$t(target_connector_type)', '', '[{"label":"HIVE","value":"HIVE"},{"label":"JDBC","value":"JDBC"}]', 'Please select target connector type', 2, 0, 0, 1, 1, 1, 0, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_dq_rule_input_entry +(id, field, "type", title, value, "options", placeholder, option_source_type, value_type, input_type, is_show, can_edit, is_emit, is_validate, create_time, update_time) +VALUES(12, 'target_datasource_id', 'select', '$t(target_datasource_id)', '', NULL, 'Please select target datasource', 1, 2, 0, 1, 1, 1, 0, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_dq_rule_input_entry +(id, field, "type", title, value, "options", placeholder, option_source_type, value_type, input_type, is_show, can_edit, is_emit, is_validate, create_time, update_time) +VALUES(13, 'target_table', 'select', '$t(target_table)', NULL, NULL, 'Please enter target table', 0, 0, 0, 1, 1, 1, 1, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_dq_rule_input_entry +(id, field, "type", title, value, "options", placeholder, option_source_type, value_type, input_type, is_show, can_edit, is_emit, is_validate, create_time, update_time) +VALUES(14, 'target_filter', 'input', '$t(target_filter)', NULL, NULL, 'Please enter target filter expression', 0, 3, 0, 1, 1, 0, 0, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_dq_rule_input_entry +(id, field, "type", title, value, "options", placeholder, option_source_type, value_type, input_type, is_show, can_edit, is_emit, is_validate, create_time, update_time) +VALUES(15, 'mapping_columns', 'group', '$t(mapping_columns)', NULL, '[{"field":"src_field","props":{"placeholder":"Please input src field","rows":0,"disabled":false,"size":"small"},"type":"input","title":"src_field"},{"field":"operator","props":{"placeholder":"Please input operator","rows":0,"disabled":false,"size":"small"},"type":"input","title":"operator"},{"field":"target_field","props":{"placeholder":"Please input target field","rows":0,"disabled":false,"size":"small"},"type":"input","title":"target_field"}]', 'please enter mapping columns', 0, 0, 0, 1, 1, 0, 0, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_dq_rule_input_entry +(id, field, "type", title, value, "options", placeholder, option_source_type, value_type, input_type, is_show, can_edit, is_emit, is_validate, create_time, update_time) +VALUES(16, 'statistics_execute_sql', 'textarea', '$t(statistics_execute_sql)', NULL, NULL, 'Please enter statistics execute sql', 0, 3, 0, 1, 1, 0, 1, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_dq_rule_input_entry +(id, field, "type", title, value, "options", placeholder, option_source_type, value_type, input_type, is_show, can_edit, is_emit, is_validate, create_time, update_time) +VALUES(17, 'comparison_name', 'input', '$t(comparison_name)', NULL, NULL, 'Please enter comparison name, the alias in comparison execute sql', 0, 0, 0, 0, 0, 0, 1, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_dq_rule_input_entry +(id, field, "type", title, value, "options", placeholder, option_source_type, value_type, input_type, is_show, can_edit, is_emit, is_validate, create_time, update_time) +VALUES(18, 'comparison_execute_sql', 'textarea', '$t(comparison_execute_sql)', NULL, NULL, 'Please enter comparison execute sql', 0, 3, 0, 1, 1, 0, 1, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_dq_rule_input_entry +(id, field, "type", title, value, "options", placeholder, option_source_type, value_type, input_type, is_show, can_edit, is_emit, is_validate, create_time, update_time) +VALUES(19, 'comparison_type', 'select', '$t(comparison_type)', '', NULL, 'Please enter comparison title', 3, 0, 2, 1, 0, 1, 0, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_dq_rule_input_entry +(id, field, "type", title, value, "options", placeholder, option_source_type, value_type, input_type, is_show, can_edit, is_emit, is_validate, create_time, update_time) +VALUES(20, 'writer_connector_type', 'select', '$t(writer_connector_type)', '', '[{"label":"MYSQL","value":"0"},{"label":"POSTGRESQL","value":"1"}]', 'please select writer connector type', 0, 2, 0, 1, 1, 1, 0, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_dq_rule_input_entry +(id, field, "type", title, value, "options", placeholder, option_source_type, value_type, input_type, is_show, can_edit, is_emit, is_validate, create_time, update_time) +VALUES(21, 'writer_datasource_id', 'select', '$t(writer_datasource_id)', '', NULL, 'please select writer datasource id', 1, 2, 0, 1, 1, 0, 0, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_dq_rule_input_entry +(id, field, "type", title, value, "options", placeholder, option_source_type, value_type, input_type, is_show, can_edit, is_emit, is_validate, create_time, update_time) +VALUES(22, 'target_field', 'select', '$t(target_field)', NULL, NULL, 'Please enter column, only single column is supported', 0, 0, 0, 1, 1, 0, 0, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_dq_rule_input_entry +(id, field, "type", title, value, "options", placeholder, option_source_type, value_type, input_type, is_show, can_edit, is_emit, is_validate, create_time, update_time) +VALUES(23, 'field_length', 'input', '$t(field_length)', NULL, NULL, 'Please enter length limit', 0, 3, 0, 1, 1, 0, 0, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_dq_rule_input_entry +(id, field, "type", title, value, "options", placeholder, option_source_type, value_type, input_type, is_show, can_edit, is_emit, is_validate, create_time, update_time) +VALUES(24, 'logic_operator', 'select', '$t(logic_operator)', '=', '[{"label":"=","value":"="},{"label":"<","value":"<"},{"label":"<=","value":"<="},{"label":">","value":">"},{"label":">=","value":">="},{"label":"<>","value":"<>"}]', 'please select logic operator', 0, 0, 3, 1, 1, 0, 0, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_dq_rule_input_entry +(id, field, "type", title, value, "options", placeholder, option_source_type, value_type, input_type, is_show, can_edit, is_emit, is_validate, create_time, update_time) +VALUES(25, 'regexp_pattern', 'input', '$t(regexp_pattern)', NULL, NULL, 'Please enter regexp pattern', 0, 0, 0, 1, 1, 0, 0, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_dq_rule_input_entry +(id, field, "type", title, value, "options", placeholder, option_source_type, value_type, input_type, is_show, can_edit, is_emit, is_validate, create_time, update_time) +VALUES(26, 'deadline', 'input', '$t(deadline)', NULL, NULL, 'Please enter deadline', 0, 0, 0, 1, 1, 0, 0, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_dq_rule_input_entry +(id, field, "type", title, value, "options", placeholder, option_source_type, value_type, input_type, is_show, can_edit, is_emit, is_validate, create_time, update_time) +VALUES(27, 'datetime_format', 'input', '$t(datetime_format)', NULL, NULL, 'Please enter datetime format', 0, 0, 0, 1, 1, 0, 0, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_dq_rule_input_entry +(id, field, "type", title, value, "options", placeholder, option_source_type, value_type, input_type, is_show, can_edit, is_emit, is_validate, create_time, update_time) +VALUES(28, 'enum_list', 'input', '$t(enum_list)', NULL, NULL, 'Please enter enumeration', 0, 0, 0, 1, 1, 0, 0, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_dq_rule_input_entry +(id, field, "type", title, value, "options", placeholder, option_source_type, value_type, input_type, is_show, can_edit, is_emit, is_validate, create_time, update_time) +VALUES(29, 'begin_time', 'input', '$t(begin_time)', NULL, NULL, 'Please enter begin time', 0, 0, 0, 1, 1, 0, 0, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); + +-- +-- Table structure for table t_ds_dq_task_statistics_value +-- +DROP TABLE IF EXISTS t_ds_dq_task_statistics_value; +CREATE TABLE t_ds_dq_task_statistics_value ( + id serial NOT NULL, + process_definition_id int4 NOT NULL, + task_instance_id int4 NULL, + rule_id int4 NOT NULL, + unique_code varchar NOT NULL, + statistics_name varchar NULL, + statistics_value float8 NULL, + data_time timestamp(0) NULL, + create_time timestamp(0) NULL, + update_time timestamp(0) NULL, + CONSTRAINT t_ds_dq_task_statistics_value_pk PRIMARY KEY (id) +); + +-- +-- Table structure for table t_ds_relation_rule_execute_sql +-- +DROP TABLE IF EXISTS t_ds_relation_rule_execute_sql; +CREATE TABLE t_ds_relation_rule_execute_sql ( + id serial NOT NULL, + rule_id int4 NULL, + execute_sql_id int4 NULL, + create_time timestamp NULL, + update_time timestamp NULL, + CONSTRAINT t_ds_relation_rule_execute_sql_pk PRIMARY KEY (id) +); +INSERT INTO t_ds_relation_rule_execute_sql +(id, rule_id, execute_sql_id, create_time, update_time) +VALUES(1, 1, 1, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_relation_rule_execute_sql +(id, rule_id, execute_sql_id, create_time, update_time) +VALUES(3, 5, 4, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_relation_rule_execute_sql +(id, rule_id, execute_sql_id, create_time, update_time) +VALUES(2, 3, 3, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_relation_rule_execute_sql +(id, rule_id, execute_sql_id, create_time, update_time) +VALUES(4, 3, 8, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_relation_rule_execute_sql +(id, rule_id, execute_sql_id, create_time, update_time) +VALUES(5, 6, 6, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_relation_rule_execute_sql +(id, rule_id, execute_sql_id, create_time, update_time) +VALUES(6, 6, 7, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_relation_rule_execute_sql +(id, rule_id, execute_sql_id, create_time, update_time) +VALUES(7, 7, 9, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_relation_rule_execute_sql +(id, rule_id, execute_sql_id, create_time, update_time) +VALUES(8, 7, 10, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_relation_rule_execute_sql +(id, rule_id, execute_sql_id, create_time, update_time) +VALUES(9, 8, 11, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_relation_rule_execute_sql +(id, rule_id, execute_sql_id, create_time, update_time) +VALUES(10, 8, 12, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_relation_rule_execute_sql +(id, rule_id, execute_sql_id, create_time, update_time) +VALUES(11, 9, 13, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_relation_rule_execute_sql +(id, rule_id, execute_sql_id, create_time, update_time) +VALUES(12, 9, 14, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_relation_rule_execute_sql +(id, rule_id, execute_sql_id, create_time, update_time) +VALUES(13, 10, 15, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_relation_rule_execute_sql +(id, rule_id, execute_sql_id, create_time, update_time) +VALUES(14, 1, 16, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_relation_rule_execute_sql +(id, rule_id, execute_sql_id, create_time, update_time) +VALUES(15, 5, 17, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); + +-- +-- Table structure for table t_ds_relation_rule_input_entry +-- +DROP TABLE IF EXISTS t_ds_relation_rule_input_entry; +CREATE TABLE t_ds_relation_rule_input_entry ( + id serial NOT NULL, + rule_id int4 NULL, + rule_input_entry_id int4 NULL, + values_map text NULL, + "index" int4 NULL, + create_time timestamp NULL, + update_time timestamp NULL, + CONSTRAINT t_ds_relation_rule_input_entry_pk PRIMARY KEY (id) +); +INSERT INTO t_ds_relation_rule_input_entry +(id, rule_id, rule_input_entry_id, values_map, "index", create_time, update_time) +VALUES(1, 1, 1, NULL, 1, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_relation_rule_input_entry +(id, rule_id, rule_input_entry_id, values_map, "index", create_time, update_time) +VALUES(2, 1, 2, NULL, 2, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_relation_rule_input_entry +(id, rule_id, rule_input_entry_id, values_map, "index", create_time, update_time) +VALUES(3, 1, 3, NULL, 3, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_relation_rule_input_entry +(id, rule_id, rule_input_entry_id, values_map, "index", create_time, update_time) +VALUES(4, 1, 4, NULL, 4, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_relation_rule_input_entry +(id, rule_id, rule_input_entry_id, values_map, "index", create_time, update_time) +VALUES(5, 1, 5, NULL, 5, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_relation_rule_input_entry +(id, rule_id, rule_input_entry_id, values_map, "index", create_time, update_time) +VALUES(6, 1, 6, '{"statistics_name":"null_count.nulls"}', 6, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_relation_rule_input_entry +(id, rule_id, rule_input_entry_id, values_map, "index", create_time, update_time) +VALUES(7, 1, 7, NULL, 7, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_relation_rule_input_entry +(id, rule_id, rule_input_entry_id, values_map, "index", create_time, update_time) +VALUES(8, 1, 8, NULL, 8, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_relation_rule_input_entry +(id, rule_id, rule_input_entry_id, values_map, "index", create_time, update_time) +VALUES(9, 1, 9, NULL, 9, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_relation_rule_input_entry +(id, rule_id, rule_input_entry_id, values_map, "index", create_time, update_time) +VALUES(10, 1, 10, NULL, 10, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_relation_rule_input_entry +(id, rule_id, rule_input_entry_id, values_map, "index", create_time, update_time) +VALUES(11, 1, 17, '', 11, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_relation_rule_input_entry +(id, rule_id, rule_input_entry_id, values_map, "index", create_time, update_time) +VALUES(12, 1, 19, NULL, 12, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_relation_rule_input_entry +(id, rule_id, rule_input_entry_id, values_map, "index", create_time, update_time) +VALUES(13, 2, 1, NULL, 1, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_relation_rule_input_entry +(id, rule_id, rule_input_entry_id, values_map, "index", create_time, update_time) +VALUES(14, 2, 2, NULL, 2, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_relation_rule_input_entry +(id, rule_id, rule_input_entry_id, values_map, "index", create_time, update_time) +VALUES(15, 2, 3, NULL, 3, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_relation_rule_input_entry +(id, rule_id, rule_input_entry_id, values_map, "index", create_time, update_time) +VALUES(16, 2, 6, '{"is_show":"true","can_edit":"true"}', 4, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_relation_rule_input_entry +(id, rule_id, rule_input_entry_id, values_map, "index", create_time, update_time) +VALUES(17, 2, 16, NULL, 5, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_relation_rule_input_entry +(id, rule_id, rule_input_entry_id, values_map, "index", create_time, update_time) +VALUES(18, 2, 4, NULL, 6, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_relation_rule_input_entry +(id, rule_id, rule_input_entry_id, values_map, "index", create_time, update_time) +VALUES(19, 2, 7, NULL, 7, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_relation_rule_input_entry +(id, rule_id, rule_input_entry_id, values_map, "index", create_time, update_time) +VALUES(20, 2, 8, NULL, 8, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_relation_rule_input_entry +(id, rule_id, rule_input_entry_id, values_map, "index", create_time, update_time) +VALUES(21, 2, 9, NULL, 9, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_relation_rule_input_entry +(id, rule_id, rule_input_entry_id, values_map, "index", create_time, update_time) +VALUES(22, 2, 10, NULL, 10, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_relation_rule_input_entry +(id, rule_id, rule_input_entry_id, values_map, "index", create_time, update_time) +VALUES(24, 2, 19, NULL, 12, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_relation_rule_input_entry +(id, rule_id, rule_input_entry_id, values_map, "index", create_time, update_time) +VALUES(25, 3, 1, NULL, 1, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_relation_rule_input_entry +(id, rule_id, rule_input_entry_id, values_map, "index", create_time, update_time) +VALUES(26, 3, 2, NULL, 2, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_relation_rule_input_entry +(id, rule_id, rule_input_entry_id, values_map, "index", create_time, update_time) +VALUES(27, 3, 3, NULL, 3, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_relation_rule_input_entry +(id, rule_id, rule_input_entry_id, values_map, "index", create_time, update_time) +VALUES(28, 3, 4, NULL, 4, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_relation_rule_input_entry +(id, rule_id, rule_input_entry_id, values_map, "index", create_time, update_time) +VALUES(29, 3, 11, NULL, 5, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_relation_rule_input_entry +(id, rule_id, rule_input_entry_id, values_map, "index", create_time, update_time) +VALUES(30, 3, 12, NULL, 6, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_relation_rule_input_entry +(id, rule_id, rule_input_entry_id, values_map, "index", create_time, update_time) +VALUES(31, 3, 13, NULL, 7, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_relation_rule_input_entry +(id, rule_id, rule_input_entry_id, values_map, "index", create_time, update_time) +VALUES(32, 3, 14, NULL, 8, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_relation_rule_input_entry +(id, rule_id, rule_input_entry_id, values_map, "index", create_time, update_time) +VALUES(33, 3, 15, NULL, 9, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_relation_rule_input_entry +(id, rule_id, rule_input_entry_id, values_map, "index", create_time, update_time) +VALUES(34, 3, 7, NULL, 10, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_relation_rule_input_entry +(id, rule_id, rule_input_entry_id, values_map, "index", create_time, update_time) +VALUES(35, 3, 8, NULL, 11, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_relation_rule_input_entry +(id, rule_id, rule_input_entry_id, values_map, "index", create_time, update_time) +VALUES(36, 3, 9, NULL, 12, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_relation_rule_input_entry +(id, rule_id, rule_input_entry_id, values_map, "index", create_time, update_time) +VALUES(37, 3, 10, NULL, 13, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_relation_rule_input_entry +(id, rule_id, rule_input_entry_id, values_map, "index", create_time, update_time) +VALUES(38, 3, 17, '{"comparison_name":"total_count.total"}', 14, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_relation_rule_input_entry +(id, rule_id, rule_input_entry_id, values_map, "index", create_time, update_time) +VALUES(39, 3, 19, NULL, 15, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_relation_rule_input_entry +(id, rule_id, rule_input_entry_id, values_map, "index", create_time, update_time) +VALUES(40, 4, 1, NULL, 1, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_relation_rule_input_entry +(id, rule_id, rule_input_entry_id, values_map, "index", create_time, update_time) +VALUES(41, 4, 2, NULL, 2, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_relation_rule_input_entry +(id, rule_id, rule_input_entry_id, values_map, "index", create_time, update_time) +VALUES(42, 4, 3, NULL, 3, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_relation_rule_input_entry +(id, rule_id, rule_input_entry_id, values_map, "index", create_time, update_time) +VALUES(43, 4, 6, '{"is_show":"true","can_edit":"true"}', 4, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_relation_rule_input_entry +(id, rule_id, rule_input_entry_id, values_map, "index", create_time, update_time) +VALUES(44, 4, 16, NULL, 5, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_relation_rule_input_entry +(id, rule_id, rule_input_entry_id, values_map, "index", create_time, update_time) +VALUES(45, 4, 11, NULL, 6, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_relation_rule_input_entry +(id, rule_id, rule_input_entry_id, values_map, "index", create_time, update_time) +VALUES(46, 4, 12, NULL, 7, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_relation_rule_input_entry +(id, rule_id, rule_input_entry_id, values_map, "index", create_time, update_time) +VALUES(47, 4, 13, NULL, 8, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_relation_rule_input_entry +(id, rule_id, rule_input_entry_id, values_map, "index", create_time, update_time) +VALUES(48, 4, 17, '{"is_show":"true","can_edit":"true"}', 9, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_relation_rule_input_entry +(id, rule_id, rule_input_entry_id, values_map, "index", create_time, update_time) +VALUES(49, 4, 18, NULL, 10, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_relation_rule_input_entry +(id, rule_id, rule_input_entry_id, values_map, "index", create_time, update_time) +VALUES(50, 4, 7, NULL, 11, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_relation_rule_input_entry +(id, rule_id, rule_input_entry_id, values_map, "index", create_time, update_time) +VALUES(51, 4, 8, NULL, 12, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_relation_rule_input_entry +(id, rule_id, rule_input_entry_id, values_map, "index", create_time, update_time) +VALUES(52, 4, 9, NULL, 13, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_relation_rule_input_entry +(id, rule_id, rule_input_entry_id, values_map, "index", create_time, update_time) +VALUES(53, 4, 10, NULL, 14, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_relation_rule_input_entry +(id, rule_id, rule_input_entry_id, values_map, "index", create_time, update_time) +VALUES(62, 3, 6, '{"statistics_name":"miss_count.miss"}', 18, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_relation_rule_input_entry +(id, rule_id, rule_input_entry_id, values_map, "index", create_time, update_time) +VALUES(63, 5, 1, NULL, 1, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_relation_rule_input_entry +(id, rule_id, rule_input_entry_id, values_map, "index", create_time, update_time) +VALUES(64, 5, 2, NULL, 2, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_relation_rule_input_entry +(id, rule_id, rule_input_entry_id, values_map, "index", create_time, update_time) +VALUES(65, 5, 3, NULL, 3, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_relation_rule_input_entry +(id, rule_id, rule_input_entry_id, values_map, "index", create_time, update_time) +VALUES(66, 5, 4, NULL, 4, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_relation_rule_input_entry +(id, rule_id, rule_input_entry_id, values_map, "index", create_time, update_time) +VALUES(67, 5, 5, NULL, 5, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_relation_rule_input_entry +(id, rule_id, rule_input_entry_id, values_map, "index", create_time, update_time) +VALUES(68, 5, 6, '{"statistics_name":"invalid_length_count.valids"}', 6, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_relation_rule_input_entry +(id, rule_id, rule_input_entry_id, values_map, "index", create_time, update_time) +VALUES(69, 5, 24, NULL, 7, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_relation_rule_input_entry +(id, rule_id, rule_input_entry_id, values_map, "index", create_time, update_time) +VALUES(70, 5, 23, NULL, 8, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_relation_rule_input_entry +(id, rule_id, rule_input_entry_id, values_map, "index", create_time, update_time) +VALUES(71, 5, 7, NULL, 9, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_relation_rule_input_entry +(id, rule_id, rule_input_entry_id, values_map, "index", create_time, update_time) +VALUES(72, 5, 8, NULL, 10, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_relation_rule_input_entry +(id, rule_id, rule_input_entry_id, values_map, "index", create_time, update_time) +VALUES(73, 5, 9, NULL, 11, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_relation_rule_input_entry +(id, rule_id, rule_input_entry_id, values_map, "index", create_time, update_time) +VALUES(74, 5, 10, NULL, 12, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_relation_rule_input_entry +(id, rule_id, rule_input_entry_id, values_map, "index", create_time, update_time) +VALUES(75, 5, 17, '', 13, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_relation_rule_input_entry +(id, rule_id, rule_input_entry_id, values_map, "index", create_time, update_time) +VALUES(76, 5, 19, NULL, 14, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_relation_rule_input_entry +(id, rule_id, rule_input_entry_id, values_map, "index", create_time, update_time) +VALUES(79, 6, 1, NULL, 1, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_relation_rule_input_entry +(id, rule_id, rule_input_entry_id, values_map, "index", create_time, update_time) +VALUES(80, 6, 2, NULL, 2, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_relation_rule_input_entry +(id, rule_id, rule_input_entry_id, values_map, "index", create_time, update_time) +VALUES(81, 6, 3, NULL, 3, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_relation_rule_input_entry +(id, rule_id, rule_input_entry_id, values_map, "index", create_time, update_time) +VALUES(82, 6, 4, NULL, 4, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_relation_rule_input_entry +(id, rule_id, rule_input_entry_id, values_map, "index", create_time, update_time) +VALUES(83, 6, 5, NULL, 5, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_relation_rule_input_entry +(id, rule_id, rule_input_entry_id, values_map, "index", create_time, update_time) +VALUES(84, 6, 6, '{"statistics_name":"duplicate_count.duplicates"}', 6, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_relation_rule_input_entry +(id, rule_id, rule_input_entry_id, values_map, "index", create_time, update_time) +VALUES(85, 6, 7, NULL, 7, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_relation_rule_input_entry +(id, rule_id, rule_input_entry_id, values_map, "index", create_time, update_time) +VALUES(86, 6, 8, NULL, 8, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_relation_rule_input_entry +(id, rule_id, rule_input_entry_id, values_map, "index", create_time, update_time) +VALUES(87, 6, 9, NULL, 9, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_relation_rule_input_entry +(id, rule_id, rule_input_entry_id, values_map, "index", create_time, update_time) +VALUES(88, 6, 10, NULL, 10, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_relation_rule_input_entry +(id, rule_id, rule_input_entry_id, values_map, "index", create_time, update_time) +VALUES(89, 6, 17, '', 11, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_relation_rule_input_entry +(id, rule_id, rule_input_entry_id, values_map, "index", create_time, update_time) +VALUES(90, 6, 19, NULL, 12, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_relation_rule_input_entry +(id, rule_id, rule_input_entry_id, values_map, "index", create_time, update_time) +VALUES(93, 7, 1, NULL, 1, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_relation_rule_input_entry +(id, rule_id, rule_input_entry_id, values_map, "index", create_time, update_time) +VALUES(94, 7, 2, NULL, 2, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_relation_rule_input_entry +(id, rule_id, rule_input_entry_id, values_map, "index", create_time, update_time) +VALUES(95, 7, 3, NULL, 3, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_relation_rule_input_entry +(id, rule_id, rule_input_entry_id, values_map, "index", create_time, update_time) +VALUES(96, 7, 4, NULL, 4, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_relation_rule_input_entry +(id, rule_id, rule_input_entry_id, values_map, "index", create_time, update_time) +VALUES(97, 7, 5, NULL, 5, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_relation_rule_input_entry +(id, rule_id, rule_input_entry_id, values_map, "index", create_time, update_time) +VALUES(98, 7, 6, '{"statistics_name":"regexp_count.regexps"}', 6, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_relation_rule_input_entry +(id, rule_id, rule_input_entry_id, values_map, "index", create_time, update_time) +VALUES(99, 7, 25, NULL, 5, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_relation_rule_input_entry +(id, rule_id, rule_input_entry_id, values_map, "index", create_time, update_time) +VALUES(100, 7, 7, NULL, 7, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_relation_rule_input_entry +(id, rule_id, rule_input_entry_id, values_map, "index", create_time, update_time) +VALUES(101, 7, 8, NULL, 8, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_relation_rule_input_entry +(id, rule_id, rule_input_entry_id, values_map, "index", create_time, update_time) +VALUES(102, 7, 9, NULL, 9, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_relation_rule_input_entry +(id, rule_id, rule_input_entry_id, values_map, "index", create_time, update_time) +VALUES(103, 7, 10, NULL, 10, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_relation_rule_input_entry +(id, rule_id, rule_input_entry_id, values_map, "index", create_time, update_time) +VALUES(104, 7, 17, NULL, 11, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_relation_rule_input_entry +(id, rule_id, rule_input_entry_id, values_map, "index", create_time, update_time) +VALUES(105, 7, 19, NULL, 12, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_relation_rule_input_entry +(id, rule_id, rule_input_entry_id, values_map, "index", create_time, update_time) +VALUES(108, 8, 1, NULL, 1, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_relation_rule_input_entry +(id, rule_id, rule_input_entry_id, values_map, "index", create_time, update_time) +VALUES(109, 8, 2, NULL, 2, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_relation_rule_input_entry +(id, rule_id, rule_input_entry_id, values_map, "index", create_time, update_time) +VALUES(110, 8, 3, NULL, 3, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_relation_rule_input_entry +(id, rule_id, rule_input_entry_id, values_map, "index", create_time, update_time) +VALUES(111, 8, 4, NULL, 4, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_relation_rule_input_entry +(id, rule_id, rule_input_entry_id, values_map, "index", create_time, update_time) +VALUES(112, 8, 5, NULL, 5, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_relation_rule_input_entry +(id, rule_id, rule_input_entry_id, values_map, "index", create_time, update_time) +VALUES(113, 8, 6, '{"statistics_name":"timeliness_count.timeliness"}', 6, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_relation_rule_input_entry +(id, rule_id, rule_input_entry_id, values_map, "index", create_time, update_time) +VALUES(114, 8, 26, NULL, 8, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_relation_rule_input_entry +(id, rule_id, rule_input_entry_id, values_map, "index", create_time, update_time) +VALUES(115, 8, 27, NULL, 9, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_relation_rule_input_entry +(id, rule_id, rule_input_entry_id, values_map, "index", create_time, update_time) +VALUES(116, 8, 7, NULL, 10, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_relation_rule_input_entry +(id, rule_id, rule_input_entry_id, values_map, "index", create_time, update_time) +VALUES(117, 8, 8, NULL, 11, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_relation_rule_input_entry +(id, rule_id, rule_input_entry_id, values_map, "index", create_time, update_time) +VALUES(118, 8, 9, NULL, 12, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_relation_rule_input_entry +(id, rule_id, rule_input_entry_id, values_map, "index", create_time, update_time) +VALUES(119, 8, 10, NULL, 13, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_relation_rule_input_entry +(id, rule_id, rule_input_entry_id, values_map, "index", create_time, update_time) +VALUES(120, 8, 17, NULL, 14, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_relation_rule_input_entry +(id, rule_id, rule_input_entry_id, values_map, "index", create_time, update_time) +VALUES(121, 8, 19, NULL, 15, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_relation_rule_input_entry +(id, rule_id, rule_input_entry_id, values_map, "index", create_time, update_time) +VALUES(124, 9, 1, NULL, 1, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_relation_rule_input_entry +(id, rule_id, rule_input_entry_id, values_map, "index", create_time, update_time) +VALUES(125, 9, 2, NULL, 2, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_relation_rule_input_entry +(id, rule_id, rule_input_entry_id, values_map, "index", create_time, update_time) +VALUES(126, 9, 3, NULL, 3, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_relation_rule_input_entry +(id, rule_id, rule_input_entry_id, values_map, "index", create_time, update_time) +VALUES(127, 9, 4, NULL, 4, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_relation_rule_input_entry +(id, rule_id, rule_input_entry_id, values_map, "index", create_time, update_time) +VALUES(128, 9, 5, NULL, 5, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_relation_rule_input_entry +(id, rule_id, rule_input_entry_id, values_map, "index", create_time, update_time) +VALUES(129, 9, 6, '{"statistics_name":"enum_count.enums"}', 6, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_relation_rule_input_entry +(id, rule_id, rule_input_entry_id, values_map, "index", create_time, update_time) +VALUES(130, 9, 28, NULL, 7, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_relation_rule_input_entry +(id, rule_id, rule_input_entry_id, values_map, "index", create_time, update_time) +VALUES(131, 9, 7, NULL, 8, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_relation_rule_input_entry +(id, rule_id, rule_input_entry_id, values_map, "index", create_time, update_time) +VALUES(132, 9, 8, NULL, 9, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_relation_rule_input_entry +(id, rule_id, rule_input_entry_id, values_map, "index", create_time, update_time) +VALUES(133, 9, 9, NULL, 10, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_relation_rule_input_entry +(id, rule_id, rule_input_entry_id, values_map, "index", create_time, update_time) +VALUES(134, 9, 10, NULL, 11, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_relation_rule_input_entry +(id, rule_id, rule_input_entry_id, values_map, "index", create_time, update_time) +VALUES(135, 9, 17, NULL, 12, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_relation_rule_input_entry +(id, rule_id, rule_input_entry_id, values_map, "index", create_time, update_time) +VALUES(136, 9, 19, NULL, 13, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_relation_rule_input_entry +(id, rule_id, rule_input_entry_id, values_map, "index", create_time, update_time) +VALUES(139, 10, 1, NULL, 1, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_relation_rule_input_entry +(id, rule_id, rule_input_entry_id, values_map, "index", create_time, update_time) +VALUES(140, 10, 2, NULL, 2, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_relation_rule_input_entry +(id, rule_id, rule_input_entry_id, values_map, "index", create_time, update_time) +VALUES(141, 10, 3, NULL, 3, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_relation_rule_input_entry +(id, rule_id, rule_input_entry_id, values_map, "index", create_time, update_time) +VALUES(142, 10, 4, NULL, 4, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_relation_rule_input_entry +(id, rule_id, rule_input_entry_id, values_map, "index", create_time, update_time) +VALUES(143, 10, 6, '{"statistics_name":"table_count.total"}', 6, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_relation_rule_input_entry +(id, rule_id, rule_input_entry_id, values_map, "index", create_time, update_time) +VALUES(144, 10, 7, NULL, 7, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_relation_rule_input_entry +(id, rule_id, rule_input_entry_id, values_map, "index", create_time, update_time) +VALUES(145, 10, 8, NULL, 8, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_relation_rule_input_entry +(id, rule_id, rule_input_entry_id, values_map, "index", create_time, update_time) +VALUES(146, 10, 9, NULL, 9, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_relation_rule_input_entry +(id, rule_id, rule_input_entry_id, values_map, "index", create_time, update_time) +VALUES(147, 10, 10, NULL, 10, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_relation_rule_input_entry +(id, rule_id, rule_input_entry_id, values_map, "index", create_time, update_time) +VALUES(148, 10, 17, NULL, 11, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_relation_rule_input_entry +(id, rule_id, rule_input_entry_id, values_map, "index", create_time, update_time) +VALUES(149, 10, 19, NULL, 12, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); +INSERT INTO t_ds_relation_rule_input_entry +(id, rule_id, rule_input_entry_id, values_map, "index", create_time, update_time) +VALUES(150, 8, 29, NULL, 7, '2021-03-03 11:31:24.000', '2021-03-03 11:31:24.000'); + +-- +-- Table structure for table t_ds_environment +-- + +DROP TABLE IF EXISTS t_ds_environment; +CREATE TABLE t_ds_environment ( + id serial NOT NULL, + code bigint NOT NULL, + name varchar(100) DEFAULT NULL, + config text DEFAULT NULL, + description text, + operator int DEFAULT NULL, + create_time timestamp DEFAULT NULL, + update_time timestamp DEFAULT NULL, + PRIMARY KEY (id), + CONSTRAINT environment_name_unique UNIQUE (name), + CONSTRAINT environment_code_unique UNIQUE (code) +); + +-- +-- Table structure for table t_ds_environment_worker_group_relation +-- + +DROP TABLE IF EXISTS t_ds_environment_worker_group_relation; +CREATE TABLE t_ds_environment_worker_group_relation ( + id serial NOT NULL, + environment_code bigint NOT NULL, + worker_group varchar(255) NOT NULL, + operator int DEFAULT NULL, + create_time timestamp DEFAULT NULL, + update_time timestamp DEFAULT NULL, + PRIMARY KEY (id) , + CONSTRAINT environment_worker_group_unique UNIQUE (environment_code,worker_group) +); + +-- +-- Table structure for table t_ds_task_group_queue +-- + +DROP TABLE IF EXISTS t_ds_task_group_queue; +CREATE TABLE t_ds_task_group_queue ( + id serial NOT NULL, + task_id int DEFAULT NULL , + task_name VARCHAR(100) DEFAULT NULL , + group_id int DEFAULT NULL , + process_id int DEFAULT NULL , + priority int DEFAULT '0' , + status int DEFAULT '-1' , + force_start int DEFAULT '0' , + in_queue int DEFAULT '0' , + create_time timestamp DEFAULT NULL , + update_time timestamp DEFAULT NULL , + PRIMARY KEY (id) +); + +-- +-- Table structure for table t_ds_task_group +-- + +DROP TABLE IF EXISTS t_ds_task_group; +CREATE TABLE t_ds_task_group ( + id serial NOT NULL, + name varchar(100) DEFAULT NULL , + description varchar(200) DEFAULT NULL , + group_size int NOT NULL , + project_code bigint DEFAULT '0' , + use_size int DEFAULT '0' , + user_id int DEFAULT NULL , + status int DEFAULT '1' , + create_time timestamp DEFAULT NULL , + update_time timestamp DEFAULT NULL , + PRIMARY KEY(id) +); + +-- ---------------------------- +-- Table structure for t_ds_audit_log +-- ---------------------------- +DROP TABLE IF EXISTS t_ds_audit_log; +CREATE TABLE t_ds_audit_log ( + id serial NOT NULL, + user_id int NOT NULL, + resource_type int NOT NULL, + operation int NOT NULL, + time timestamp DEFAULT NULL , + resource_id int NOT NULL, + PRIMARY KEY (id) +); + +-- +-- Table structure for table t_ds_k8s +-- + +DROP TABLE IF EXISTS t_ds_k8s; +CREATE TABLE t_ds_k8s ( + id serial NOT NULL, + k8s_name VARCHAR(100) DEFAULT NULL , + k8s_config text , + create_time timestamp DEFAULT NULL , + update_time timestamp DEFAULT NULL , + PRIMARY KEY (id) +); + +-- +-- Table structure for table t_ds_k8s_namespace +-- + +DROP TABLE IF EXISTS t_ds_k8s_namespace; +CREATE TABLE t_ds_k8s_namespace ( + id serial NOT NULL, + limits_memory int DEFAULT NULL , + namespace varchar(100) DEFAULT NULL , + online_job_num int DEFAULT '0' , + user_id int DEFAULT NULL, + pod_replicas int DEFAULT NULL, + pod_request_cpu NUMERIC(13,4) NULL, + pod_request_memory int DEFAULT NULL, + limits_cpu NUMERIC(13,4) NULL, + k8s varchar(100) DEFAULT NULL, + create_time timestamp DEFAULT NULL , + update_time timestamp DEFAULT NULL , + PRIMARY KEY (id) , + CONSTRAINT k8s_namespace_unique UNIQUE (namespace,k8s) +); + +-- +-- Table structure for table t_ds_relation_namespace_user +-- + +DROP TABLE IF EXISTS t_ds_relation_namespace_user; +CREATE TABLE t_ds_relation_namespace_user ( + id serial NOT NULL, + user_id int DEFAULT NULL , + namespace_id int DEFAULT NULL , + perm int DEFAULT NULL , + create_time timestamp DEFAULT NULL , + update_time timestamp DEFAULT NULL , + PRIMARY KEY (id) , + CONSTRAINT namespace_user_unique UNIQUE (user_id,namespace_id) +); + +-- ---------------------------- +-- Table structure for t_ds_alert_send_status +-- ---------------------------- +DROP TABLE IF EXISTS t_ds_alert_send_status; +CREATE TABLE t_ds_alert_send_status ( + id serial NOT NULL, + alert_id int NOT NULL, + alert_plugin_instance_id int NOT NULL, + send_status int DEFAULT '0', + log text, + create_time timestamp DEFAULT NULL, + PRIMARY KEY (id), + CONSTRAINT alert_send_status_unique UNIQUE (alert_id,alert_plugin_instance_id) +); diff --git a/dolphinscheduler-tools/src/test/resources/application-mysql.yaml b/dolphinscheduler-tools/src/test/resources/application-mysql.yaml new file mode 100644 index 0000000000..48cdd2b2c5 --- /dev/null +++ b/dolphinscheduler-tools/src/test/resources/application-mysql.yaml @@ -0,0 +1,43 @@ +# +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +spring: + main: + banner-mode: off + datasource: + driver-class-name: com.mysql.cj.jdbc.Driver + url: jdbc:mysql://localhost:3306/dolphinscheduler?useUnicode=true&characterEncoding=UTF-8 + username: root + password: root + hikari: + connection-test-query: select 1 + minimum-idle: 5 + auto-commit: true + validation-timeout: 3000 + pool-name: DolphinScheduler + maximum-pool-size: 50 + connection-timeout: 30000 + idle-timeout: 600000 + leak-detection-threshold: 0 + initialization-fail-timeout: 1 + +demo: + tenant-code: default + domain-name: localhost + api-server-port: 5173 + +# Override by profile + diff --git a/dolphinscheduler-tools/src/test/resources/application-postgresql.yaml b/dolphinscheduler-tools/src/test/resources/application-postgresql.yaml new file mode 100644 index 0000000000..46043a7e76 --- /dev/null +++ b/dolphinscheduler-tools/src/test/resources/application-postgresql.yaml @@ -0,0 +1,43 @@ +# +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed with +# this work for additional information regarding copyright ownership. +# The ASF licenses this file to You under the Apache License, Version 2.0 +# (the "License"); you may not use this file except in compliance with +# the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +spring: + main: + banner-mode: off + datasource: + driver-class-name: org.postgresql.Driver + url: jdbc:postgresql://localhost:5432/dolphinscheduler + username: root + password: root + hikari: + connection-test-query: select 1 + minimum-idle: 5 + auto-commit: true + validation-timeout: 3000 + pool-name: DolphinScheduler + maximum-pool-size: 50 + connection-timeout: 30000 + idle-timeout: 600000 + leak-detection-threshold: 0 + initialization-fail-timeout: 1 + +demo: + tenant-code: default + domain-name: localhost + api-server-port: 5173 + +# Override by profile + diff --git a/dolphinscheduler-tools/src/test/resources/logback.xml b/dolphinscheduler-tools/src/test/resources/logback.xml new file mode 100644 index 0000000000..6c17361120 --- /dev/null +++ b/dolphinscheduler-tools/src/test/resources/logback.xml @@ -0,0 +1,35 @@ + + + + + + + + + + [%level] %date{yyyy-MM-dd HH:mm:ss.SSS Z} %logger{96}:[%line] - [WorkflowInstance-%X{workflowInstanceId:-0}][TaskInstance-%X{taskInstanceId:-0}] - %msg%n + + UTF-8 + + + + + + + + diff --git a/pom.xml b/pom.xml index 3336fbe77f..023e941a96 100755 --- a/pom.xml +++ b/pom.xml @@ -73,6 +73,7 @@ 2.10.3 2.4 3.0.0-M6 + 3.0.0-M6 3.1.1 3.2.1 2.2.0 @@ -95,6 +96,9 @@ true false false + + false + true @@ -590,12 +594,34 @@ maven-surefire-plugin ${maven-surefire-plugin.version} + ${skipUT} + + **/*IT.java + ${project.build.directory}/jacoco.exec + + org.apache.maven.plugins + maven-failsafe-plugin + ${maven-failsafe-plugin.version} + + ${skipIT} + dolphinscheduler-dao/src/main/resources + + + + + integration-test + verify + + + + + org.jacoco diff --git a/tools/dependencies/known-dependencies.txt b/tools/dependencies/known-dependencies.txt index 10e6967193..a5d6e59ee1 100644 --- a/tools/dependencies/known-dependencies.txt +++ b/tools/dependencies/known-dependencies.txt @@ -30,7 +30,6 @@ bcutil-jdk15on-1.69.jar bonecp-0.8.0.RELEASE.jar bucket4j-core-6.2.0.jar caffeine-2.9.3.jar -checker-qual-3.12.0.jar checker-qual-3.19.0.jar classgraph-4.8.147.jar classmate-1.5.1.jar