DolphinScheduler部署之在Oracle系统库部署

本文章提供了在Oracle系统库上部署DolphinScheduler的所有文件和配置,整理不易,如帮到您,请给文章留个言即可,如有问题大家可以多多交流。

DolphinScheduler版本:3.2.0

Oracle版本:19c

本文章不提供简单的安装部署说明,只说怎么配置才能在Oracle数据库上启动以及相关的文件。

启动模块为:api、master、worker,以及注册中心也使用Oracle系统库。

1、三个工程的pom文件增加oracle数据库驱动

<dependency>
    <groupId>com.oracle.database.jdbc</groupId>
    <artifactId>ojdbc8</artifactId>
    <version>21.10.0.0</version>
    <scope>provided</scope>
</dependency>

2、api、master、worker工程application.yaml文件修改

数据库连接修改

profiles:
  active: oracle
datasource:
  driver-class-name: oracle.jdbc.driver.OracleDriver
  url: jdbc:oracle:thin:@127.0.0.1:1521/orcl
  username: aaaa
  password: aaaa
  hikari:
    connection-test-query: select 1 FROM DUAL

 注册中心使用数据库

registry:
  type: jdbc
  term-refresh-interval: 2s
  term-expire-times: 3
  hikari-config:
    jdbc-url: jdbc:oracle:thin:@127.0.0.1:1521/orcl
    username: AAAA
    password: AAAA
    maximum-pool-size: 5
    connection-timeout: 9000
    idle-timeout: 600000

3、DAO层的SpringConnectionFactory.java中修改:

databaseIdProvider方法中增加一行:
properties.setProperty("Oracle", "oracle");

类中增加:

@Bean
@Primary
@Profile("oracle")
public DbType oracle() {
    return DbType.ORACLE_12C;
}

4、注册中心的oracle数据库表创建

-- ----------------------------
-- Table: t_ds_jdbc_registry_data
-- ----------------------------
BEGIN
EXECUTE IMMEDIATE 'DROP TABLE T_DS_JDBC_REGISTRY_DATA';
EXCEPTION
    WHEN OTHERS THEN
        IF SQLCODE != -942 THEN RAISE; END IF;
END;
/

CREATE TABLE T_DS_JDBC_REGISTRY_DATA (
     ID NUMBER(11) generated by default as IDENTITY NOT NULL,
     DATA_KEY VARCHAR2(256) NOT NULL,
     DATA_VALUE CLOB,
     DATA_TYPE NUMBER(4) NOT NULL,
     LAST_TERM NUMBER NOT NULL,
     LAST_UPDATE_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL,
     CREATE_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL,
     PRIMARY KEY (ID)
);

CREATE UNIQUE INDEX UQ_T_DS_JDBC_REG_DATA_KEY ON T_DS_JDBC_REGISTRY_DATA(DATA_KEY);

CREATE OR REPLACE TRIGGER TRG_JDBC_REGISTRY_DATA_TIME
BEFORE UPDATE ON T_DS_JDBC_REGISTRY_DATA
                         FOR EACH ROW
BEGIN
    :new.LAST_UPDATE_TIME := CURRENT_TIMESTAMP;
END;
/

-- ----------------------------
-- Table: t_ds_jdbc_registry_lock
-- ----------------------------
BEGIN
EXECUTE IMMEDIATE 'DROP TABLE T_DS_JDBC_REGISTRY_LOCK';
EXCEPTION
    WHEN OTHERS THEN
        IF SQLCODE != -942 THEN RAISE; END IF;
END;
/

CREATE TABLE T_DS_JDBC_REGISTRY_LOCK (
     ID NUMBER(11) NOT NULL,
     LOCK_KEY VARCHAR2(256) NOT NULL,
     LOCK_OWNER VARCHAR2(256) NOT NULL,
     LAST_TERM NUMBER NOT NULL,
     LAST_UPDATE_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL,
     CREATE_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL,
     PRIMARY KEY (ID)
);

CREATE UNIQUE INDEX UQ_T_DS_JDBC_REG_LOCK_KEY ON T_DS_JDBC_REGISTRY_LOCK(LOCK_KEY);

CREATE OR REPLACE TRIGGER TRG_T_DS_JDBC_REG_LOCK_UPDATE
BEFORE UPDATE ON T_DS_JDBC_REGISTRY_LOCK
                  FOR EACH ROW
BEGIN
    :NEW.LAST_UPDATE_TIME := CURRENT_TIMESTAMP;
END;
/

5、DolphinScheduler系统运行的表结构

-- ================================
-- Table: QRTZ_BLOB_TRIGGERS
-- ================================
BEGIN
EXECUTE IMMEDIATE 'DROP TABLE QRTZ_BLOB_TRIGGERS';
EXCEPTION
    WHEN OTHERS THEN
        IF SQLCODE != -942 THEN RAISE; END IF;
END;
/

CREATE TABLE QRTZ_BLOB_TRIGGERS (
               SCHED_NAME     VARCHAR2(120) NOT NULL,
               TRIGGER_NAME   VARCHAR2(200) NOT NULL,
               TRIGGER_GROUP  VARCHAR2(200) NOT NULL,
               BLOB_DATA      BLOB,
               CONSTRAINT QRTZ_BLOB_TRIGGERS_PK PRIMARY KEY (SCHED_NAME, TRIGGER_NAME, TRIGGER_GROUP)
);

-- ================================
-- Table: QRTZ_CALENDARS
-- ================================
BEGIN
EXECUTE IMMEDIATE 'DROP TABLE QRTZ_CALENDARS';
EXCEPTION
    WHEN OTHERS THEN
        IF SQLCODE != -942 THEN RAISE; END IF;
END;
/

CREATE TABLE QRTZ_CALENDARS (
           SCHED_NAME     VARCHAR2(120) NOT NULL,
           CALENDAR_NAME  VARCHAR2(200) NOT NULL,
           CALENDAR       BLOB NOT NULL,
           CONSTRAINT QRTZ_CALENDARS_PK PRIMARY KEY (SCHED_NAME, CALENDAR_NAME)
);

-- ================================
-- Table: QRTZ_CRON_TRIGGERS
-- ================================
BEGIN
EXECUTE IMMEDIATE 'DROP TABLE QRTZ_CRON_TRIGGERS';
EXCEPTION
    WHEN OTHERS THEN
        IF SQLCODE != -942 THEN RAISE; END IF;
END;
/

CREATE TABLE QRTZ_CRON_TRIGGERS (
               SCHED_NAME        VARCHAR2(120) NOT NULL,
               TRIGGER_NAME      VARCHAR2(200) NOT NULL,
               TRIGGER_GROUP     VARCHAR2(200) NOT NULL,
               CRON_EXPRESSION   VARCHAR2(120) NOT NULL,
               TIME_ZONE_ID      VARCHAR2(80),
               CONSTRAINT QRTZ_CRON_TRIGGERS_PK PRIMARY KEY (SCHED_NAME, TRIGGER_NAME, TRIGGER_GROUP)
);

-- ================================
-- Table: QRTZ_FIRED_TRIGGERS
-- ================================
BEGIN
EXECUTE IMMEDIATE 'DROP TABLE QRTZ_FIRED_TRIGGERS';
EXCEPTION
    WHEN OTHERS THEN
        IF SQLCODE != -942 THEN RAISE; END IF;
END;
/

CREATE TABLE QRTZ_FIRED_TRIGGERS (
                SCHED_NAME          VARCHAR2(120) NOT NULL,
                ENTRY_ID            VARCHAR2(200) NOT NULL,
                TRIGGER_NAME        VARCHAR2(200) NOT NULL,
                TRIGGER_GROUP       VARCHAR2(200) NOT NULL,
                INSTANCE_NAME       VARCHAR2(200) NOT NULL,
                FIRED_TIME          NUMBER(13) NOT NULL,
                SCHED_TIME          NUMBER(13) NOT NULL,
                PRIORITY            NUMBER(11) NOT NULL,
                STATE               VARCHAR2(16) NOT NULL,
                JOB_NAME            VARCHAR2(200),
                JOB_GROUP           VARCHAR2(200),
                IS_NONCONCURRENT    VARCHAR2(1),
                REQUESTS_RECOVERY   VARCHAR2(1),
                CONSTRAINT QRTZ_FIRED_TRIGGERS_PK PRIMARY KEY (SCHED_NAME, ENTRY_ID)
);

-- 转换MySQL的KEY为Oracle索引(索引名缩短至30字符内)
CREATE INDEX IDX_FT_TRIG_INST_NM ON QRTZ_FIRED_TRIGGERS (SCHED_NAME, INSTANCE_NAME);
CREATE INDEX IDX_FT_INST_JOB_RCV ON QRTZ_FIRED_TRIGGERS (SCHED_NAME, INSTANCE_NAME, REQUESTS_RECOVERY);
CREATE INDEX IDX_FT_JOB_GROUP ON QRTZ_FIRED_TRIGGERS (SCHED_NAME, JOB_NAME, JOB_GROUP);
CREATE INDEX IDX_FT_JG ON QRTZ_FIRED_TRIGGERS (SCHED_NAME, JOB_GROUP);
CREATE INDEX IDX_FT_TRIG_GROUP ON QRTZ_FIRED_TRIGGERS (SCHED_NAME, TRIGGER_NAME, TRIGGER_GROUP);
CREATE INDEX IDX_FT_TG ON QRTZ_FIRED_TRIGGERS (SCHED_NAME, TRIGGER_GROUP);



-- ----------------------------
-- Table: QRTZ_JOB_DETAILS
-- ----------------------------
BEGIN
EXECUTE IMMEDIATE 'DROP TABLE QRTZ_JOB_DETAILS';
EXCEPTION
    WHEN OTHERS THEN
        IF SQLCODE != -942 THEN RAISE; END IF;
END;
/

CREATE TABLE QRTZ_JOB_DETAILS (
             SCHED_NAME         VARCHAR2(120) NOT NULL,
             JOB_NAME           VARCHAR2(200) NOT NULL,
             JOB_GROUP          VARCHAR2(200) NOT NULL,
             DESCRIPTION        VARCHAR2(250),
             JOB_CLASS_NAME     VARCHAR2(250) NOT NULL,
             IS_DURABLE         VARCHAR2(1) NOT NULL,
             IS_NONCONCURRENT   VARCHAR2(1) NOT NULL,
             IS_UPDATE_DATA     VARCHAR2(1) NOT NULL,
             REQUESTS_RECOVERY  VARCHAR2(1) NOT NULL,
             JOB_DATA           BLOB,
             CONSTRAINT QRTZ_JOB_DETAILS_PK PRIMARY KEY (SCHED_NAME, JOB_NAME, JOB_GROUP)
);

-- 索引
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);


-- ----------------------------
-- Table: QRTZ_LOCKS
-- ----------------------------
BEGIN
EXECUTE IMMEDIATE 'DROP TABLE QRTZ_LOCKS';
EXCEPTION
    WHEN OTHERS THEN
        IF SQLCODE != -942 THEN RAISE; END IF;
END;
/

CREATE TABLE QRTZ_LOCKS (
       SCHED_NAME  VARCHAR2(120) NOT NULL,
       LOCK_NAME   VARCHAR2(40) NOT NULL,
       CONSTRAINT QRTZ_LOCKS_PK PRIMARY KEY (SCHED_NAME, LOCK_NAME)
);


-- ----------------------------
-- Table: QRTZ_PAUSED_TRIGGER_GRPS
-- ----------------------------
BEGIN
EXECUTE IMMEDIATE 'DROP TABLE QRTZ_PAUSED_TRIGGER_GRPS';
EXCEPTION
    WHEN OTHERS THEN
        IF SQLCODE != -942 THEN RAISE; END IF;
END;
/

CREATE TABLE QRTZ_PAUSED_TRIGGER_GRPS (
      SCHED_NAME      VARCHAR2(120) NOT NULL,
      TRIGGER_GROUP   VARCHAR2(200) NOT NULL,
      CONSTRAINT QRTZ_PAUSED_TRIGGER_GRPS_PK PRIMARY KEY (SCHED_NAME, TRIGGER_GROUP)
);


-- ----------------------------
-- Table: QRTZ_SCHEDULER_STATE
-- ----------------------------
BEGIN
EXECUTE IMMEDIATE 'DROP TABLE QRTZ_SCHEDULER_STATE';
EXCEPTION
    WHEN OTHERS THEN
        IF SQLCODE != -942 THEN RAISE; END IF;
END;
/

CREATE TABLE QRTZ_SCHEDULER_STATE (
                 SCHED_NAME         VARCHAR2(120) NOT NULL,
                 INSTANCE_NAME      VARCHAR2(200) NOT NULL,
                 LAST_CHECKIN_TIME  NUMBER(13) NOT NULL,
                 CHECKIN_INTERVAL   NUMBER(13) NOT NULL,
                 CONSTRAINT QRTZ_SCHEDULER_STATE_PK PRIMARY KEY (SCHED_NAME, INSTANCE_NAME)
);


-- ----------------------------
-- Table: QRTZ_SIMPLE_TRIGGERS
-- ----------------------------
BEGIN
EXECUTE IMMEDIATE 'DROP TABLE QRTZ_SIMPLE_TRIGGERS';
EXCEPTION
    WHEN OTHERS THEN
        IF SQLCODE != -942 THEN RAISE; END IF;
END;
/

CREATE TABLE QRTZ_SIMPLE_TRIGGERS (
                 SCHED_NAME        VARCHAR2(120) NOT NULL,
                 TRIGGER_NAME      VARCHAR2(200) NOT NULL,
                 TRIGGER_GROUP     VARCHAR2(200) NOT NULL,
                 REPEAT_COUNT      NUMBER(7) NOT NULL,
                 REPEAT_INTERVAL   NUMBER(12) NOT NULL,
                 TIMES_TRIGGERED   NUMBER(10) NOT NULL,
                 CONSTRAINT QRTZ_SIMPLE_TRIGGERS_PK PRIMARY KEY (SCHED_NAME, TRIGGER_NAME, TRIGGER_GROUP)
);

-- ----------------------------
-- Table: QRTZ_SIMPROP_TRIGGERS
-- ----------------------------
BEGIN
EXECUTE IMMEDIATE 'DROP TABLE QRTZ_SIMPROP_TRIGGERS';
EXCEPTION
    WHEN OTHERS THEN
        IF SQLCODE != -942 THEN RAISE; END IF;
END;
/

CREATE TABLE QRTZ_SIMPROP_TRIGGERS (
                  SCHED_NAME        VARCHAR2(120) NOT NULL,
                  TRIGGER_NAME      VARCHAR2(200) NOT NULL,
                  TRIGGER_GROUP     VARCHAR2(200) NOT NULL,
                  STR_PROP_1        VARCHAR2(512),
                  STR_PROP_2        VARCHAR2(512),
                  STR_PROP_3        VARCHAR2(512),
                  INT_PROP_1        NUMBER(11),
                  INT_PROP_2        NUMBER(11),
                  LONG_PROP_1       NUMBER(20),
                  LONG_PROP_2       NUMBER(20),
                  DEC_PROP_1        DECIMAL(13,4),
                  DEC_PROP_2        DECIMAL(13,4),
                  BOOL_PROP_1       VARCHAR2(1),
                  BOOL_PROP_2       VARCHAR2(1),
                  CONSTRAINT QRTZ_SIMPROP_TRIGGERS_PK PRIMARY KEY (SCHED_NAME, TRIGGER_NAME, TRIGGER_GROUP)
);



-- ----------------------------
-- Table: QRTZ_TRIGGERS
-- ----------------------------
BEGIN
EXECUTE IMMEDIATE 'DROP TABLE QRTZ_TRIGGERS';
EXCEPTION
    WHEN OTHERS THEN
        IF SQLCODE != -942 THEN RAISE; END IF;
END;
/

CREATE TABLE QRTZ_TRIGGERS (
          SCHED_NAME        VARCHAR2(120) NOT NULL,
          TRIGGER_NAME      VARCHAR2(200) NOT NULL,
          TRIGGER_GROUP     VARCHAR2(200) NOT NULL,
          JOB_NAME          VARCHAR2(200) NOT NULL,
          JOB_GROUP         VARCHAR2(200) NOT NULL,
          DESCRIPTION       VARCHAR2(250),
          NEXT_FIRE_TIME    NUMBER(13),
          PREV_FIRE_TIME    NUMBER(13),
          PRIORITY          NUMBER(11),
          TRIGGER_STATE     VARCHAR2(16) NOT NULL,
          TRIGGER_TYPE      VARCHAR2(8) NOT NULL,
          START_TIME        NUMBER(13) NOT NULL,
          END_TIME          NUMBER(13),
          CALENDAR_NAME     VARCHAR2(200),
          MISFIRE_INSTR     NUMBER(2),
          JOB_DATA          BLOB,
          CONSTRAINT QRTZ_TRIGGERS_PK PRIMARY KEY (SCHED_NAME, TRIGGER_NAME, TRIGGER_GROUP)
);

-- 索引(共12个,已缩短部分名称)
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_NFT ON QRTZ_TRIGGERS (SCHED_NAME, NEXT_FIRE_TIME); -- 原IDX_QRTZ_T_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);

-- ----------------------------
-- Table: t_ds_access_token
-- ----------------------------
BEGIN
EXECUTE IMMEDIATE 'DROP TABLE t_ds_access_token';
EXCEPTION
    WHEN OTHERS THEN
        IF SQLCODE != -942 THEN RAISE; END IF;
END;
/

CREATE TABLE t_ds_access_token (
              id             NUMBER(11) generated by default as IDENTITY NOT NULL,
              user_id        NUMBER(11),
              token          VARCHAR2(64),
              expire_time    DATE,
              create_time    DATE,
              update_time    DATE,
              CONSTRAINT pk_t_ds_access_token PRIMARY KEY (id)
);

-- ----------------------------
-- Table: t_ds_alert
-- ----------------------------
BEGIN
EXECUTE IMMEDIATE 'DROP TABLE t_ds_alert';
EXCEPTION
    WHEN OTHERS THEN
        IF SQLCODE != -942 THEN RAISE; END IF;
END;
/

CREATE TABLE t_ds_alert (
       id                    NUMBER(11) generated by default as IDENTITY NOT NULL,
       title                 VARCHAR2(512),
       sign                  CHAR(40) NOT NULL,
       content               CLOB,
       alert_status          NUMBER(4) DEFAULT 0,
       warning_type          NUMBER(4) DEFAULT 2,
       log                   CLOB,
       alertgroup_id         NUMBER(11),
       create_time           DATE,
       update_time           DATE,
       project_code          NUMBER(20),
       process_definition_code NUMBER(20),
       process_instance_id   NUMBER(11),
       alert_type            NUMBER(11),
       CONSTRAINT pk_t_ds_alert PRIMARY KEY (id)
);

-- 索引
CREATE INDEX idx_t_ds_alert_status ON t_ds_alert (alert_status);
CREATE INDEX idx_t_ds_alert_sign ON t_ds_alert (sign);


-- ----------------------------
-- Table: t_ds_alertgroup
-- ----------------------------
BEGIN
EXECUTE IMMEDIATE 'DROP TABLE t_ds_alertgroup';
EXCEPTION
    WHEN OTHERS THEN
        IF SQLCODE != -942 THEN RAISE; END IF;
END;
/

CREATE TABLE t_ds_alertgroup (
     id                  NUMBER(11) generated by default as IDENTITY NOT NULL,
     alert_instance_ids  VARCHAR2(255),
     create_user_id      NUMBER(11),
     group_name          VARCHAR2(255),
     description         VARCHAR2(255),
     create_time         DATE,
     update_time         DATE,
     CONSTRAINT pk_t_ds_alertgroup PRIMARY KEY (id),
     CONSTRAINT uk_t_ds_alertgroup_name UNIQUE (group_name)
);



-- ----------------------------
-- Table: t_ds_command
-- ----------------------------
BEGIN
EXECUTE IMMEDIATE 'DROP TABLE t_ds_command';
EXCEPTION
    WHEN OTHERS THEN
        IF SQLCODE != -942 THEN RAISE; END IF;
END;
/

CREATE TABLE t_ds_command (
          id   NUMBER(11) generated by default as IDENTITY NOT NULL,
          command_type              NUMBER(4),
          process_definition_code   NUMBER(20) NOT NULL,
          process_definition_version NUMBER(11) DEFAULT 0,
          process_instance_id       NUMBER(11) DEFAULT 0,
          command_param             CLOB,
          task_depend_type          NUMBER(4),
          failure_strategy          NUMBER(4) DEFAULT 0,
          warning_type              NUMBER(4) DEFAULT 0,
          warning_group_id          NUMBER(11),
          schedule_time             DATE,
          start_time                DATE,
          executor_id               NUMBER(11),
          update_time               DATE,
          process_instance_priority NUMBER(11)  DEFAULT 2,
          worker_group              VARCHAR2(255),
          tenant_code               VARCHAR2(64),
          environment_code          NUMBER(20) DEFAULT -1,
          dry_run                   NUMBER(4) DEFAULT 0,
          test_flag                 NUMBER(4),
          CONSTRAINT pk_t_ds_command PRIMARY KEY (id)
);

-- 索引
CREATE INDEX idx_t_ds_command_priority ON t_ds_command (process_instance_priority, id);

-- ----------------------------
-- Table: t_ds_datasource
-- ----------------------------
BEGIN
EXECUTE IMMEDIATE 'DROP TABLE t_ds_datasource';
EXCEPTION
    WHEN OTHERS THEN
        IF SQLCODE != -942 THEN RAISE; END IF;
END;
/

CREATE TABLE t_ds_datasource (
            id                  NUMBER(11) generated by default as IDENTITY NOT NULL,
            name                VARCHAR2(64) NOT NULL,
            note                VARCHAR2(255),
            type                NUMBER(4) NOT NULL,
            user_id             NUMBER(11) NOT NULL,
            connection_params   CLOB NOT NULL,
            create_time         DATE NOT NULL,
            update_time         DATE,
            CONSTRAINT pk_t_ds_datasource PRIMARY KEY (id),
            CONSTRAINT uk_t_ds_datasource_name_type UNIQUE (name, type)
);



-- ----------------------------
-- Table: t_ds_error_command
-- ----------------------------
BEGIN
EXECUTE IMMEDIATE 'DROP TABLE t_ds_error_command';
EXCEPTION
    WHEN OTHERS THEN
        IF SQLCODE != -942 THEN RAISE; END IF;
END;
/

CREATE TABLE t_ds_error_command (
        id   NUMBER(11) NOT NULL,
        command_type              NUMBER(4),
        executor_id               NUMBER(11),
        process_definition_code   NUMBER(20) NOT NULL,
        process_definition_version NUMBER(11) DEFAULT 0,
        process_instance_id       NUMBER(11) DEFAULT 0,
        command_param             CLOB,
        task_depend_type          NUMBER(4),
        failure_strategy          NUMBER(4) DEFAULT 0,
        warning_type              NUMBER(4) DEFAULT 0,
        warning_group_id          NUMBER(11),
        schedule_time             DATE,
        start_time                DATE,
        update_time               DATE,
        process_instance_priority NUMBER(11) DEFAULT 2,
        worker_group              VARCHAR2(255),
        tenant_code               VARCHAR2(64),
        environment_code          NUMBER(20),
        message                   CLOB,
        dry_run                   NUMBER(4) DEFAULT 0,
        test_flag                 NUMBER(4),
        CONSTRAINT pk_t_ds_error_command PRIMARY KEY (id)
);

-- ----------------------------
-- Table: t_ds_process_definition
-- ----------------------------
BEGIN
EXECUTE IMMEDIATE 'DROP TABLE t_ds_process_definition';
EXCEPTION
    WHEN OTHERS THEN
        IF SQLCODE != -942 THEN RAISE; END IF;
END;
/

CREATE TABLE t_ds_process_definition (
     id                    NUMBER(11) generated by default as IDENTITY NOT NULL,
     code                  NUMBER(20) NOT NULL,
     name                  VARCHAR2(255),
     version               NUMBER(11) DEFAULT 0,
     description           CLOB,
     project_code          NUMBER(20) NOT NULL,
     release_state         NUMBER(4),
     user_id               NUMBER(11),
     global_params         CLOB,
     flag                  NUMBER(4),
     locations             CLOB,
     warning_group_id      NUMBER(11),
     timeout               NUMBER(11) DEFAULT 0,
     execution_type        NUMBER(4) DEFAULT 0,
     create_time           DATE NOT NULL,
     update_time           DATE NOT NULL,
     CONSTRAINT pk_t_ds_process_definition PRIMARY KEY (id, code),
     CONSTRAINT uk_t_ds_process_definition_name_project UNIQUE (name, project_code)
);


-- ----------------------------
-- Table: t_ds_process_definition_log
-- ----------------------------
BEGIN
EXECUTE IMMEDIATE 'DROP TABLE t_ds_process_definition_log';
EXCEPTION
    WHEN OTHERS THEN
        IF SQLCODE != -942 THEN RAISE; END IF;
END;
/

CREATE TABLE t_ds_process_definition_log (
         id                    NUMBER(11) generated by default as IDENTITY NOT NULL,
         code                  NUMBER(20) NOT NULL,
         name                  VARCHAR2(255),
         version               NUMBER(11) DEFAULT 0,
         description           CLOB,
         project_code          NUMBER(20) NOT NULL,
         release_state         NUMBER(4),
         user_id               NUMBER(11),
         global_params         CLOB,
         flag                  NUMBER(4),
         locations             CLOB,
         warning_group_id      NUMBER(11),
         timeout               NUMBER(11) DEFAULT 0,
         execution_type        NUMBER(4) DEFAULT 0,
         operator              NUMBER(11),
         operate_time          DATE,
         create_time           DATE NOT NULL,
         update_time           DATE NOT NULL,
         CONSTRAINT pk_t_ds_process_definition_log PRIMARY KEY (id),
         CONSTRAINT uk_t_ds_process_def_log_code_version UNIQUE (code, version)
);

-- ----------------------------
-- Table: t_ds_task_definition
-- ----------------------------
BEGIN
EXECUTE IMMEDIATE 'DROP TABLE t_ds_task_definition';
EXCEPTION
    WHEN OTHERS THEN
        IF SQLCODE != -942 THEN RAISE; END IF;
END;
/

CREATE TABLE t_ds_task_definition (
      id   NUMBER(11) generated by default as IDENTITY NOT NULL,
      code NUMBER(20) NOT NULL,
      name VARCHAR2(255),
      version                   NUMBER(11) DEFAULT 0,
      description               CLOB,
      project_code              NUMBER(20) NOT NULL,
      user_id                   NUMBER(11),
      task_type                 VARCHAR2(50) NOT NULL,
      task_execute_type         NUMBER(11) DEFAULT 0,
      task_params               CLOB,
      flag NUMBER(2),
      is_cache                  NUMBER(2) DEFAULT 0,
      task_priority             NUMBER(4) DEFAULT 2,
      worker_group              VARCHAR2(255),
      environment_code          NUMBER(20) DEFAULT -1,
      fail_retry_times          NUMBER(11),
      fail_retry_interval       NUMBER(11),
      timeout_flag              NUMBER(2) DEFAULT 0,
      timeout_notify_strategy   NUMBER(4),
      timeout                   NUMBER(11) DEFAULT 0,
      delay_time                NUMBER(11) DEFAULT 0,
      resource_ids              CLOB,
      task_group_id             NUMBER(11),
      task_group_priority       NUMBER(4) DEFAULT 0,
      cpu_quota                 NUMBER(11) DEFAULT -1 NOT NULL,
      memory_max                NUMBER(11) DEFAULT -1 NOT NULL,
      create_time               DATE NOT NULL,
      update_time               DATE NOT NULL,
      CONSTRAINT pk_t_ds_task_definition PRIMARY KEY (id, code)
);

-- ----------------------------
-- Table: t_ds_task_definition_log
-- ----------------------------
BEGIN
EXECUTE IMMEDIATE 'DROP TABLE t_ds_task_definition_log';
EXCEPTION
    WHEN OTHERS THEN
        IF SQLCODE != -942 THEN RAISE; END IF;
END;
/

CREATE TABLE t_ds_task_definition_log (
      id   NUMBER(11) generated by default as IDENTITY NOT NULL,
      code NUMBER(20) NOT NULL,
      name VARCHAR2(255),
      version                   NUMBER(11) DEFAULT 0,
      description               CLOB,
      project_code              NUMBER(20) NOT NULL,
      user_id                   NUMBER(11),
      task_type                 VARCHAR2(50) NOT NULL,
      task_execute_type         NUMBER(11) DEFAULT 0,
      task_params               CLOB,
      flag NUMBER(2),
      is_cache                  NUMBER(2) DEFAULT 0,
      task_priority             NUMBER(4) DEFAULT 2,
      worker_group              VARCHAR2(255),
      environment_code          NUMBER(20) DEFAULT -1,
      fail_retry_times          NUMBER(11),
      fail_retry_interval       NUMBER(11),
      timeout_flag              NUMBER(2) DEFAULT 0,
      timeout_notify_strategy   NUMBER(4),
      timeout                   NUMBER(11) DEFAULT 0,
      delay_time                NUMBER(11) DEFAULT 0,
      resource_ids              CLOB,
      operator                  NUMBER(11),
      task_group_id             NUMBER(11),
      task_group_priority       NUMBER(4) DEFAULT 0,
      operate_time              DATE,
      cpu_quota                 NUMBER(11) DEFAULT -1 NOT NULL,
      memory_max                NUMBER(11) DEFAULT -1 NOT NULL,
      create_time               DATE NOT NULL,
      update_time               DATE NOT NULL,
      CONSTRAINT pk_t_ds_task_def_log PRIMARY KEY (id)
);

-- 索引
CREATE INDEX idx_t_ds_task_def_log_code_ver ON t_ds_task_definition_log (code, version); -- 缩短索引名
CREATE INDEX idx_t_ds_task_def_log_proj_code ON t_ds_task_definition_log (project_code);

-- ----------------------------
-- Table: t_ds_process_task_relation
-- ----------------------------
BEGIN
EXECUTE IMMEDIATE 'DROP TABLE t_ds_process_task_relation';
EXCEPTION
    WHEN OTHERS THEN
        IF SQLCODE != -942 THEN RAISE; END IF;
END;
/

CREATE TABLE t_ds_process_task_relation (
        id         NUMBER(11) generated by default as IDENTITY NOT NULL,
        name       VARCHAR2(255),
        project_code                    NUMBER(20) NOT NULL,
        process_definition_code         NUMBER(20) NOT NULL,
        process_definition_version      NUMBER(11) NOT NULL,
        pre_task_code                   NUMBER(20) NOT NULL,
        pre_task_version                NUMBER(11) NOT NULL,
        post_task_code                  NUMBER(20) NOT NULL,
        post_task_version               NUMBER(11) NOT NULL,
        condition_type                  NUMBER(2),
        condition_params                CLOB,
        create_time DATE NOT NULL,
        update_time DATE NOT NULL,
        CONSTRAINT pk_t_ds_process_task_rel PRIMARY KEY (id)
);

-- 索引
CREATE INDEX idx_t_ds_proj_code_proc_code ON t_ds_process_task_relation (project_code, process_definition_code);
CREATE INDEX idx_pre_task_code_ver ON t_ds_process_task_relation (pre_task_code, pre_task_version);
CREATE INDEX idx_post_task_code_ver ON t_ds_process_task_relation (post_task_code, post_task_version);

-- ----------------------------
-- Table: t_ds_process_task_relation_log
-- ----------------------------
BEGIN
EXECUTE IMMEDIATE 'DROP TABLE t_ds_process_task_relation_log';
EXCEPTION
    WHEN OTHERS THEN
        IF SQLCODE != -942 THEN RAISE; END IF;
END;
/

CREATE TABLE t_ds_process_task_relation_log (
        id         NUMBER(11) generated by default as IDENTITY NOT NULL,
        name       VARCHAR2(255),
        project_code                    NUMBER(20) NOT NULL,
        process_definition_code         NUMBER(20) NOT NULL,
        process_definition_version      NUMBER(11) NOT NULL,
        pre_task_code                   NUMBER(20) NOT NULL,
        pre_task_version                NUMBER(11) NOT NULL,
        post_task_code                  NUMBER(20) NOT NULL,
        post_task_version               NUMBER(11) NOT NULL,
        condition_type                  NUMBER(2),
        condition_params                CLOB,
        operator   NUMBER(11),
        operate_time                    DATE,
        create_time DATE NOT NULL,
        update_time DATE NOT NULL,
        CONSTRAINT pk_t_ds_process_task_rel_log PRIMARY KEY (id)
);

-- 索引
CREATE INDEX idx_proc_code_ver ON t_ds_process_task_relation_log (process_definition_code, process_definition_version); -- 缩短索引名


-- ----------------------------
-- Table: t_ds_process_instance
-- ----------------------------
BEGIN
EXECUTE IMMEDIATE 'DROP TABLE t_ds_process_instance';
EXCEPTION
    WHEN OTHERS THEN
        IF SQLCODE != -942 THEN RAISE; END IF;
END;
/

CREATE TABLE t_ds_process_instance (
       id         NUMBER(11) generated by default as IDENTITY NOT NULL,
       name       VARCHAR2(255),
       process_definition_code         NUMBER(20) NOT NULL,
       process_definition_version      NUMBER(11) DEFAULT 0,
       project_code                    NUMBER(20),
       state      NUMBER(4),
       state_history   CLOB,
       recovery   NUMBER(4),
       start_time DATE,
       end_time   DATE,
       run_times  NUMBER(11),
       host       VARCHAR2(135),
       command_type                    NUMBER(4),
       command_param                   CLOB,
       task_depend_type                NUMBER(4),
       max_try_times                   NUMBER(4) DEFAULT 0,
       failure_strategy                NUMBER(4) DEFAULT 0,
       warning_type                    NUMBER(4) DEFAULT 0,
       warning_group_id                NUMBER(11),
       schedule_time                   DATE,
       command_start_time              DATE,
       global_params                   CLOB,
       flag       NUMBER(4) DEFAULT 1,
       update_time DATE DEFAULT SYSDATE,
       is_sub_process                  NUMBER(11) DEFAULT 0,
       executor_id NUMBER(11) NOT NULL,
       executor_name                   VARCHAR2(64),
       history_cmd CLOB,
       process_instance_priority       NUMBER(11) DEFAULT 2,
       worker_group                    VARCHAR2(255),
       environment_code                NUMBER(20) DEFAULT -1,
       timeout    NUMBER(11) DEFAULT 0,
       tenant_code VARCHAR2(64) DEFAULT 'default',
       var_pool   CLOB,
       dry_run    NUMBER(4) DEFAULT 0,
       next_process_instance_id        NUMBER(11) DEFAULT 0,
       restart_time                    DATE,
       test_flag  NUMBER(4),
       CONSTRAINT pk_t_ds_process_instance PRIMARY KEY (id)
);

-- 索引
CREATE INDEX idx_process_instance_code ON t_ds_process_instance (process_definition_code, id);
CREATE INDEX idx_start_end_time ON t_ds_process_instance (start_time, end_time);

-- ----------------------------
-- Table: t_ds_project
-- ----------------------------
BEGIN
EXECUTE IMMEDIATE 'DROP TABLE t_ds_project';
EXCEPTION
    WHEN OTHERS THEN
        IF SQLCODE != -942 THEN RAISE; END IF;
END;
/

CREATE TABLE t_ds_project (
         id              NUMBER(11) generated by default as IDENTITY NOT NULL,
         name            VARCHAR2(255),
         code            NUMBER(20) NOT NULL,
         description     VARCHAR2(255),
         user_id         NUMBER(11),
         flag            NUMBER(4) DEFAULT 1,
         create_time     DATE NOT NULL,
         update_time     DATE,
         CONSTRAINT pk_t_ds_project PRIMARY KEY (id),
         CONSTRAINT uk_t_ds_project_name UNIQUE (name),
         CONSTRAINT uk_t_ds_project_code UNIQUE (code)
);

-- 索引
CREATE INDEX idx_t_ds_project_user_id ON t_ds_project (user_id);


-- ----------------------------
-- Table: t_ds_project_parameter
-- ----------------------------
BEGIN
EXECUTE IMMEDIATE 'DROP TABLE t_ds_project_parameter';
EXCEPTION
    WHEN OTHERS THEN
        IF SQLCODE != -942 THEN RAISE; END IF;
END;
/

CREATE TABLE t_ds_project_parameter (
    id                  NUMBER(11) generated by default as IDENTITY NOT NULL,
    param_name          VARCHAR2(255) NOT NULL,
    param_value         VARCHAR2(255) NOT NULL,
    code                NUMBER(20) NOT NULL,
    project_code        NUMBER(20) NOT NULL,
    user_id             NUMBER(11),
    create_time         DATE NOT NULL,
    update_time         DATE,
    CONSTRAINT pk_t_ds_project_param PRIMARY KEY (id),
    CONSTRAINT uk_t_ds_param_name_proj_code UNIQUE (project_code, param_name),
    CONSTRAINT uk_t_ds_param_code UNIQUE (code)
);

BEGIN
EXECUTE IMMEDIATE 'DROP TABLE T_DS_PROJECT_PREFERENCE';
EXCEPTION
    WHEN OTHERS THEN
        IF SQLCODE != -942 THEN RAISE; END IF;
END;
/

CREATE TABLE T_DS_PROJECT_PREFERENCE (
     ID NUMBER(11) generated by default as IDENTITY NOT NULL,
     CODE NUMBER(20) NOT NULL,
     PROJECT_CODE NUMBER(20) NOT NULL,
     PREFERENCES VARCHAR2(512) NOT NULL,
     USER_ID NUMBER(11),
     STATE NUMBER(11) DEFAULT 1,
     CREATE_TIME DATE NOT NULL,
     UPDATE_TIME DATE,
     PRIMARY KEY (ID)
);

-- Unique indexes
CREATE UNIQUE INDEX UN_PROJ_PREFERENCE_PROJ_CODE
ON T_DS_PROJECT_PREFERENCE(PROJECT_CODE);

CREATE UNIQUE INDEX UNIQUE_PROJ_PREFERENCE_CODE
ON T_DS_PROJECT_PREFERENCE(CODE);

-- ----------------------------
-- Table: t_ds_queue
-- ----------------------------
BEGIN
EXECUTE IMMEDIATE 'DROP TABLE t_ds_queue';
EXCEPTION
    WHEN OTHERS THEN
        IF SQLCODE != -942 THEN RAISE; END IF;
END;
/

CREATE TABLE t_ds_queue (
    id              NUMBER(11) generated by default as IDENTITY NOT NULL,
    queue_name      VARCHAR2(64),
    queue           VARCHAR2(64),
    create_time     DATE,
    update_time     DATE,
    CONSTRAINT pk_t_ds_queue PRIMARY KEY (id),
    CONSTRAINT uk_t_ds_queue_name UNIQUE (queue_name)
);

-- 数据插入(原INSERT IGNORE转换)
INSERT INTO t_ds_queue (id, queue_name, queue)
SELECT 1, 'default', 'default' FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_queue WHERE id = 1);


-- ----------------------------
-- Table: t_ds_relation_datasource_user
-- ----------------------------
BEGIN
EXECUTE IMMEDIATE 'DROP TABLE t_ds_relation_datasource_user';
EXCEPTION
    WHEN OTHERS THEN
        IF SQLCODE != -942 THEN RAISE; END IF;
END;
/

CREATE TABLE t_ds_relation_datasource_user (
   id             NUMBER(11) generated by default as IDENTITY NOT NULL,
   user_id        NUMBER(11) NOT NULL,
   datasource_id  NUMBER(11),
   perm           NUMBER(11) DEFAULT 1,
   create_time    DATE,
   update_time    DATE,
   CONSTRAINT pk_rel_datasource_user PRIMARY KEY (id)
);

-- ----------------------------
-- Table: t_ds_relation_process_instance
-- ----------------------------
BEGIN
EXECUTE IMMEDIATE 'DROP TABLE t_ds_relation_process_instance';
EXCEPTION
    WHEN OTHERS THEN
        IF SQLCODE != -942 THEN RAISE; END IF;
END;
/

CREATE TABLE t_ds_relation_process_instance (
    id  NUMBER(11) generated by default as IDENTITY NOT NULL,
    parent_process_instance_id NUMBER(11),
    parent_task_instance_id  NUMBER(11),
    process_instance_id      NUMBER(11),
    CONSTRAINT pk_rel_process_instance PRIMARY KEY (id)
);

-- 索引
CREATE INDEX idx_parent_proc_task ON t_ds_relation_process_instance (parent_process_instance_id, parent_task_instance_id);
CREATE INDEX idx_proc_instance_id ON t_ds_relation_process_instance (process_instance_id);

-- ----------------------------
-- Table: t_ds_relation_project_user
-- ----------------------------
BEGIN
EXECUTE IMMEDIATE 'DROP TABLE t_ds_relation_project_user';
EXCEPTION
    WHEN OTHERS THEN
        IF SQLCODE != -942 THEN RAISE; END IF;
END;
/

CREATE TABLE t_ds_relation_project_user (
    id          NUMBER(11) generated by default as IDENTITY NOT NULL,
    user_id     NUMBER(11) NOT NULL,
    project_id  NUMBER(11),
    perm        NUMBER(11) DEFAULT 1,
    create_time DATE,
    update_time DATE,
    CONSTRAINT pk_rel_project_user PRIMARY KEY (id),
    CONSTRAINT uniq_uid_pid UNIQUE (user_id, project_id)
);

-- ----------------------------
-- Table: t_ds_relation_resources_user
-- ----------------------------
BEGIN
EXECUTE IMMEDIATE 'DROP TABLE t_ds_relation_resources_user';
EXCEPTION
    WHEN OTHERS THEN
        IF SQLCODE != -942 THEN RAISE; END IF;
END;
/

CREATE TABLE t_ds_relation_resources_user (
      id          NUMBER(11) generated by default as IDENTITY NOT NULL,
      user_id     NUMBER(11) NOT NULL,
      resources_id NUMBER(11),
      perm        NUMBER(11) DEFAULT 1,
      create_time DATE,
      update_time DATE,
      CONSTRAINT pk_rel_resources_user PRIMARY KEY (id)
);

-- ----------------------------
-- Table: t_ds_relation_udfs_user
-- ----------------------------
BEGIN
EXECUTE IMMEDIATE 'DROP TABLE t_ds_relation_udfs_user';
EXCEPTION
    WHEN OTHERS THEN
        IF SQLCODE != -942 THEN RAISE; END IF;
END;
/

CREATE TABLE t_ds_relation_udfs_user (
     id          NUMBER(11) generated by default as IDENTITY NOT NULL,
     user_id     NUMBER(11) NOT NULL,
     udf_id      NUMBER(11),
     perm        NUMBER(11) DEFAULT 1,
     create_time DATE,
     update_time DATE,
     CONSTRAINT pk_rel_udfs_user PRIMARY KEY (id)
);

-- ----------------------------
-- Table: t_ds_resources
-- ----------------------------
BEGIN
EXECUTE IMMEDIATE 'DROP TABLE t_ds_resources';
EXCEPTION
    WHEN OTHERS THEN
        IF SQLCODE != -942 THEN RAISE; END IF;
END;
/

CREATE TABLE t_ds_resources (
        id              NUMBER(11) generated by default as IDENTITY NOT NULL,
        alias           VARCHAR2(64),
        file_name       VARCHAR2(64),
        description     VARCHAR2(255),
        user_id         NUMBER(11),
        "type"            NUMBER(4),
        "size"            NUMBER(20),
        create_time     DATE,
        update_time     DATE,
        pid             NUMBER(11),
        full_name       VARCHAR2(128),
        is_directory    NUMBER(4),
        CONSTRAINT pk_resources PRIMARY KEY (id),
        CONSTRAINT uk_resources_full_name_type UNIQUE (full_name, "type")
);

-- ----------------------------
-- Table: t_ds_schedules
-- ----------------------------
BEGIN
EXECUTE IMMEDIATE 'DROP TABLE t_ds_schedules';
EXCEPTION
    WHEN OTHERS THEN
        IF SQLCODE != -942 THEN RAISE; END IF;
END;
/

CREATE TABLE t_ds_schedules (
    id     NUMBER(11) generated by default as IDENTITY NOT NULL,
    process_definition_code     NUMBER(20) NOT NULL,
    start_time                  DATE NOT NULL,
    end_time                    DATE NOT NULL,
    timezone_id                 VARCHAR2(40),
    crontab VARCHAR2(255) NOT NULL,
    failure_strategy            NUMBER(4) NOT NULL,
    user_id NUMBER(11) NOT NULL,
    release_state               NUMBER(4) NOT NULL,
    warning_type                NUMBER(4) NOT NULL,
    warning_group_id            NUMBER(11),
    process_instance_priority   NUMBER(11) DEFAULT 2,
    worker_group                VARCHAR2(255),
    tenant_code                 VARCHAR2(64),
    environment_code            NUMBER(20) DEFAULT -1,
    create_time                 DATE NOT NULL,
    update_time                 DATE NOT NULL,
    CONSTRAINT pk_schedules PRIMARY KEY (id)
);

-- ----------------------------
-- Table: t_ds_session
-- ----------------------------
BEGIN
EXECUTE IMMEDIATE 'DROP TABLE t_ds_session';
EXCEPTION
    WHEN OTHERS THEN
        IF SQLCODE != -942 THEN RAISE; END IF;
END;
/

CREATE TABLE t_ds_session (
      id              VARCHAR2(64) NOT NULL,
      user_id         NUMBER(11),
      ip              VARCHAR2(45),
      last_login_time DATE,
      CONSTRAINT pk_session PRIMARY KEY (id)
);

-- ----------------------------
-- Table: t_ds_task_instance
-- ----------------------------
BEGIN
EXECUTE IMMEDIATE 'DROP TABLE t_ds_task_instance';
EXCEPTION
    WHEN OTHERS THEN
        IF SQLCODE != -942 THEN RAISE; END IF;
END;
/

CREATE TABLE t_ds_task_instance (
    id     NUMBER(11) generated by default as IDENTITY NOT NULL,
    name   VARCHAR2(255),
    task_type                   VARCHAR2(50) NOT NULL,
    task_execute_type           NUMBER(11) DEFAULT 0,
    task_code                   NUMBER(20) NOT NULL,
    task_definition_version     NUMBER(11) DEFAULT 0,
    process_instance_id         NUMBER(11),
    process_instance_name       VARCHAR2(255),
    project_code                NUMBER(20),
    state  NUMBER(4),
    submit_time                 DATE,
    start_time                  DATE,
    end_time                    DATE,
    host   VARCHAR2(135),
    execute_path                VARCHAR2(200),
    log_path                    CLOB,
    alert_flag                  NUMBER(4),
    retry_times                 NUMBER(4) DEFAULT 0,
    pid    NUMBER(4),
    app_link                    CLOB,
    task_params                 CLOB,
    flag   NUMBER(4) DEFAULT 1,
    is_cache                    NUMBER(2) DEFAULT 0,
    cache_key                   VARCHAR2(200),
    retry_interval              NUMBER(4),
    max_retry_times             NUMBER(2),
    task_instance_priority      NUMBER(11),
    worker_group                VARCHAR2(255),
    environment_code            NUMBER(20) DEFAULT -1,
    environment_config          CLOB,
    executor_id                 NUMBER(11),
    executor_name               VARCHAR2(64),
    first_submit_time           DATE,
    delay_time                  NUMBER(4) DEFAULT 0,
    var_pool                    CLOB,
    task_group_id               NUMBER(11),
    dry_run NUMBER(4) DEFAULT 0,
    cpu_quota                   NUMBER(11) DEFAULT -1 NOT NULL,
    memory_max                  NUMBER(11) DEFAULT -1 NOT NULL,
    test_flag                   NUMBER(4),
    CONSTRAINT pk_task_instance PRIMARY KEY (id)
);

-- 索引
CREATE INDEX idx_task_instance_proc_id ON t_ds_task_instance (process_instance_id);
CREATE INDEX idx_task_code_version ON t_ds_task_instance (task_code, task_definition_version);
CREATE INDEX idx_cache_key ON t_ds_task_instance (cache_key);

-- ----------------------------
-- Table: t_ds_tenant
-- ----------------------------
BEGIN
EXECUTE IMMEDIATE 'DROP TABLE t_ds_tenant';
EXCEPTION
    WHEN OTHERS THEN
        IF SQLCODE != -942 THEN RAISE; END IF;
END;
/

CREATE TABLE t_ds_tenant (
     id              NUMBER(11) generated by default as IDENTITY NOT NULL,
     tenant_code     VARCHAR2(64),
     description     VARCHAR2(255),
     queue_id        NUMBER(11),
     create_time     DATE,
     update_time     DATE,
     CONSTRAINT pk_t_ds_tenant PRIMARY KEY (id),
     CONSTRAINT uk_tenant_code UNIQUE (tenant_code)
);

-- 数据插入(替代INSERT IGNORE)
INSERT INTO t_ds_tenant (id, tenant_code, description, queue_id, create_time, update_time)
SELECT -1, 'default', 'default tenant', 1, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_tenant WHERE id = -1);


-- ----------------------------
-- Table: t_ds_udfs
-- ----------------------------
BEGIN
EXECUTE IMMEDIATE 'DROP TABLE t_ds_udfs';
EXCEPTION
    WHEN OTHERS THEN
        IF SQLCODE != -942 THEN RAISE; END IF;
END;
/

CREATE TABLE t_ds_udfs (
   id              NUMBER(11) generated by default as IDENTITY NOT NULL,
   user_id         NUMBER(11) NOT NULL,
   func_name       VARCHAR2(255) NOT NULL,
   class_name      VARCHAR2(255) NOT NULL,
   type            NUMBER(4) NOT NULL,
   arg_types       VARCHAR2(255),
   database        VARCHAR2(255),
   description     VARCHAR2(255),
   resource_id     NUMBER(11) NOT NULL,
   resource_name   VARCHAR2(255) NOT NULL,
   create_time     DATE NOT NULL,
   update_time     DATE NOT NULL,
   CONSTRAINT pk_t_ds_udfs PRIMARY KEY (id),
   CONSTRAINT uk_udfs_func_name UNIQUE (func_name)
);

-- ----------------------------
-- Table: t_ds_user
-- ----------------------------
BEGIN
EXECUTE IMMEDIATE 'DROP TABLE t_ds_user';
EXCEPTION
    WHEN OTHERS THEN
        IF SQLCODE != -942 THEN RAISE; END IF;
END;
/

CREATE TABLE t_ds_user (
   id              NUMBER(11) generated by default as IDENTITY NOT NULL,
   user_name       VARCHAR2(64),
   user_password   VARCHAR2(64),
   user_type       NUMBER(4),
   email           VARCHAR2(64),
   phone           VARCHAR2(11),
   tenant_id       NUMBER(11) DEFAULT -1,
   create_time     DATE,
   update_time     DATE,
   queue           VARCHAR2(64),
   state           NUMBER(4) DEFAULT 1,
   time_zone       VARCHAR2(32),
   CONSTRAINT pk_t_ds_user PRIMARY KEY (id),
   CONSTRAINT uk_user_name UNIQUE (user_name)
);

-- ----------------------------
-- Table: t_ds_worker_group
-- ----------------------------
BEGIN
EXECUTE IMMEDIATE 'DROP TABLE t_ds_worker_group';
EXCEPTION
    WHEN OTHERS THEN
        IF SQLCODE != -942 THEN RAISE; END IF;
END;
/

CREATE TABLE t_ds_worker_group (
   id              NUMBER(11) generated by default as IDENTITY NOT NULL,
   name            VARCHAR2(255) NOT NULL,
   addr_list       CLOB,
   create_time     DATE,
   update_time     DATE,
   description     CLOB,
   other_params_json CLOB,
   CONSTRAINT pk_worker_group PRIMARY KEY (id),
   CONSTRAINT uk_worker_group_name UNIQUE (name)
);

-- ----------------------------
-- Table: t_ds_version
-- ----------------------------
BEGIN
EXECUTE IMMEDIATE 'DROP TABLE t_ds_version';
EXCEPTION
    WHEN OTHERS THEN
        IF SQLCODE != -942 THEN RAISE; END IF;
END;
/

CREATE TABLE t_ds_version (
      id        NUMBER(11) generated by default as IDENTITY ( INCREMENT BY 2) NOT NULL,
      version   VARCHAR2(63) NOT NULL,
      CONSTRAINT pk_t_ds_version PRIMARY KEY (id),
      CONSTRAINT uk_version UNIQUE (version)
);


-- 数据插入(替代INSERT IGNORE)
INSERT INTO t_ds_version (id, version)
SELECT 1, '3.2.0' FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_version WHERE id = 1);


-- ----------------------------
-- 数据插入:t_ds_alertgroup
-- ----------------------------
INSERT INTO t_ds_alertgroup (alert_instance_ids, create_user_id, group_name, description, create_time, update_time)
SELECT NULL, 1, 'default admin warning group', 'default admin warning group', SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (
        SELECT 1 FROM t_ds_alertgroup
        WHERE group_name = 'default admin warning group' AND create_user_id = 1
    );


-- ----------------------------
-- 数据插入:t_ds_user
-- ----------------------------
INSERT INTO t_ds_user (id, user_name, user_password, user_type, email, phone, tenant_id, create_time, update_time, queue, state, time_zone)
SELECT 1, 'admin', '7ad2410b2f4c074479a8937a28a22b8f', 0, 'xxx@qq.com', '', -1, SYSDATE, SYSDATE, NULL, 1, NULL FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_user WHERE id = 1);


-- ----------------------------
-- Table: t_ds_plugin_define
-- ----------------------------
BEGIN
EXECUTE IMMEDIATE 'DROP TABLE t_ds_plugin_define';
EXCEPTION
    WHEN OTHERS THEN
        IF SQLCODE != -942 THEN RAISE; END IF;
END;
/

CREATE TABLE t_ds_plugin_define (
    id              NUMBER generated by default as IDENTITY ( INCREMENT BY 2) NOT NULL,
    plugin_name     VARCHAR2(255) NOT NULL,
    plugin_type     VARCHAR2(63) NOT NULL,
    plugin_params   CLOB,
    create_time     TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL,
    update_time     TIMESTAMP DEFAULT CURRENT_TIMESTAMP NOT NULL,
    CONSTRAINT pk_plugin_define PRIMARY KEY (id),
    CONSTRAINT uk_plugin_define UNIQUE (plugin_name,plugin_type)
);

CREATE OR REPLACE TRIGGER trg_plugin_define_update_time
BEFORE UPDATE ON t_ds_plugin_define
FOR EACH ROW
BEGIN
    :new.update_time := CURRENT_TIMESTAMP;
END;
/
-- ----------------------------
-- Table: t_ds_alert_plugin_instance
-- ----------------------------
BEGIN
EXECUTE IMMEDIATE 'DROP TABLE t_ds_alert_plugin_instance';
EXCEPTION
    WHEN OTHERS THEN
        IF SQLCODE != -942 THEN RAISE; END IF;
END;
/

CREATE TABLE T_DS_ALERT_PLUGIN_INSTANCE (
    id                    NUMBER generated by default as IDENTITY NOT NULL,
    plugin_define_id      NUMBER NOT NULL,
    plugin_instance_params CLOB,
    create_time           TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    update_time           TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    instance_name         VARCHAR2(255),
    CONSTRAINT pk_alert_plugin_instance PRIMARY KEY (id)
);

CREATE OR REPLACE TRIGGER TRG_PLUGIN_INSTANCE_TIME
BEFORE UPDATE ON T_DS_ALERT_PLUGIN_INSTANCE
FOR EACH ROW
BEGIN
    :new.UPDATE_TIME := CURRENT_TIMESTAMP;
END;
/

-- ----------------------------
-- Table: t_ds_dq_comparison_type
-- ----------------------------
BEGIN
EXECUTE IMMEDIATE 'DROP TABLE t_ds_dq_comparison_type';
EXCEPTION
    WHEN OTHERS THEN
        IF SQLCODE != -942 THEN RAISE; END IF;
END;
/

CREATE TABLE t_ds_dq_comparison_type (
     id               NUMBER(11) generated by default as IDENTITY NOT NULL,
     type             VARCHAR2(255) NOT NULL,
     execute_sql      CLOB,
     output_table     VARCHAR2(100),
     name             VARCHAR2(255),
     create_time      DATE,
     update_time      DATE,
     is_inner_source  NUMBER(1) DEFAULT 0,
     CONSTRAINT pk_dq_comparison_type PRIMARY KEY (id)
);

-- ----------------------------
-- 数据插入:t_ds_dq_comparison_type
-- ----------------------------

-- 值1: FixValue
INSERT INTO t_ds_dq_comparison_type (
    id, type, execute_sql, output_table, name, create_time, update_time, is_inner_source
)
SELECT 1, 'FixValue', NULL, NULL, NULL, SYSDATE, SYSDATE, 0 FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_dq_comparison_type WHERE id = 1);

-- 值2: DailyAvg
INSERT INTO t_ds_dq_comparison_type (
    id, type, execute_sql, output_table, name, create_time, update_time, is_inner_source
)
SELECT 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',
       SYSDATE,
       SYSDATE,
       1
FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_dq_comparison_type WHERE id = 2);

-- 值3: WeeklyAvg
INSERT INTO t_ds_dq_comparison_type (
    id, type, execute_sql, output_table, name, create_time, update_time, is_inner_source
)
SELECT 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(''day'', ${data_time}) and unique_code = ${unique_code} and statistics_name = ''''${statistics_name}''''',
       'week_range',
       'week_range.week_avg',
       SYSDATE,
       SYSDATE,
       1
FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_dq_comparison_type WHERE id = 3);

-- 值4: MonthlyAvg
INSERT INTO t_ds_dq_comparison_type (
    id, type, execute_sql, output_table, name, create_time, update_time, is_inner_source
)
SELECT 4,
       'MonthlyAvg',
       'select round(avg(statistics_value),2) as month_avg from t_ds_dq_task_statistics_value where data_time >= date_trunc(''MONTH'', ${data_time}) and data_time < date_trunc(''day'', ${data_time}) and unique_code = ${unique_code} and statistics_name = ''''${statistics_name}''''',
       'month_range',
       'month_range.month_avg',
       SYSDATE,
       SYSDATE,
       1
FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_dq_comparison_type WHERE id = 4);

-- 值5: Last7DayAvg
INSERT INTO t_ds_dq_comparison_type (
    id, type, execute_sql, output_table, name, create_time, update_time, is_inner_source
)
SELECT 5,
       'Last7DayAvg',
       'select round(avg(statistics_value),2) as last_7_avg from t_ds_dq_task_statistics_value where data_time >= date_add(date_trunc(''day'', ${data_time}), -7) and data_time < date_trunc(''day'', ${data_time}) and unique_code = ${unique_code} and statistics_name = ''''${statistics_name}''''',
       'last_seven_days',
       'last_seven_days.last_7_avg',
       SYSDATE,
       SYSDATE,
       1
FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_dq_comparison_type WHERE id = 5);

-- 值6: Last30DayAvg
INSERT INTO t_ds_dq_comparison_type (
    id, type, execute_sql, output_table, name, create_time, update_time, is_inner_source
)
SELECT 6,
       'Last30DayAvg',
       'select round(avg(statistics_value),2) as last_30_avg from t_ds_dq_task_statistics_value where 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',
       SYSDATE,
       SYSDATE,
       1
FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_dq_comparison_type WHERE id = 6);

-- 值7: SrcTableTotalRows
INSERT INTO t_ds_dq_comparison_type (
    id, type, execute_sql, output_table, name, create_time, update_time, is_inner_source
)
SELECT 7,
       'SrcTableTotalRows',
       'SELECT COUNT(*) AS total FROM ${src_table} WHERE (${src_filter})',
       'total_count',
       'total_count.total',
       SYSDATE,
       SYSDATE,
       0
FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_dq_comparison_type WHERE id = 7);

-- 值8: TargetTableTotalRows
INSERT INTO t_ds_dq_comparison_type (
    id, type, execute_sql, output_table, name, create_time, update_time, is_inner_source
)
SELECT 8,
       'TargetTableTotalRows',
       'SELECT COUNT(*) AS total FROM ${target_table} WHERE (${target_filter})',
       'total_count',
       'total_count.total',
       SYSDATE,
       SYSDATE,
       0
FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_dq_comparison_type WHERE id = 8);

-- ----------------------------
-- Table: t_ds_dq_execute_result
-- ----------------------------
BEGIN
EXECUTE IMMEDIATE 'DROP TABLE t_ds_dq_execute_result';
EXCEPTION
    WHEN OTHERS THEN
        IF SQLCODE != -942 THEN RAISE; END IF;
END;
/

CREATE TABLE t_ds_dq_execute_result (
    id                    NUMBER(11) generated by default as IDENTITY NOT NULL,
    process_definition_id NUMBER(11),
    process_instance_id   NUMBER(11),
    task_instance_id      NUMBER(11),
    rule_type             NUMBER(11),
    rule_name             VARCHAR2(255),
    statistics_value      DOUBLE PRECISION,
    comparison_value      DOUBLE PRECISION,
    check_type            NUMBER(11),
    threshold             DOUBLE PRECISION,
    operator              NUMBER(11),
    failure_strategy      NUMBER(11),
    state                 NUMBER(11),
    user_id               NUMBER(11),
    comparison_type       NUMBER(11),
    error_output_path     CLOB,
    create_time           DATE,
    update_time           DATE,
    CONSTRAINT pk_dq_execute_result PRIMARY KEY (id)
);

-- ----------------------------
-- Table: t_ds_dq_rule
-- ----------------------------
BEGIN
EXECUTE IMMEDIATE 'DROP TABLE t_ds_dq_rule';
EXCEPTION
    WHEN OTHERS THEN
        IF SQLCODE != -942 THEN RAISE; END IF;
END;
/

CREATE TABLE t_ds_dq_rule (
      id          NUMBER(11) generated by default as IDENTITY NOT NULL,
      name        VARCHAR2(255),
      type        NUMBER(11),
      user_id     NUMBER(11),
      create_time DATE,
      update_time DATE,
      CONSTRAINT pk_dq_rule PRIMARY KEY (id)
);

-- ----------------------------
-- 数据插入:t_ds_dq_rule
-- ----------------------------
-- 值1: null_check
INSERT INTO t_ds_dq_rule (id, name, type, user_id, create_time, update_time)
SELECT 1, '$t(null_check)', 0, 1, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_dq_rule WHERE id = 1);

-- 值2: custom_sql
INSERT INTO t_ds_dq_rule (id, name, type, user_id, create_time, update_time)
SELECT 2, '$t(custom_sql)', 1, 1, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_dq_rule WHERE id = 2);

-- 值3: multi_table_accuracy
INSERT INTO t_ds_dq_rule (id, name, type, user_id, create_time, update_time)
SELECT 3, '$t(multi_table_accuracy)', 2, 1, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_dq_rule WHERE id = 3);

-- 值4: multi_table_value_comparison
INSERT INTO t_ds_dq_rule (id, name, type, user_id, create_time, update_time)
SELECT 4, '$t(multi_table_value_comparison)', 3, 1, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_dq_rule WHERE id = 4);

-- 值5: field_length_check
INSERT INTO t_ds_dq_rule (id, name, type, user_id, create_time, update_time)
SELECT 5, '$t(field_length_check)', 0, 1, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_dq_rule WHERE id = 5);

-- 值6: uniqueness_check
INSERT INTO t_ds_dq_rule (id, name, type, user_id, create_time, update_time)
SELECT 6, '$t(uniqueness_check)', 0, 1, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_dq_rule WHERE id = 6);

-- 值7: regexp_check
INSERT INTO t_ds_dq_rule (id, name, type, user_id, create_time, update_time)
SELECT 7, '$t(regexp_check)', 0, 1, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_dq_rule WHERE id = 7);

-- 值8: timeliness_check
INSERT INTO t_ds_dq_rule (id, name, type, user_id, create_time, update_time)
SELECT 8, '$t(timeliness_check)', 0, 1, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_dq_rule WHERE id = 8);

-- 值9: enumeration_check
INSERT INTO t_ds_dq_rule (id, name, type, user_id, create_time, update_time)
SELECT 9, '$t(enumeration_check)', 0, 1, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_dq_rule WHERE id = 9);

-- 值10: table_count_check
INSERT INTO t_ds_dq_rule (id, name, type, user_id, create_time, update_time)
SELECT 10, '$t(table_count_check)', 0, 1, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_dq_rule WHERE id = 10);

-- ----------------------------
-- Table: t_ds_dq_rule_execute_sql
-- ----------------------------
BEGIN
EXECUTE IMMEDIATE 'DROP TABLE t_ds_dq_rule_execute_sql';
EXCEPTION
    WHEN OTHERS THEN
        IF SQLCODE != -942 THEN RAISE; END IF;
END;
/

CREATE TABLE t_ds_dq_rule_execute_sql (
      id                NUMBER(11) generated by default as IDENTITY NOT NULL,
      "INDEX"         NUMBER(11),
      sql          CLOB,
      table_alias       VARCHAR2(255),
      type              NUMBER(11),
      is_error_output_sql NUMBER(1) DEFAULT 0,
      create_time       DATE,
      update_time       DATE,
      CONSTRAINT pk_dq_rule_execute_sql PRIMARY KEY (id)
);

-- ----------------------------
-- 数据插入:t_ds_dq_rule_execute_sql
-- ----------------------------

-- 值1: null_count
INSERT INTO t_ds_dq_rule_execute_sql (id, "INDEX", sql, table_alias, type, is_error_output_sql, create_time, update_time)
SELECT 1, 1,
       'SELECT COUNT(*) AS nulls FROM null_items',
       'null_count', 1, 0, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_dq_rule_execute_sql WHERE id = 1);

-- 值2: total_count (src_table)
INSERT INTO t_ds_dq_rule_execute_sql (id, "INDEX", sql, table_alias, type, is_error_output_sql, create_time, update_time)
SELECT 2, 1,
       'SELECT COUNT(*) AS total FROM ${src_table} WHERE (${src_filter})',
       'total_count', 2, 0, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_dq_rule_execute_sql WHERE id = 2);

-- 值3: miss_count
INSERT INTO t_ds_dq_rule_execute_sql (id, "INDEX", sql, table_alias, type, is_error_output_sql, create_time, update_time)
SELECT 3, 1,
       'SELECT COUNT(*) AS miss from miss_items',
       'miss_count', 1, 0, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_dq_rule_execute_sql WHERE id = 3);

-- 值4: invalid_length_count
INSERT INTO t_ds_dq_rule_execute_sql (id, "INDEX", sql, table_alias, type, is_error_output_sql, create_time, update_time)
SELECT 4, 1,
       'SELECT COUNT(*) AS valids FROM invalid_length_items',
       'invalid_length_count', 1, 0, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_dq_rule_execute_sql WHERE id = 4);

-- 值5: total_count (target_table)
INSERT INTO t_ds_dq_rule_execute_sql (id, "INDEX", sql, table_alias, type, is_error_output_sql, create_time, update_time)
SELECT 5, 1,
       'SELECT COUNT(*) AS total FROM ${target_table} WHERE (${target_filter})',
       'total_count', 2, 0, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_dq_rule_execute_sql WHERE id = 5);

-- 值6: duplicate_items(含单引号转义)
INSERT INTO t_ds_dq_rule_execute_sql (id, "INDEX", sql, table_alias, type, is_error_output_sql, create_time, update_time)
SELECT 6, 1,
       'SELECT ${src_field} FROM ${src_table} group by ${src_field} having count(*) > 1',
       'duplicate_items', 0, 1, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_dq_rule_execute_sql WHERE id = 6);

-- 值7: duplicate_count
INSERT INTO t_ds_dq_rule_execute_sql (id, "INDEX", sql, table_alias, type, is_error_output_sql, create_time, update_time)
SELECT 7, 1,
       'SELECT COUNT(*) AS duplicates FROM duplicate_items',
       'duplicate_count', 1, 0, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_dq_rule_execute_sql WHERE id = 7);

-- 值8: miss_items(含多表连接)
INSERT INTO t_ds_dq_rule_execute_sql (id, "INDEX", sql, table_alias, type, is_error_output_sql, create_time, update_time)
SELECT 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, 1, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_dq_rule_execute_sql WHERE id = 8);

-- 值9: regexp_items(含正则表达式)
INSERT INTO t_ds_dq_rule_execute_sql (id, "INDEX", sql, table_alias, type, is_error_output_sql, create_time, update_time)
SELECT 9, 1,
       'SELECT * FROM ${src_table} WHERE (${src_field} not regexp ''''${regexp_pattern}'''') AND (${src_filter}) ',
       'regexp_items', 0, 1, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_dq_rule_execute_sql WHERE id = 9);

-- 值10: regexp_count
INSERT INTO t_ds_dq_rule_execute_sql (id, "INDEX", sql, table_alias, type, is_error_output_sql, create_time, update_time)
SELECT 10, 1,
       'SELECT COUNT(*) AS regexps FROM regexp_items',
       'regexp_count', 1, 0, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_dq_rule_execute_sql WHERE id = 10);

-- 值11: timeliness_items(含时间格式化)
INSERT INTO t_ds_dq_rule_execute_sql (id, "INDEX", sql, table_alias, type, is_error_output_sql, create_time, update_time)
SELECT 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, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_dq_rule_execute_sql WHERE id = 11);

-- 值12: timeliness_count
INSERT INTO t_ds_dq_rule_execute_sql (id, "INDEX", sql, table_alias, type, is_error_output_sql, create_time, update_time)
SELECT 12, 1,
       'SELECT COUNT(*) AS timeliness FROM timeliness_items',
       'timeliness_count', 1, 0, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_dq_rule_execute_sql WHERE id = 12);

-- 值13: enum_items(含枚举列表)
INSERT INTO t_ds_dq_rule_execute_sql (id, "INDEX", sql, table_alias, type, is_error_output_sql, create_time, update_time)
SELECT 13, 1,
       'SELECT * FROM ${src_table} where (${src_field} not in ( ${enum_list} ) or ${src_field} is null) AND (${src_filter}) ',
       'enum_items', 0, 1, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_dq_rule_execute_sql WHERE id = 13);

-- 值14: enum_count
INSERT INTO t_ds_dq_rule_execute_sql (id, "INDEX", sql, table_alias, type, is_error_output_sql, create_time, update_time)
SELECT 14, 1,
       'SELECT COUNT(*) AS enums FROM enum_items',
       'enum_count', 1, 0, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_dq_rule_execute_sql WHERE id = 14);

-- 值15: table_count
INSERT INTO t_ds_dq_rule_execute_sql (id, "INDEX", sql, table_alias, type, is_error_output_sql, create_time, update_time)
SELECT 15, 1,
       'SELECT COUNT(*) AS total FROM ${src_table} WHERE (${src_filter})',
       'table_count', 1, 0, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_dq_rule_execute_sql WHERE id = 15);

-- 值16: null_items(含空值检查)
INSERT INTO t_ds_dq_rule_execute_sql (id, "INDEX", sql, table_alias, type, is_error_output_sql, create_time, update_time)
SELECT 16, 1,
       'SELECT * FROM ${src_table} WHERE (${src_field} is null or ${src_field} = '''''') AND (${src_filter})',
       'null_items', 0, 1, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_dq_rule_execute_sql WHERE id = 16);

-- 值17: invalid_length_items(含长度校验)
INSERT INTO t_ds_dq_rule_execute_sql (id, "INDEX", sql, table_alias, type, is_error_output_sql, create_time, update_time)
SELECT 17, 1,
       'SELECT * FROM ${src_table} WHERE (length(${src_field}) ${logic_operator} ${field_length}) AND (${src_filter})',
       'invalid_length_items', 0, 1, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_dq_rule_execute_sql WHERE id = 17);

-- ----------------------------
-- Table: t_ds_dq_rule_input_entry
-- ----------------------------
BEGIN
EXECUTE IMMEDIATE 'DROP TABLE t_ds_dq_rule_input_entry';
EXCEPTION
    WHEN OTHERS THEN
        IF SQLCODE != -942 THEN RAISE; END IF;
END;
/

CREATE TABLE t_ds_dq_rule_input_entry (
      id                    NUMBER(11) generated by default as IDENTITY NOT NULL,
      field                 VARCHAR2(255),
      type                  VARCHAR2(255),
      title                 VARCHAR2(255),
      value                 VARCHAR2(255),
      options               CLOB,
      placeholder           VARCHAR2(255),
      option_source_type    NUMBER(11),
      value_type            NUMBER(11),
      input_type            NUMBER(11),
      is_show               NUMBER(1) DEFAULT 1,
      can_edit              NUMBER(1) DEFAULT 1,
      is_emit               NUMBER(1) DEFAULT 0,
      is_validate           NUMBER(1) DEFAULT 1,
      create_time           DATE,
      update_time           DATE,
      CONSTRAINT pk_dq_rule_input_entry PRIMARY KEY (id)
);


-- ----------------------------
-- 数据插入:t_ds_dq_rule_input_entry(完整31条)
-- ----------------------------

-- 值1
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
)
SELECT 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, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_dq_rule_input_entry WHERE id = 1);

-- 值2
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
)
SELECT 2, 'src_datasource_id', 'select', '$t(src_datasource_id)', '',
       NULL, 'please select source datasource id',
       1, 2, 0, 1, 1, 1, 0, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_dq_rule_input_entry WHERE id = 2);

-- 值3
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
)
SELECT 3, 'src_table', 'select', '$t(src_table)', NULL,
       NULL, 'Please enter source table name',
       0, 0, 0, 1, 1, 1, 1, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_dq_rule_input_entry WHERE id = 3);

-- 值4
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
)
SELECT 4, 'src_filter', 'input', '$t(src_filter)', NULL,
       NULL, 'Please enter filter expression',
       0, 3, 0, 1, 1, 0, 0, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_dq_rule_input_entry WHERE id = 4);

-- 值5
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
)
SELECT 5, 'src_field', 'select', '$t(src_field)', NULL,
       NULL, 'Please enter column, only single column is supported',
       0, 0, 0, 1, 1, 0, 1, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_dq_rule_input_entry WHERE id = 5);

-- 值6
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
)
SELECT 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, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_dq_rule_input_entry WHERE id = 6);

-- 值7
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
)
SELECT 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, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_dq_rule_input_entry WHERE id = 7);

-- 值8
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
)
SELECT 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, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_dq_rule_input_entry WHERE id = 8);

-- 值9
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
)
SELECT 9, 'threshold', 'input', '$t(threshold)', NULL,
       NULL, 'Please enter threshold, number is needed',
       0, 2, 3, 1, 1, 0, 1, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_dq_rule_input_entry WHERE id = 9);

-- 值10
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
)
SELECT 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, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_dq_rule_input_entry WHERE id = 10);

-- 值11
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
)
SELECT 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, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_dq_rule_input_entry WHERE id = 11);

-- 值12
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
)
SELECT 12, 'target_datasource_id', 'select', '$t(target_datasource_id)', '',
       NULL, 'Please select target datasource',
       1, 2, 0, 1, 1, 1, 0, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_dq_rule_input_entry WHERE id = 12);

-- 值13
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
)
SELECT 13, 'target_table', 'select', '$t(target_table)', NULL,
       NULL, 'Please enter target table',
       0, 0, 0, 1, 1, 1, 1, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_dq_rule_input_entry WHERE id = 13);

-- 值14
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
)
SELECT 14, 'target_filter', 'input', '$t(target_filter)', NULL,
       NULL, 'Please enter target filter expression',
       0, 3, 0, 1, 1, 0, 0, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_dq_rule_input_entry WHERE id = 14);

-- 值15
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
)
SELECT 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, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_dq_rule_input_entry WHERE id = 15);

-- 值16
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
)
SELECT 16, 'statistics_execute_sql', 'textarea', '$t(statistics_execute_sql)', NULL,
       NULL, 'Please enter statistics execute sql',
       0, 3, 0, 1, 1, 0, 1, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_dq_rule_input_entry WHERE id = 16);

-- 值17
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
)
SELECT 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, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_dq_rule_input_entry WHERE id = 17);

-- 值18
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
)
SELECT 18, 'comparison_execute_sql', 'textarea', '$t(comparison_execute_sql)', NULL,
       NULL, 'Please enter comparison execute sql',
       0, 3, 0, 1, 1, 0, 1, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_dq_rule_input_entry WHERE id = 18);

-- 值19
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
)
SELECT 19, 'comparison_type', 'select', '$t(comparison_type)', '',
       NULL, 'Please enter comparison title',
       3, 0, 2, 1, 0, 1, 0, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_dq_rule_input_entry WHERE id = 19);

-- 值20
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
)
SELECT 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, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_dq_rule_input_entry WHERE id = 20);

-- 值21
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
)
SELECT 21, 'writer_datasource_id', 'select', '$t(writer_datasource_id)', '',
       NULL, 'please select writer datasource id',
       1, 2, 0, 1, 1, 0, 0, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_dq_rule_input_entry WHERE id = 21);

-- 值22
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
)
SELECT 22, 'target_field', 'select', '$t(target_field)', NULL,
       NULL, 'Please enter column, only single column is supported',
       0, 0, 0, 1, 1, 0, 0, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_dq_rule_input_entry WHERE id = 22);

-- 值23
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
)
SELECT 23, 'field_length', 'input', '$t(field_length)', NULL,
       NULL, 'Please enter length limit',
       0, 3, 0, 1, 1, 0, 0, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_dq_rule_input_entry WHERE id = 23);

-- 值24
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
)
SELECT 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, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_dq_rule_input_entry WHERE id = 24);

-- 值25
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
)
SELECT 25, 'regexp_pattern', 'input', '$t(regexp_pattern)', NULL,
       NULL, 'Please enter regexp pattern',
       0, 0, 0, 1, 1, 0, 0, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_dq_rule_input_entry WHERE id = 25);

-- 值26
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
)
SELECT 26, 'deadline', 'input', '$t(deadline)', NULL,
       NULL, 'Please enter deadline',
       0, 0, 0, 1, 1, 0, 0, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_dq_rule_input_entry WHERE id = 26);

-- 值27
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
)
SELECT 27, 'datetime_format', 'input', '$t(datetime_format)', NULL,
       NULL, 'Please enter datetime format',
       0, 0, 0, 1, 1, 0, 0, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_dq_rule_input_entry WHERE id = 27);

-- 值28
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
)
SELECT 28, 'enum_list', 'input', '$t(enum_list)', NULL,
       NULL, 'Please enter enumeration',
       0, 0, 0, 1, 1, 0, 0, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_dq_rule_input_entry WHERE id = 28);

-- 值29
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
)
SELECT 29, 'begin_time', 'input', '$t(begin_time)', NULL,
       NULL, 'Please enter begin time',
       0, 0, 0, 1, 1, 0, 0, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_dq_rule_input_entry WHERE id = 29);

-- 值30
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
)
SELECT 30, 'src_database', 'select', '$t(src_database)', NULL,
       NULL, 'Please select source database',
       0, 0, 0, 1, 1, 1, 1, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_dq_rule_input_entry WHERE id = 30);

-- 值31
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
)
SELECT 31, 'target_database', 'select', '$t(target_database)', NULL,
       NULL, 'Please select target database',
       0, 0, 0, 1, 1, 1, 1, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_dq_rule_input_entry WHERE id = 31);


-- ----------------------------
-- Table: t_ds_dq_task_statistics_value
-- ----------------------------
BEGIN
EXECUTE IMMEDIATE 'DROP TABLE t_ds_dq_task_statistics_value';
EXCEPTION
    WHEN OTHERS THEN
        IF SQLCODE != -942 THEN RAISE; END IF;
END;
/

CREATE TABLE t_ds_dq_task_statistics_value (
   id                    NUMBER(11) generated by default as IDENTITY NOT NULL,
   process_definition_id NUMBER(11),
   task_instance_id      NUMBER(11),
   rule_id               NUMBER(11) NOT NULL,
   unique_code           VARCHAR2(255),
   statistics_name       VARCHAR2(255),
   statistics_value      DOUBLE PRECISION,
   data_time             DATE,
   create_time           DATE,
   update_time           DATE,
   CONSTRAINT pk_dq_task_statistics_value PRIMARY KEY (id)
);

-- ----------------------------
-- Table: t_ds_relation_rule_execute_sql
-- ----------------------------
BEGIN
EXECUTE IMMEDIATE 'DROP TABLE t_ds_relation_rule_execute_sql';
EXCEPTION
    WHEN OTHERS THEN
        IF SQLCODE != -942 THEN RAISE; END IF;
END;
/

CREATE TABLE t_ds_relation_rule_execute_sql (
    id             NUMBER(11) generated by default as IDENTITY NOT NULL,
    rule_id        NUMBER(11),
    execute_sql_id NUMBER(11),
    create_time    DATE,  -- datetime → DATE
    update_time    DATE,
    CONSTRAINT pk_relation_rule_execute_sql PRIMARY KEY (id)
);

-- ----------------------------
-- 数据插入:t_ds_relation_rule_execute_sql
-- ----------------------------

-- 值1
INSERT INTO t_ds_relation_rule_execute_sql (id, rule_id, execute_sql_id, create_time, update_time)
SELECT 1, 1, 1, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_execute_sql WHERE id = 1);

-- 值2
INSERT INTO t_ds_relation_rule_execute_sql (id, rule_id, execute_sql_id, create_time, update_time)
SELECT 3, 5, 4, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_execute_sql WHERE id = 3);

-- 值3
INSERT INTO t_ds_relation_rule_execute_sql (id, rule_id, execute_sql_id, create_time, update_time)
SELECT 2, 3, 3, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_execute_sql WHERE id = 2);

-- 值4
INSERT INTO t_ds_relation_rule_execute_sql (id, rule_id, execute_sql_id, create_time, update_time)
SELECT 4, 3, 8, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_execute_sql WHERE id = 4);

-- 值5
INSERT INTO t_ds_relation_rule_execute_sql (id, rule_id, execute_sql_id, create_time, update_time)
SELECT 5, 6, 6, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_execute_sql WHERE id = 5);

-- 值6
INSERT INTO t_ds_relation_rule_execute_sql (id, rule_id, execute_sql_id, create_time, update_time)
SELECT 6, 6, 7, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_execute_sql WHERE id = 6);

-- 值7
INSERT INTO t_ds_relation_rule_execute_sql (id, rule_id, execute_sql_id, create_time, update_time)
SELECT 7, 7, 9, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_execute_sql WHERE id = 7);

-- 值8
INSERT INTO t_ds_relation_rule_execute_sql (id, rule_id, execute_sql_id, create_time, update_time)
SELECT 8, 7, 10, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_execute_sql WHERE id = 8);

-- 值9
INSERT INTO t_ds_relation_rule_execute_sql (id, rule_id, execute_sql_id, create_time, update_time)
SELECT 9, 8, 11, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_execute_sql WHERE id = 9);

-- 值10
INSERT INTO t_ds_relation_rule_execute_sql (id, rule_id, execute_sql_id, create_time, update_time)
SELECT 10, 8, 12, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_execute_sql WHERE id = 10);

-- 值11
INSERT INTO t_ds_relation_rule_execute_sql (id, rule_id, execute_sql_id, create_time, update_time)
SELECT 11, 9, 13, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_execute_sql WHERE id = 11);

-- 值12
INSERT INTO t_ds_relation_rule_execute_sql (id, rule_id, execute_sql_id, create_time, update_time)
SELECT 12, 9, 14, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_execute_sql WHERE id = 12);

-- 值13
INSERT INTO t_ds_relation_rule_execute_sql (id, rule_id, execute_sql_id, create_time, update_time)
SELECT 13, 10, 15, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_execute_sql WHERE id = 13);

-- 值14
INSERT INTO t_ds_relation_rule_execute_sql (id, rule_id, execute_sql_id, create_time, update_time)
SELECT 14, 1, 16, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_execute_sql WHERE id = 14);

-- 值15
INSERT INTO t_ds_relation_rule_execute_sql (id, rule_id, execute_sql_id, create_time, update_time)
SELECT 15, 5, 17, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_execute_sql WHERE id = 15);

-- ----------------------------
-- Table: t_ds_relation_rule_input_entry
-- ----------------------------
BEGIN
EXECUTE IMMEDIATE 'DROP TABLE t_ds_relation_rule_input_entry';
EXCEPTION
    WHEN OTHERS THEN
        IF SQLCODE != -942 THEN RAISE; END IF;
END;
/

CREATE TABLE t_ds_relation_rule_input_entry (
    id                    NUMBER(11) generated by default as IDENTITY NOT NULL,
    rule_id               NUMBER(11),
    rule_input_entry_id   NUMBER(11),
    values_map            CLOB,
    "INDEX"             NUMBER(11),
    create_time           DATE,
    update_time           DATE,
    CONSTRAINT pk_relation_rule_input_entry PRIMARY KEY (id)
);

-- ----------------------------
-- 数据插入:t_ds_relation_rule_input_entry
-- ----------------------------

-- 值1
INSERT INTO t_ds_relation_rule_input_entry (id, rule_id, rule_input_entry_id, values_map, "INDEX", create_time, update_time)
SELECT 1, 1, 1, NULL, 1, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_input_entry WHERE id = 1);

-- 值2
INSERT INTO t_ds_relation_rule_input_entry (id, rule_id, rule_input_entry_id, values_map, "INDEX", create_time, update_time)
SELECT 2, 1, 2, NULL, 2, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_input_entry WHERE id = 2);

-- 值3
INSERT INTO t_ds_relation_rule_input_entry (id, rule_id, rule_input_entry_id, values_map, "INDEX", create_time, update_time)
SELECT 3, 1, 3, NULL, 3, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_input_entry WHERE id = 3);

-- 值4
INSERT INTO t_ds_relation_rule_input_entry (id, rule_id, rule_input_entry_id, values_map, "INDEX", create_time, update_time)
SELECT 4, 1, 4, NULL, 4, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_input_entry WHERE id = 4);

-- 值5
INSERT INTO t_ds_relation_rule_input_entry (id, rule_id, rule_input_entry_id, values_map, "INDEX", create_time, update_time)
SELECT 5, 1, 5, NULL, 5, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_input_entry WHERE id = 5);

-- 值6
INSERT INTO t_ds_relation_rule_input_entry (id, rule_id, rule_input_entry_id, values_map, "INDEX", create_time, update_time)
SELECT 6, 1, 6, '{"statistics_name":"null_count.nulls"}', 6, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_input_entry WHERE id = 6);

-- 值7
INSERT INTO t_ds_relation_rule_input_entry (id, rule_id, rule_input_entry_id, values_map, "INDEX", create_time, update_time)
SELECT 7, 1, 7, NULL, 7, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_input_entry WHERE id = 7);

-- 值8
INSERT INTO t_ds_relation_rule_input_entry (id, rule_id, rule_input_entry_id, values_map, "INDEX", create_time, update_time)
SELECT 8, 1, 8, NULL, 8, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_input_entry WHERE id = 8);

-- 值9
INSERT INTO t_ds_relation_rule_input_entry (id, rule_id, rule_input_entry_id, values_map, "INDEX", create_time, update_time)
SELECT 9, 1, 9, NULL, 9, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_input_entry WHERE id = 9);

-- 值10
INSERT INTO t_ds_relation_rule_input_entry (id, rule_id, rule_input_entry_id, values_map, "INDEX", create_time, update_time)
SELECT 10, 1, 10, NULL, 10, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_input_entry WHERE id = 10);

-- 值11
INSERT INTO t_ds_relation_rule_input_entry (id, rule_id, rule_input_entry_id, values_map, "INDEX", create_time, update_time)
SELECT 11, 1, 17, '', 11, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_input_entry WHERE id = 11);

-- 值12
INSERT INTO t_ds_relation_rule_input_entry (id, rule_id, rule_input_entry_id, values_map, "INDEX", create_time, update_time)
SELECT 12, 1, 19, NULL, 12, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_input_entry WHERE id = 12);

-- 值13
INSERT INTO t_ds_relation_rule_input_entry (id, rule_id, rule_input_entry_id, values_map, "INDEX", create_time, update_time)
SELECT 13, 2, 1, NULL, 1, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_input_entry WHERE id = 13);

-- 值14
INSERT INTO t_ds_relation_rule_input_entry (id, rule_id, rule_input_entry_id, values_map, "INDEX", create_time, update_time)
SELECT 14, 2, 2, NULL, 2, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_input_entry WHERE id = 14);

-- 值15
INSERT INTO t_ds_relation_rule_input_entry (id, rule_id, rule_input_entry_id, values_map, "INDEX", create_time, update_time)
SELECT 15, 2, 3, NULL, 3, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_input_entry WHERE id = 15);

-- 值16
INSERT INTO t_ds_relation_rule_input_entry (id, rule_id, rule_input_entry_id, values_map, "INDEX", create_time, update_time)
SELECT 16, 2, 6, '{"is_show":"true","can_edit":"true"}', 4, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_input_entry WHERE id = 16);

-- 值17
INSERT INTO t_ds_relation_rule_input_entry (id, rule_id, rule_input_entry_id, values_map, "INDEX", create_time, update_time)
SELECT 17, 2, 16, NULL, 5, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_input_entry WHERE id = 17);

-- 值18
INSERT INTO t_ds_relation_rule_input_entry (id, rule_id, rule_input_entry_id, values_map, "INDEX", create_time, update_time)
SELECT 18, 2, 4, NULL, 6, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_input_entry WHERE id = 18);

-- 值19
INSERT INTO t_ds_relation_rule_input_entry (id, rule_id, rule_input_entry_id, values_map, "INDEX", create_time, update_time)
SELECT 19, 2, 7, NULL, 7, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_input_entry WHERE id = 19);

-- 值20
INSERT INTO t_ds_relation_rule_input_entry (id, rule_id, rule_input_entry_id, values_map, "INDEX", create_time, update_time)
SELECT 20, 2, 8, NULL, 8, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_input_entry WHERE id = 20);

-- 值21
INSERT INTO t_ds_relation_rule_input_entry (id, rule_id, rule_input_entry_id, values_map, "INDEX", create_time, update_time)
SELECT 21, 2, 9, NULL, 9, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_input_entry WHERE id = 21);

-- 值22
INSERT INTO t_ds_relation_rule_input_entry (id, rule_id, rule_input_entry_id, values_map, "INDEX", create_time, update_time)
SELECT 22, 2, 10, NULL, 10, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_input_entry WHERE id = 22);

-- 值24(原ID=24,注意序列连续,此处直接使用原ID)
INSERT INTO t_ds_relation_rule_input_entry (id, rule_id, rule_input_entry_id, values_map, "INDEX", create_time, update_time)
SELECT 24, 2, 19, NULL, 12, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_input_entry WHERE id = 24);

-- 值25
INSERT INTO t_ds_relation_rule_input_entry (id, rule_id, rule_input_entry_id, values_map, "INDEX", create_time, update_time)
SELECT 25, 3, 1, NULL, 1, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_input_entry WHERE id = 25);

-- 值26
INSERT INTO t_ds_relation_rule_input_entry (id, rule_id, rule_input_entry_id, values_map, "INDEX", create_time, update_time)
SELECT 26, 3, 2, NULL, 2, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_input_entry WHERE id = 26);

-- 值27
INSERT INTO t_ds_relation_rule_input_entry (id, rule_id, rule_input_entry_id, values_map, "INDEX", create_time, update_time)
SELECT 27, 3, 3, NULL, 3, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_input_entry WHERE id = 27);

-- 值28
INSERT INTO t_ds_relation_rule_input_entry (id, rule_id, rule_input_entry_id, values_map, "INDEX", create_time, update_time)
SELECT 28, 3, 4, NULL, 4, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_input_entry WHERE id = 28);

-- 值29
INSERT INTO t_ds_relation_rule_input_entry (id, rule_id, rule_input_entry_id, values_map, "INDEX", create_time, update_time)
SELECT 29, 3, 11, NULL, 5, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_input_entry WHERE id = 29);

-- 值30
INSERT INTO t_ds_relation_rule_input_entry (id, rule_id, rule_input_entry_id, values_map, "INDEX", create_time, update_time)
SELECT 30, 3, 12, NULL, 6, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_input_entry WHERE id = 30);

-- 值31
INSERT INTO t_ds_relation_rule_input_entry (id, rule_id, rule_input_entry_id, values_map, "INDEX", create_time, update_time)
SELECT 31, 3, 13, NULL, 7, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_input_entry WHERE id = 31);

-- 值32
INSERT INTO t_ds_relation_rule_input_entry (id, rule_id, rule_input_entry_id, values_map, "INDEX", create_time, update_time)
SELECT 32, 3, 14, NULL, 8, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_input_entry WHERE id = 32);

-- 值33
INSERT INTO t_ds_relation_rule_input_entry (id, rule_id, rule_input_entry_id, values_map, "INDEX", create_time, update_time)
SELECT 33, 3, 15, NULL, 9, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_input_entry WHERE id = 33);

-- 值34
INSERT INTO t_ds_relation_rule_input_entry (id, rule_id, rule_input_entry_id, values_map, "INDEX", create_time, update_time)
SELECT 34, 3, 7, NULL, 10, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_input_entry WHERE id = 34);

-- 值35
INSERT INTO t_ds_relation_rule_input_entry (id, rule_id, rule_input_entry_id, values_map, "INDEX", create_time, update_time)
SELECT 35, 3, 8, NULL, 11, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_input_entry WHERE id = 35);

-- 值36
INSERT INTO t_ds_relation_rule_input_entry (id, rule_id, rule_input_entry_id, values_map, "INDEX", create_time, update_time)
SELECT 36, 3, 9, NULL, 12, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_input_entry WHERE id = 36);

-- 值37
INSERT INTO t_ds_relation_rule_input_entry (id, rule_id, rule_input_entry_id, values_map, "INDEX", create_time, update_time)
SELECT 37, 3, 10, NULL, 13, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_input_entry WHERE id = 37);

-- 值38
INSERT INTO t_ds_relation_rule_input_entry (id, rule_id, rule_input_entry_id, values_map, "INDEX", create_time, update_time)
SELECT 38, 3, 17, '{"comparison_name":"total_count.total"}', 14, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_input_entry WHERE id = 38);

-- 值39
INSERT INTO t_ds_relation_rule_input_entry (id, rule_id, rule_input_entry_id, values_map, "INDEX", create_time, update_time)
SELECT 39, 3, 19, NULL, 15, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_input_entry WHERE id = 39);

-- 值40
INSERT INTO t_ds_relation_rule_input_entry (id, rule_id, rule_input_entry_id, values_map, "INDEX", create_time, update_time)
SELECT 40, 4, 1, NULL, 1, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_input_entry WHERE id = 40);

-- 值41
INSERT INTO t_ds_relation_rule_input_entry (id, rule_id, rule_input_entry_id, values_map, "INDEX", create_time, update_time)
SELECT 41, 4, 2, NULL, 2, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_input_entry WHERE id = 41);

-- 值42
INSERT INTO t_ds_relation_rule_input_entry (id, rule_id, rule_input_entry_id, values_map, "INDEX", create_time, update_time)
SELECT 42, 4, 3, NULL, 3, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_input_entry WHERE id = 42);

-- 值43
INSERT INTO t_ds_relation_rule_input_entry (id, rule_id, rule_input_entry_id, values_map, "INDEX", create_time, update_time)
SELECT 43, 4, 6, '{"is_show":"true","can_edit":"true"}', 4, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_input_entry WHERE id = 43);

-- 值44
INSERT INTO t_ds_relation_rule_input_entry (id, rule_id, rule_input_entry_id, values_map, "INDEX", create_time, update_time)
SELECT 44, 4, 16, NULL, 5, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_input_entry WHERE id = 44);

-- 值45
INSERT INTO t_ds_relation_rule_input_entry (id, rule_id, rule_input_entry_id, values_map, "INDEX", create_time, update_time)
SELECT 45, 4, 11, NULL, 6, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_input_entry WHERE id = 45);

-- 值46
INSERT INTO t_ds_relation_rule_input_entry (id, rule_id, rule_input_entry_id, values_map, "INDEX", create_time, update_time)
SELECT 46, 4, 12, NULL, 7, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_input_entry WHERE id = 46);

-- 值47
INSERT INTO t_ds_relation_rule_input_entry (id, rule_id, rule_input_entry_id, values_map, "INDEX", create_time, update_time)
SELECT 47, 4, 13, NULL, 8, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_input_entry WHERE id = 47);

-- 值48
INSERT INTO t_ds_relation_rule_input_entry (id, rule_id, rule_input_entry_id, values_map, "INDEX", create_time, update_time)
SELECT 48, 4, 17, '{"is_show":"true","can_edit":"true"}', 9, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_input_entry WHERE id = 48);

-- 值49
INSERT INTO t_ds_relation_rule_input_entry (id, rule_id, rule_input_entry_id, values_map, "INDEX", create_time, update_time)
SELECT 49, 4, 18, NULL, 10, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_input_entry WHERE id = 49);

-- 值50
INSERT INTO t_ds_relation_rule_input_entry (id, rule_id, rule_input_entry_id, values_map, "INDEX", create_time, update_time)
SELECT 50, 4, 7, NULL, 11, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_input_entry WHERE id = 50);

-- 值51
INSERT INTO t_ds_relation_rule_input_entry (id, rule_id, rule_input_entry_id, values_map, "INDEX", create_time, update_time)
SELECT 51, 4, 8, NULL, 12, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_input_entry WHERE id = 51);

-- 值52
INSERT INTO t_ds_relation_rule_input_entry (id, rule_id, rule_input_entry_id, values_map, "INDEX", create_time, update_time)
SELECT 52, 4, 9, NULL, 13, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_input_entry WHERE id = 52);

-- 值53
INSERT INTO t_ds_relation_rule_input_entry (id, rule_id, rule_input_entry_id, values_map, "INDEX", create_time, update_time)
SELECT 53, 4, 10, NULL, 14, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_input_entry WHERE id = 53);

-- 值62
INSERT INTO t_ds_relation_rule_input_entry (id, rule_id, rule_input_entry_id, values_map, "INDEX", create_time, update_time)
SELECT 62, 3, 6, '{"statistics_name":"miss_count.miss"}', 18, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_input_entry WHERE id = 62);

-- 值63
INSERT INTO t_ds_relation_rule_input_entry (id, rule_id, rule_input_entry_id, values_map, "INDEX", create_time, update_time)
SELECT 63, 5, 1, NULL, 1, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_input_entry WHERE id = 63);

-- 值64
INSERT INTO t_ds_relation_rule_input_entry (id, rule_id, rule_input_entry_id, values_map, "INDEX", create_time, update_time)
SELECT 64, 5, 2, NULL, 2, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_input_entry WHERE id = 64);

-- 值65
INSERT INTO t_ds_relation_rule_input_entry (id, rule_id, rule_input_entry_id, values_map, "INDEX", create_time, update_time)
SELECT 65, 5, 3, NULL, 3, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_input_entry WHERE id = 65);

-- 值66
INSERT INTO t_ds_relation_rule_input_entry (id, rule_id, rule_input_entry_id, values_map, "INDEX", create_time, update_time)
SELECT 66, 5, 4, NULL, 4, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_input_entry WHERE id = 66);

-- 值67
INSERT INTO t_ds_relation_rule_input_entry (id, rule_id, rule_input_entry_id, values_map, "INDEX", create_time, update_time)
SELECT 67, 5, 5, NULL, 5, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_input_entry WHERE id = 67);

-- 值68
INSERT INTO t_ds_relation_rule_input_entry (id, rule_id, rule_input_entry_id, values_map, "INDEX", create_time, update_time)
SELECT 68, 5, 6, '{"statistics_name":"invalid_length_count.valids"}', 6, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_input_entry WHERE id = 68);

-- 值69
INSERT INTO t_ds_relation_rule_input_entry (id, rule_id, rule_input_entry_id, values_map, "INDEX", create_time, update_time)
SELECT 69, 5, 24, NULL, 7, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_input_entry WHERE id = 69);

-- 值70
INSERT INTO t_ds_relation_rule_input_entry (id, rule_id, rule_input_entry_id, values_map, "INDEX", create_time, update_time)
SELECT 70, 5, 23, NULL, 8, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_input_entry WHERE id = 70);

-- 值71
INSERT INTO t_ds_relation_rule_input_entry (id, rule_id, rule_input_entry_id, values_map, "INDEX", create_time, update_time)
SELECT 71, 5, 7, NULL, 9, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_input_entry WHERE id = 71);

-- 值72
INSERT INTO t_ds_relation_rule_input_entry (id, rule_id, rule_input_entry_id, values_map, "INDEX", create_time, update_time)
SELECT 72, 5, 8, NULL, 10, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_input_entry WHERE id = 72);

-- 值73
INSERT INTO t_ds_relation_rule_input_entry (id, rule_id, rule_input_entry_id, values_map, "INDEX", create_time, update_time)
SELECT 73, 5, 9, NULL, 11, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_input_entry WHERE id = 73);

-- 值74
INSERT INTO t_ds_relation_rule_input_entry (id, rule_id, rule_input_entry_id, values_map, "INDEX", create_time, update_time)
SELECT 74, 5, 10, NULL, 12, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_input_entry WHERE id = 74);

-- 值75
INSERT INTO t_ds_relation_rule_input_entry (id, rule_id, rule_input_entry_id, values_map, "INDEX", create_time, update_time)
SELECT 75, 5, 17, '', 13, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_input_entry WHERE id = 75);

-- 值76
INSERT INTO t_ds_relation_rule_input_entry (id, rule_id, rule_input_entry_id, values_map, "INDEX", create_time, update_time)
SELECT 76, 5, 19, NULL, 14, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_input_entry WHERE id = 76);

-- 值79
INSERT INTO t_ds_relation_rule_input_entry (id, rule_id, rule_input_entry_id, values_map, "INDEX", create_time, update_time)
SELECT 79, 6, 1, NULL, 1, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_input_entry WHERE id = 79);

-- 值80
INSERT INTO t_ds_relation_rule_input_entry (id, rule_id, rule_input_entry_id, values_map, "INDEX", create_time, update_time)
SELECT 80, 6, 2, NULL, 2, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_input_entry WHERE id = 80);

-- 值81
INSERT INTO t_ds_relation_rule_input_entry (id, rule_id, rule_input_entry_id, values_map, "INDEX", create_time, update_time)
SELECT 81, 6, 3, NULL, 3, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_input_entry WHERE id = 81);

-- 值82
INSERT INTO t_ds_relation_rule_input_entry (id, rule_id, rule_input_entry_id, values_map, "INDEX", create_time, update_time)
SELECT 82, 6, 4, NULL, 4, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_input_entry WHERE id = 82);

-- 值83
INSERT INTO t_ds_relation_rule_input_entry (id, rule_id, rule_input_entry_id, values_map, "INDEX", create_time, update_time)
SELECT 83, 6, 5, NULL, 5, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_input_entry WHERE id = 83);

-- 值84
INSERT INTO t_ds_relation_rule_input_entry (id, rule_id, rule_input_entry_id, values_map, "INDEX", create_time, update_time)
SELECT 84, 6, 6, '{"statistics_name":"duplicate_count.duplicates"}', 6, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_input_entry WHERE id = 84);

-- 值85
INSERT INTO t_ds_relation_rule_input_entry (id, rule_id, rule_input_entry_id, values_map, "INDEX", create_time, update_time)
SELECT 85, 6, 7, NULL, 7, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_input_entry WHERE id = 85);

-- 值86
INSERT INTO t_ds_relation_rule_input_entry (id, rule_id, rule_input_entry_id, values_map, "INDEX", create_time, update_time)
SELECT 86, 6, 8, NULL, 8, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_input_entry WHERE id = 86);

-- 值87
INSERT INTO t_ds_relation_rule_input_entry (id, rule_id, rule_input_entry_id, values_map, "INDEX", create_time, update_time)
SELECT 87, 6, 9, NULL, 9, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_input_entry WHERE id = 87);

-- 值88
INSERT INTO t_ds_relation_rule_input_entry (id, rule_id, rule_input_entry_id, values_map, "INDEX", create_time, update_time)
SELECT 88, 6, 10, NULL, 10, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_input_entry WHERE id = 88);

-- 值89
INSERT INTO t_ds_relation_rule_input_entry (id, rule_id, rule_input_entry_id, values_map, "INDEX", create_time, update_time)
SELECT 89, 6, 17, '', 11, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_input_entry WHERE id = 89);

-- 值90
INSERT INTO t_ds_relation_rule_input_entry (id, rule_id, rule_input_entry_id, values_map, "INDEX", create_time, update_time)
SELECT 90, 6, 19, NULL, 12, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_input_entry WHERE id = 90);

-- 值93
INSERT INTO t_ds_relation_rule_input_entry (id, rule_id, rule_input_entry_id, values_map, "INDEX", create_time, update_time)
SELECT 93, 7, 1, NULL, 1, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_input_entry WHERE id = 93);

-- 值94
INSERT INTO t_ds_relation_rule_input_entry (id, rule_id, rule_input_entry_id, values_map, "INDEX", create_time, update_time)
SELECT 94, 7, 2, NULL, 2, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_input_entry WHERE id = 94);

-- 值95
INSERT INTO t_ds_relation_rule_input_entry (id, rule_id, rule_input_entry_id, values_map, "INDEX", create_time, update_time)
SELECT 95, 7, 3, NULL, 3, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_input_entry WHERE id = 95);

-- 值96
INSERT INTO t_ds_relation_rule_input_entry (id, rule_id, rule_input_entry_id, values_map, "INDEX", create_time, update_time)
SELECT 96, 7, 4, NULL, 4, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_input_entry WHERE id = 96);

-- 值97
INSERT INTO t_ds_relation_rule_input_entry (id, rule_id, rule_input_entry_id, values_map, "INDEX", create_time, update_time)
SELECT 97, 7, 5, NULL, 5, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_input_entry WHERE id = 97);

-- 值98
INSERT INTO t_ds_relation_rule_input_entry (id, rule_id, rule_input_entry_id, values_map, "INDEX", create_time, update_time)
SELECT 98, 7, 6, '{"statistics_name":"regexp_count.regexps"}', 6, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_input_entry WHERE id = 98);

-- 值99
INSERT INTO t_ds_relation_rule_input_entry (id, rule_id, rule_input_entry_id, values_map, "INDEX", create_time, update_time)
SELECT 99, 7, 25, NULL, 5, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_input_entry WHERE id = 99);

-- 值100
INSERT INTO t_ds_relation_rule_input_entry (id, rule_id, rule_input_entry_id, values_map, "INDEX", create_time, update_time)
SELECT 100, 7, 7, NULL, 7, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_input_entry WHERE id = 100);

-- 值101
INSERT INTO t_ds_relation_rule_input_entry (id, rule_id, rule_input_entry_id, values_map, "INDEX", create_time, update_time)
SELECT 101, 7, 8, NULL, 8, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_input_entry WHERE id = 101);

-- 值102
INSERT INTO t_ds_relation_rule_input_entry (id, rule_id, rule_input_entry_id, values_map, "INDEX", create_time, update_time)
SELECT 102, 7, 9, NULL, 9, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_input_entry WHERE id = 102);

-- 值103
INSERT INTO t_ds_relation_rule_input_entry (id, rule_id, rule_input_entry_id, values_map, "INDEX", create_time, update_time)
SELECT 103, 7, 10, NULL, 10, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_input_entry WHERE id = 103);

-- 值104
INSERT INTO t_ds_relation_rule_input_entry (id, rule_id, rule_input_entry_id, values_map, "INDEX", create_time, update_time)
SELECT 104, 7, 17, NULL, 11, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_input_entry WHERE id = 104);

-- 值105
INSERT INTO t_ds_relation_rule_input_entry (id, rule_id, rule_input_entry_id, values_map, "INDEX", create_time, update_time)
SELECT 105, 7, 19, NULL, 12, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_input_entry WHERE id = 105);

-- 值108
INSERT INTO t_ds_relation_rule_input_entry (id, rule_id, rule_input_entry_id, values_map, "INDEX", create_time, update_time)
SELECT 108, 8, 1, NULL, 1, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_input_entry WHERE id = 108);

-- 值109
INSERT INTO t_ds_relation_rule_input_entry (id, rule_id, rule_input_entry_id, values_map, "INDEX", create_time, update_time)
SELECT 109, 8, 2, NULL, 2, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_input_entry WHERE id = 109);

-- 值110
INSERT INTO t_ds_relation_rule_input_entry (id, rule_id, rule_input_entry_id, values_map, "INDEX", create_time, update_time)
SELECT 110, 8, 3, NULL, 3, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_input_entry WHERE id = 110);

-- 值111
INSERT INTO t_ds_relation_rule_input_entry (id, rule_id, rule_input_entry_id, values_map, "INDEX", create_time, update_time)
SELECT 111, 8, 4, NULL, 4, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_input_entry WHERE id = 111);

-- 值112
INSERT INTO t_ds_relation_rule_input_entry (id, rule_id, rule_input_entry_id, values_map, "INDEX", create_time, update_time)
SELECT 112, 8, 5, NULL, 5, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_input_entry WHERE id = 112);

-- 值113
INSERT INTO t_ds_relation_rule_input_entry (id, rule_id, rule_input_entry_id, values_map, "INDEX", create_time, update_time)
SELECT 113, 8, 6, '{"statistics_name":"timeliness_count.timeliness"}', 6, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_input_entry WHERE id = 113);

-- 值114
INSERT INTO t_ds_relation_rule_input_entry (id, rule_id, rule_input_entry_id, values_map, "INDEX", create_time, update_time)
SELECT 114, 8, 26, NULL, 8, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_input_entry WHERE id = 114);

-- 值115
INSERT INTO t_ds_relation_rule_input_entry (id, rule_id, rule_input_entry_id, values_map, "INDEX", create_time, update_time)
SELECT 115, 8, 27, NULL, 9, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_input_entry WHERE id = 115);

-- 值116
INSERT INTO t_ds_relation_rule_input_entry (id, rule_id, rule_input_entry_id, values_map, "INDEX", create_time, update_time)
SELECT 116, 8, 7, NULL, 10, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_input_entry WHERE id = 116);

-- 值117
INSERT INTO t_ds_relation_rule_input_entry (id, rule_id, rule_input_entry_id, values_map, "INDEX", create_time, update_time)
SELECT 117, 8, 8, NULL, 11, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_input_entry WHERE id = 117);

-- 值118
INSERT INTO t_ds_relation_rule_input_entry (id, rule_id, rule_input_entry_id, values_map, "INDEX", create_time, update_time)
SELECT 118, 8, 9, NULL, 12, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_input_entry WHERE id = 118);

-- 值119
INSERT INTO t_ds_relation_rule_input_entry (id, rule_id, rule_input_entry_id, values_map, "INDEX", create_time, update_time)
SELECT 119, 8, 10, NULL, 13, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_input_entry WHERE id = 119);

-- 值120
INSERT INTO t_ds_relation_rule_input_entry (id, rule_id, rule_input_entry_id, values_map, "INDEX", create_time, update_time)
SELECT 120, 8, 17, NULL, 14, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_input_entry WHERE id = 120);

-- 值121
INSERT INTO t_ds_relation_rule_input_entry (id, rule_id, rule_input_entry_id, values_map, "INDEX", create_time, update_time)
SELECT 121, 8, 19, NULL, 15, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_input_entry WHERE id = 121);

-- 值124
INSERT INTO t_ds_relation_rule_input_entry (id, rule_id, rule_input_entry_id, values_map, "INDEX", create_time, update_time)
SELECT 124, 9, 1, NULL, 1, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_input_entry WHERE id = 124);

-- 值125
INSERT INTO t_ds_relation_rule_input_entry (id, rule_id, rule_input_entry_id, values_map, "INDEX", create_time, update_time)
SELECT 125, 9, 2, NULL, 2, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_input_entry WHERE id = 125);

-- 值126
INSERT INTO t_ds_relation_rule_input_entry (id, rule_id, rule_input_entry_id, values_map, "INDEX", create_time, update_time)
SELECT 126, 9, 3, NULL, 3, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_input_entry WHERE id = 126);

-- 值127
INSERT INTO t_ds_relation_rule_input_entry (id, rule_id, rule_input_entry_id, values_map, "INDEX", create_time, update_time)
SELECT 127, 9, 4, NULL, 4, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_input_entry WHERE id = 127);

-- 值128
INSERT INTO t_ds_relation_rule_input_entry (id, rule_id, rule_input_entry_id, values_map, "INDEX", create_time, update_time)
SELECT 128, 9, 5, NULL, 5, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_input_entry WHERE id = 128);

-- 值129
INSERT INTO t_ds_relation_rule_input_entry (id, rule_id, rule_input_entry_id, values_map, "INDEX", create_time, update_time)
SELECT 129, 9, 6, '{"statistics_name":"enum_count.enums"}', 6, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_input_entry WHERE id = 129);

-- 值130
INSERT INTO t_ds_relation_rule_input_entry (id, rule_id, rule_input_entry_id, values_map, "INDEX", create_time, update_time)
SELECT 130, 9, 28, NULL, 7, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_input_entry WHERE id = 130);

-- 值131
INSERT INTO t_ds_relation_rule_input_entry (id, rule_id, rule_input_entry_id, values_map, "INDEX", create_time, update_time)
SELECT 131, 9, 7, NULL, 8, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_input_entry WHERE id = 131);

-- 值132
INSERT INTO t_ds_relation_rule_input_entry (id, rule_id, rule_input_entry_id, values_map, "INDEX", create_time, update_time)
SELECT 132, 9, 8, NULL, 9, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_input_entry WHERE id = 132);

-- 值133
INSERT INTO t_ds_relation_rule_input_entry (id, rule_id, rule_input_entry_id, values_map, "INDEX", create_time, update_time)
SELECT 133, 9, 9, NULL, 10, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_input_entry WHERE id = 133);

-- 值134
INSERT INTO t_ds_relation_rule_input_entry (id, rule_id, rule_input_entry_id, values_map, "INDEX", create_time, update_time)
SELECT 134, 9, 10, NULL, 11, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_input_entry WHERE id = 134);

-- 值135
INSERT INTO t_ds_relation_rule_input_entry (id, rule_id, rule_input_entry_id, values_map, "INDEX", create_time, update_time)
SELECT 135, 9, 17, NULL, 12, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_input_entry WHERE id = 135);

-- 值136
INSERT INTO t_ds_relation_rule_input_entry (id, rule_id, rule_input_entry_id, values_map, "INDEX", create_time, update_time)
SELECT 136, 9, 19, NULL, 13, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_input_entry WHERE id = 136);

-- 值139
INSERT INTO t_ds_relation_rule_input_entry (id, rule_id, rule_input_entry_id, values_map, "INDEX", create_time, update_time)
SELECT 139, 10, 1, NULL, 1, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_input_entry WHERE id = 139);

-- 值140
INSERT INTO t_ds_relation_rule_input_entry (id, rule_id, rule_input_entry_id, values_map, "INDEX", create_time, update_time)
SELECT 140, 10, 2, NULL, 2, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_input_entry WHERE id = 140);

-- 值141
INSERT INTO t_ds_relation_rule_input_entry (id, rule_id, rule_input_entry_id, values_map, "INDEX", create_time, update_time)
SELECT 141, 10, 3, NULL, 3, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_input_entry WHERE id = 141);

-- 值142
INSERT INTO t_ds_relation_rule_input_entry (id, rule_id, rule_input_entry_id, values_map, "INDEX", create_time, update_time)
SELECT 142, 10, 4, NULL, 4, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_input_entry WHERE id = 142);

-- 值143
INSERT INTO t_ds_relation_rule_input_entry (id, rule_id, rule_input_entry_id, values_map, "INDEX", create_time, update_time)
SELECT 143, 10, 6, '{"statistics_name":"table_count.total"}', 6, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_input_entry WHERE id = 143);

-- 值144
INSERT INTO t_ds_relation_rule_input_entry (id, rule_id, rule_input_entry_id, values_map, "INDEX", create_time, update_time)
SELECT 144, 10, 7, NULL, 7, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_input_entry WHERE id = 144);

-- 值145
INSERT INTO t_ds_relation_rule_input_entry (id, rule_id, rule_input_entry_id, values_map, "INDEX", create_time, update_time)
SELECT 145, 10, 8, NULL, 8, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_input_entry WHERE id = 145);

-- 值146
INSERT INTO t_ds_relation_rule_input_entry (id, rule_id, rule_input_entry_id, values_map, "INDEX", create_time, update_time)
SELECT 146, 10, 9, NULL, 9, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_input_entry WHERE id = 146);

-- 值147
INSERT INTO t_ds_relation_rule_input_entry (id, rule_id, rule_input_entry_id, values_map, "INDEX", create_time, update_time)
SELECT 147, 10, 10, NULL, 10, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_input_entry WHERE id = 147);

-- 值148
INSERT INTO t_ds_relation_rule_input_entry (id, rule_id, rule_input_entry_id, values_map, "INDEX", create_time, update_time)
SELECT 148, 10, 17, NULL, 11, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_input_entry WHERE id = 148);

-- 值149
INSERT INTO t_ds_relation_rule_input_entry (id, rule_id, rule_input_entry_id, values_map, "INDEX", create_time, update_time)
SELECT 149, 10, 19, NULL, 12, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_input_entry WHERE id = 149);

-- 值150
INSERT INTO t_ds_relation_rule_input_entry (id, rule_id, rule_input_entry_id, values_map, "INDEX", create_time, update_time)
SELECT 150, 8, 29, NULL, 7, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_input_entry WHERE id = 150);

-- 值151
INSERT INTO t_ds_relation_rule_input_entry (id, rule_id, rule_input_entry_id, values_map, "INDEX", create_time, update_time)
SELECT 151, 1, 30, NULL, 2, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_input_entry WHERE id = 151);

-- 值152
INSERT INTO t_ds_relation_rule_input_entry (id, rule_id, rule_input_entry_id, values_map, "INDEX", create_time, update_time)
SELECT 152, 2, 30, NULL, 2, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_input_entry WHERE id = 152);

-- 值153
INSERT INTO t_ds_relation_rule_input_entry (id, rule_id, rule_input_entry_id, values_map, "INDEX", create_time, update_time)
SELECT 153, 3, 30, NULL, 2, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_input_entry WHERE id = 153);

-- 值154
INSERT INTO t_ds_relation_rule_input_entry (id, rule_id, rule_input_entry_id, values_map, "INDEX", create_time, update_time)
SELECT 154, 4, 30, NULL, 2, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_input_entry WHERE id = 154);

-- 值155
INSERT INTO t_ds_relation_rule_input_entry (id, rule_id, rule_input_entry_id, values_map, "INDEX", create_time, update_time)
SELECT 155, 5, 30, NULL, 2, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_input_entry WHERE id = 155);

-- 值156
INSERT INTO t_ds_relation_rule_input_entry (id, rule_id, rule_input_entry_id, values_map, "INDEX", create_time, update_time)
SELECT 156, 6, 30, NULL, 2, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_input_entry WHERE id = 156);

-- 值157
INSERT INTO t_ds_relation_rule_input_entry (id, rule_id, rule_input_entry_id, values_map, "INDEX", create_time, update_time)
SELECT 157, 7, 30, NULL, 2, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_input_entry WHERE id = 157);

-- 值158
INSERT INTO t_ds_relation_rule_input_entry (id, rule_id, rule_input_entry_id, values_map, "INDEX", create_time, update_time)
SELECT 158, 8, 30, NULL, 2, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_input_entry WHERE id = 158);

-- 值159
INSERT INTO t_ds_relation_rule_input_entry (id, rule_id, rule_input_entry_id, values_map, "INDEX", create_time, update_time)
SELECT 159, 9, 30, NULL, 2, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_input_entry WHERE id = 159);

-- 值160
INSERT INTO t_ds_relation_rule_input_entry (id, rule_id, rule_input_entry_id, values_map, "INDEX", create_time, update_time)
SELECT 160, 10, 30, NULL, 2, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_input_entry WHERE id = 160);

-- 值161
INSERT INTO t_ds_relation_rule_input_entry (id, rule_id, rule_input_entry_id, values_map, "INDEX", create_time, update_time)
SELECT 161, 3, 31, NULL, 6, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_input_entry WHERE id = 161);

-- 值162
INSERT INTO t_ds_relation_rule_input_entry (id, rule_id, rule_input_entry_id, values_map, "INDEX", create_time, update_time)
SELECT 162, 4, 31, NULL, 7, SYSDATE, SYSDATE FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM t_ds_relation_rule_input_entry WHERE id = 162);

-- ----------------------------
-- Drop tables if exists
-- ----------------------------
BEGIN
EXECUTE IMMEDIATE 'DROP TABLE T_DS_ENVIRONMENT';
EXCEPTION
    WHEN OTHERS THEN
        IF SQLCODE != -942 THEN RAISE; END IF;
END;
/
-- ----------------------------
-- Table structure for t_ds_environment
-- ----------------------------

CREATE TABLE T_DS_ENVIRONMENT (
      ID NUMBER(11) generated by default as IDENTITY NOT NULL,
      CODE NUMBER(20) NULL ,
      NAME VARCHAR2(255) NOT NULL,
      CONFIG CLOB,
      DESCRIPTION CLOB,
      OPERATOR NUMBER(11),
      CREATE_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
      UPDATE_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
      PRIMARY KEY (ID)
);
CREATE UNIQUE INDEX ENVIRONMENT_NAME_UNIQUE ON T_DS_ENVIRONMENT(NAME);
CREATE UNIQUE INDEX ENVIRONMENT_CODE_UNIQUE ON T_DS_ENVIRONMENT(CODE);

CREATE OR REPLACE TRIGGER TRG_T_DS_ENVIRONMENT_TIME
BEFORE UPDATE ON T_DS_ENVIRONMENT
FOR EACH ROW
BEGIN
    :new.UPDATE_TIME := CURRENT_TIMESTAMP;
END;
/
-- ----------------------------
-- Table structure for t_ds_environment_worker_group_relation
-- ----------------------------
BEGIN
EXECUTE IMMEDIATE 'DROP TABLE T_DS_ENVIRONMENT_WORKER_GROUP_RELATION';
EXCEPTION
    WHEN OTHERS THEN
        IF SQLCODE != -942 THEN RAISE; END IF;
END;
/

CREATE TABLE T_DS_ENVIRONMENT_WORKER_GROUP_RELATION (
    ID NUMBER(11) generated by default as IDENTITY NOT NULL,
    ENVIRONMENT_CODE NUMBER(20) NOT NULL ,
    WORKER_GROUP VARCHAR2(255) NOT NULL ,
    OPERATOR NUMBER(11) ,
    CREATE_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    UPDATE_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    PRIMARY KEY (ID)
);
CREATE UNIQUE INDEX ENVIRONMENT_WORKER_GROUP_UNIQUE ON T_DS_ENVIRONMENT_WORKER_GROUP_RELATION(ENVIRONMENT_CODE, WORKER_GROUP);

CREATE OR REPLACE TRIGGER TRG_ENV_WORKER_GROUP_RELA_TIME
BEFORE UPDATE ON T_DS_ENVIRONMENT
FOR EACH ROW
BEGIN
    :new.UPDATE_TIME := CURRENT_TIMESTAMP;
END;
/
-- ----------------------------
-- Table structure for t_ds_task_group_queue
-- ----------------------------
BEGIN
EXECUTE IMMEDIATE 'DROP TABLE T_DS_TASK_GROUP_QUEUE';
EXCEPTION
    WHEN OTHERS THEN
        IF SQLCODE != -942 THEN RAISE; END IF;
END;
/

CREATE TABLE T_DS_TASK_GROUP_QUEUE (
           ID NUMBER(11) generated by default as IDENTITY NOT NULL ,
           TASK_ID NUMBER(11) ,
           TASK_NAME VARCHAR2(255),
           GROUP_ID NUMBER(11) ,
           PROCESS_ID NUMBER(11),
           PRIORITY NUMBER(8) DEFAULT 0,
           STATUS NUMBER(4) DEFAULT -1 ,
           FORCE_START NUMBER(4) DEFAULT 0 ,
           IN_QUEUE NUMBER(4) DEFAULT 0 ,
           CREATE_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
           UPDATE_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
           PRIMARY KEY (ID)
);

CREATE OR REPLACE TRIGGER TRG_T_DS_TASK_GROUP_QUEUE_TIME
BEFORE UPDATE ON T_DS_TASK_GROUP_QUEUE
FOR EACH ROW
BEGIN
    :new.UPDATE_TIME := CURRENT_TIMESTAMP;
END;
/

-- ----------------------------
-- Table structure for t_ds_task_group
-- ----------------------------
BEGIN
EXECUTE IMMEDIATE 'DROP TABLE T_DS_TASK_GROUP';
EXCEPTION
    WHEN OTHERS THEN
        IF SQLCODE != -942 THEN RAISE; END IF;
END;
/

CREATE TABLE T_DS_TASK_GROUP (
     ID NUMBER(11) generated by default as IDENTITY NOT NULL ,
     NAME VARCHAR2(255),
     DESCRIPTION VARCHAR2(255),
     GROUP_SIZE NUMBER(11) NOT NULL,
     USE_SIZE NUMBER(11) DEFAULT 0 ,
     USER_ID NUMBER(11),
     PROJECT_CODE NUMBER(20) DEFAULT 0,
     STATUS NUMBER(4) DEFAULT 1,
     CREATE_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
     UPDATE_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
     PRIMARY KEY (ID)
);
CREATE OR REPLACE TRIGGER TRG_T_DS_TASK_GROUP_TIME
BEFORE UPDATE ON T_DS_TASK_GROUP
                  FOR EACH ROW
BEGIN
    :new.UPDATE_TIME := CURRENT_TIMESTAMP;
END;
/
-- ----------------------------
-- Table structure for t_ds_audit_log
-- ----------------------------
BEGIN
EXECUTE IMMEDIATE 'DROP TABLE T_DS_AUDIT_LOG';
EXCEPTION
    WHEN OTHERS THEN
        IF SQLCODE != -942 THEN RAISE; END IF;
END;
/

CREATE TABLE T_DS_AUDIT_LOG (
    ID NUMBER(11) generated by default as IDENTITY NOT NULL,
    USER_ID NUMBER(11) NOT NULL,
    RESOURCE_TYPE NUMBER(11) NOT NULL,
    OPERATION NUMBER(11) NOT NULL,
    TIME DATE DEFAULT SYSDATE,
    RESOURCE_ID NUMBER(11) DEFAULT NULL,
    PRIMARY KEY (ID)
);

-- ----------------------------
-- Table structure for t_ds_k8s
-- ----------------------------
BEGIN
EXECUTE IMMEDIATE 'DROP TABLE T_DS_K8S';
EXCEPTION
    WHEN OTHERS THEN
        IF SQLCODE != -942 THEN RAISE; END IF;
END;
/

CREATE TABLE T_DS_K8S (
      ID NUMBER(11) generated by default as IDENTITY NOT NULL,
      K8S_NAME VARCHAR2(255),
      K8S_CONFIG CLOB,
      CREATE_TIME DATE,
      UPDATE_TIME DATE,
      PRIMARY KEY (ID)
);

-- ----------------------------
-- Table structure for t_ds_k8s_namespace
-- ----------------------------
BEGIN
EXECUTE IMMEDIATE 'DROP TABLE T_DS_K8S_NAMESPACE';
EXCEPTION
    WHEN OTHERS THEN
        IF SQLCODE != -942 THEN RAISE; END IF;
END;
/

CREATE TABLE T_DS_K8S_NAMESPACE (
    ID NUMBER(11) generated by default as IDENTITY NOT NULL,
    CODE NUMBER(20) DEFAULT 0 NOT NULL,
    LIMITS_MEMORY NUMBER(11),
    NAMESPACE VARCHAR2(255),
    USER_ID NUMBER(11),
    POD_REPLICAS NUMBER(11),
    POD_REQUEST_CPU NUMBER(14,3),
    POD_REQUEST_MEMORY NUMBER(11),
    LIMITS_CPU NUMBER(14,3),
    CLUSTER_CODE NUMBER(20) DEFAULT 0 NOT NULL,
    CREATE_TIME DATE,
    UPDATE_TIME DATE,
    PRIMARY KEY (ID)
);
CREATE UNIQUE INDEX K8S_NAMESPACE_UNIQUE ON T_DS_K8S_NAMESPACE(NAMESPACE, CLUSTER_CODE);

-- ----------------------------
-- Table structure for t_ds_relation_namespace_user
-- ----------------------------
BEGIN
EXECUTE IMMEDIATE 'DROP TABLE T_DS_RELATION_NAMESPACE_USER';
EXCEPTION
    WHEN OTHERS THEN
        IF SQLCODE != -942 THEN RAISE; END IF;
END;
/

CREATE TABLE T_DS_RELATION_NAMESPACE_USER (
      ID NUMBER(11) generated by default as IDENTITY NOT NULL,
      USER_ID NUMBER(11) NOT NULL,
      NAMESPACE_ID NUMBER(11),
      PERM NUMBER(11) DEFAULT 1 ,
      CREATE_TIME DATE ,
      UPDATE_TIME DATE ,
      PRIMARY KEY (ID)
);
CREATE UNIQUE INDEX NAMESPACE_USER_UNIQUE ON T_DS_RELATION_NAMESPACE_USER(USER_ID, NAMESPACE_ID);

-- ----------------------------
-- Table structure for t_ds_alert_send_status
-- ----------------------------
BEGIN
EXECUTE IMMEDIATE 'DROP TABLE T_DS_ALERT_SEND_STATUS';
EXCEPTION
    WHEN OTHERS THEN
        IF SQLCODE != -942 THEN RAISE; END IF;
END;
/

CREATE TABLE T_DS_ALERT_SEND_STATUS (
    ID NUMBER(11) generated by default as IDENTITY NOT NULL,
    ALERT_ID NUMBER(11) NOT NULL,
    ALERT_PLUGIN_INSTANCE_ID NUMBER(11) NOT NULL,
    SEND_STATUS NUMBER(4) DEFAULT 0,
    LOG CLOB,
    CREATE_TIME DATE ,
    PRIMARY KEY (ID)
);
CREATE UNIQUE INDEX ALERT_SEND_STATUS_UNIQUE ON T_DS_ALERT_SEND_STATUS(ALERT_ID, ALERT_PLUGIN_INSTANCE_ID);

-- ----------------------------
-- Table structure for t_ds_cluster
-- ----------------------------
BEGIN
EXECUTE IMMEDIATE 'DROP TABLE T_DS_CLUSTER';
EXCEPTION
    WHEN OTHERS THEN
        IF SQLCODE != -942 THEN RAISE; END IF;
END;
/

CREATE TABLE T_DS_CLUSTER (
      ID NUMBER(11) generated by default as IDENTITY NOT NULL,
      CODE NUMBER(20)  NULL,
      NAME VARCHAR2(255) NOT NULL,
      CONFIG CLOB  NULL,
      DESCRIPTION CLOB  NULL,
      OPERATOR NUMBER(11)  NULL,
      CREATE_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
      UPDATE_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
      PRIMARY KEY (ID)
);
CREATE UNIQUE INDEX CLUSTER_NAME_UNIQUE ON T_DS_CLUSTER(NAME);
CREATE UNIQUE INDEX CLUSTER_CODE_UNIQUE ON T_DS_CLUSTER(CODE);

CREATE OR REPLACE TRIGGER TRG_T_DS_CLUSTER_UPDATE
BEFORE UPDATE ON T_DS_CLUSTER
           FOR EACH ROW
BEGIN
    :NEW.UPDATE_TIME := CURRENT_TIMESTAMP;
END;
/


-- ----------------------------
-- Table structure for t_ds_fav_task
-- ----------------------------
BEGIN
EXECUTE IMMEDIATE 'DROP TABLE T_DS_FAV_TASK';
EXCEPTION
    WHEN OTHERS THEN
        IF SQLCODE != -942 THEN RAISE; END IF;
END;
/

CREATE TABLE T_DS_FAV_TASK (
   ID NUMBER(20) generated by default as IDENTITY NOT NULL,
   TASK_TYPE VARCHAR2(64) NOT NULL ,
   USER_ID NUMBER(11) NOT NULL,
   PRIMARY KEY (ID)
);

-- ----------------------------
-- Table structure for t_ds_trigger_relation
-- ----------------------------
BEGIN
EXECUTE IMMEDIATE 'DROP TABLE T_DS_TRIGGER_RELATION';
EXCEPTION
    WHEN OTHERS THEN
        IF SQLCODE != -942 THEN RAISE; END IF;
END;
/

CREATE TABLE T_DS_TRIGGER_RELATION (
   ID NUMBER(20) generated by default as IDENTITY NOT NULL,
   TRIGGER_TYPE NUMBER(11) DEFAULT 0 NOT NULL,
   TRIGGER_CODE NUMBER(20) NOT NULL,
   JOB_ID NUMBER(20) NOT NULL,
   CREATE_TIME DATE,
   UPDATE_TIME DATE,
   PRIMARY KEY (ID)
);
CREATE INDEX T_DS_TRIGGER_RELATION_TRIGGER_CODE_IDX ON T_DS_TRIGGER_RELATION(TRIGGER_CODE);
CREATE UNIQUE INDEX T_DS_TRIGGER_RELATION_UN ON T_DS_TRIGGER_RELATION(TRIGGER_TYPE, JOB_ID, TRIGGER_CODE);

-- ----------------------------
-- Table structure for t_ds_relation_sub_workflow
-- ----------------------------
BEGIN
EXECUTE IMMEDIATE 'DROP TABLE T_DS_RELATION_SUB_WORKFLOW';
EXCEPTION
    WHEN OTHERS THEN
        IF SQLCODE != -942 THEN RAISE; END IF;
END;
/

CREATE TABLE T_DS_RELATION_SUB_WORKFLOW (
        ID NUMBER(20) generated by default as IDENTITY NOT NULL,
        PARENT_WORKFLOW_INSTANCE_ID NUMBER(20) NOT NULL,
        PARENT_TASK_CODE NUMBER(20) NOT NULL,
        SUB_WORKFLOW_INSTANCE_ID NUMBER(20) NOT NULL,
        PRIMARY KEY (ID)
);
CREATE INDEX IDX_PARENT_WORKFLOW_INSTANCE_ID ON T_DS_RELATION_SUB_WORKFLOW(PARENT_WORKFLOW_INSTANCE_ID);
CREATE INDEX IDX_PARENT_TASK_CODE ON T_DS_RELATION_SUB_WORKFLOW(PARENT_TASK_CODE);
CREATE INDEX IDX_SUB_WORKFLOW_INSTANCE_ID ON T_DS_RELATION_SUB_WORKFLOW(SUB_WORKFLOW_INSTANCE_ID);

-- 外键约束
ALTER TABLE QRTZ_TRIGGERS
    ADD CONSTRAINT QRTZ_TRIGGERS_FK
        FOREIGN KEY (SCHED_NAME, JOB_NAME, JOB_GROUP)
            REFERENCES QRTZ_JOB_DETAILS (SCHED_NAME, JOB_NAME, JOB_GROUP);

ALTER TABLE QRTZ_BLOB_TRIGGERS
    ADD CONSTRAINT QRTZ_BLOB_TRIGGERS_FK
        FOREIGN KEY (SCHED_NAME, TRIGGER_NAME, TRIGGER_GROUP)
            REFERENCES QRTZ_TRIGGERS (SCHED_NAME, TRIGGER_NAME, TRIGGER_GROUP);

ALTER TABLE QRTZ_CRON_TRIGGERS
    ADD CONSTRAINT QRTZ_CRON_TRIGGERS_FK
        FOREIGN KEY (SCHED_NAME, TRIGGER_NAME, TRIGGER_GROUP)
            REFERENCES QRTZ_TRIGGERS (SCHED_NAME, TRIGGER_NAME, TRIGGER_GROUP);

-- 外键约束
ALTER TABLE QRTZ_SIMPROP_TRIGGERS
    ADD CONSTRAINT QRTZ_SIMPROP_TRIGGERS_FK
        FOREIGN KEY (SCHED_NAME, TRIGGER_NAME, TRIGGER_GROUP)
            REFERENCES QRTZ_TRIGGERS (SCHED_NAME, TRIGGER_NAME, TRIGGER_GROUP);

-- 外键约束(需确保QRTZ_TRIGGERS已存在)
ALTER TABLE QRTZ_SIMPLE_TRIGGERS
    ADD CONSTRAINT QRTZ_SIMPLE_TRIGGERS_FK
        FOREIGN KEY (SCHED_NAME, TRIGGER_NAME, TRIGGER_GROUP)
            REFERENCES QRTZ_TRIGGERS (SCHED_NAME, TRIGGER_NAME, TRIGGER_GROUP);

6、启动VMOPTIONS

-Dlogging.config=classpath:logback-spring.xml  -Dspring.profiles.active=oracle -DskipTests=true

7、启动后mybatis的mapper也需要修改,暂时正在测试修改中

有什么问题可以一起讨论

未完待续。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值