From 54606b05c0506466f34edcab9b1b1879034c3a5d Mon Sep 17 00:00:00 2001 From: Liang <545073804@qq.com> Date: Mon, 8 Apr 2024 10:54:44 +0800 Subject: [PATCH] =?UTF-8?q?update=20=E6=9B=B4=E6=96=B0EasyRetry=20v3.1.1?= =?UTF-8?q?=20=3D>=20v3.2.0=20=E6=9B=B4=E6=96=B0=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E5=BA=93sql=E8=84=9A=E6=9C=AC=EF=BC=8C=E6=B7=BB=E5=8A=A0?= =?UTF-8?q?=E8=A1=A8=E5=89=8D=E7=BC=80er=5F=E6=94=AF=E6=8C=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 2 +- .../src/main/resources/application-dev.yml | 3 - .../src/main/resources/application-prod.yml | 3 - .../src/main/resources/application.yml | 1 + .../src/main/resources/logback-plus.xml | 2 +- script/sql/easy_retry.sql | 124 +- script/sql/oracle/easy_retry_oracle.sql | 825 +++++ script/sql/postgres/easy_retry.sql | 800 ----- script/sql/postgres/easy_retry_postgre.sql | 805 +++++ script/sql/sqlserver/easy_retry_sqlserver.sql | 2749 +++++++++++++++++ 10 files changed, 4435 insertions(+), 879 deletions(-) create mode 100644 script/sql/oracle/easy_retry_oracle.sql delete mode 100644 script/sql/postgres/easy_retry.sql create mode 100644 script/sql/postgres/easy_retry_postgre.sql create mode 100644 script/sql/sqlserver/easy_retry_sqlserver.sql diff --git a/pom.xml b/pom.xml index a6ff2b80d..6f0ea0cd0 100644 --- a/pom.xml +++ b/pom.xml @@ -35,7 +35,7 @@ 4.3.0 2.14.4 4.3.6 - 3.1.1 + 3.2.0 1.3.6 0.2.0 1.18.30 diff --git a/ruoyi-extend/ruoyi-easyretry-server/src/main/resources/application-dev.yml b/ruoyi-extend/ruoyi-easyretry-server/src/main/resources/application-dev.yml index afb27acdd..c151a6195 100644 --- a/ruoyi-extend/ruoyi-easyretry-server/src/main/resources/application-dev.yml +++ b/ruoyi-extend/ruoyi-easyretry-server/src/main/resources/application-dev.yml @@ -1,6 +1,3 @@ -easy-retry: - # 当前使用的数据库类型 - db-type: mysql spring: datasource: type: com.zaxxer.hikari.HikariDataSource diff --git a/ruoyi-extend/ruoyi-easyretry-server/src/main/resources/application-prod.yml b/ruoyi-extend/ruoyi-easyretry-server/src/main/resources/application-prod.yml index afb27acdd..c151a6195 100644 --- a/ruoyi-extend/ruoyi-easyretry-server/src/main/resources/application-prod.yml +++ b/ruoyi-extend/ruoyi-easyretry-server/src/main/resources/application-prod.yml @@ -1,6 +1,3 @@ -easy-retry: - # 当前使用的数据库类型 - db-type: mysql spring: datasource: type: com.zaxxer.hikari.HikariDataSource diff --git a/ruoyi-extend/ruoyi-easyretry-server/src/main/resources/application.yml b/ruoyi-extend/ruoyi-easyretry-server/src/main/resources/application.yml index a26bfd37a..b6d8998e8 100644 --- a/ruoyi-extend/ruoyi-easyretry-server/src/main/resources/application.yml +++ b/ruoyi-extend/ruoyi-easyretry-server/src/main/resources/application.yml @@ -16,6 +16,7 @@ mybatis-plus: typeAliasesPackage: com.aizuda.easy.retry.template.datasource.persistence.po global-config: db-config: + table-prefix: er_ where-strategy: NOT_EMPTY capital-mode: false logic-delete-value: 1 diff --git a/ruoyi-extend/ruoyi-easyretry-server/src/main/resources/logback-plus.xml b/ruoyi-extend/ruoyi-easyretry-server/src/main/resources/logback-plus.xml index 703c0a708..cdd5451bb 100644 --- a/ruoyi-extend/ruoyi-easyretry-server/src/main/resources/logback-plus.xml +++ b/ruoyi-extend/ruoyi-easyretry-server/src/main/resources/logback-plus.xml @@ -79,7 +79,7 @@ - + diff --git a/script/sql/easy_retry.sql b/script/sql/easy_retry.sql index 23f5142c5..428976238 100644 --- a/script/sql/easy_retry.sql +++ b/script/sql/easy_retry.sql @@ -1,7 +1,6 @@ SET NAMES utf8mb4; -DROP TABLE IF EXISTS `namespace`; -CREATE TABLE `namespace` +CREATE TABLE `er_namespace` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', `name` varchar(64) NOT NULL COMMENT '名称', @@ -16,16 +15,17 @@ CREATE TABLE `namespace` ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COMMENT ='命名空间'; -INSERT INTO `namespace` VALUES (1, 'Development', 'dev', '', now(), now(), 0); -INSERT INTO `namespace` VALUES (2, 'Production', 'prod', '', now(), now(), 0); +INSERT INTO `er_namespace` VALUES (1, 'Development', 'dev', '', now(), now(), 0); +INSERT INTO `er_namespace` VALUES (2, 'Production', 'prod', '', now(), now(), 0); -DROP TABLE IF EXISTS `group_config`; -CREATE TABLE `group_config` + +CREATE TABLE `er_group_config` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', `namespace_id` varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT '命名空间id', `group_name` varchar(64) NOT NULL DEFAULT '' COMMENT '组名称', `description` varchar(256) NOT NULL DEFAULT '' COMMENT '组描述', + `token` varchar(64) NOT NULL DEFAULT 'ER_cKqBTPzCsWA3VyuCfFoccmuIEGXjr5KT' COMMENT 'token', `group_status` tinyint(4) NOT NULL DEFAULT '0' COMMENT '组状态 0、未启用 1、启用', `version` int(11) NOT NULL COMMENT '版本号', `group_partition` int(11) NOT NULL COMMENT '分区', @@ -41,10 +41,10 @@ CREATE TABLE `group_config` DEFAULT CHARSET = utf8mb4 COMMENT ='组配置' ; -INSERT INTO `group_config` VALUES (1, 'dev', 'ruoyi_group', '', 1, 1, 0, 1, 1, 4, now(), now()); +INSERT INTO `er_group_config` VALUES (1, 'dev', 'ruoyi_group', '', 'ER_cKqBTPzCsWA3VyuCfFoccmuIEGXjr5KT', 1, 1, 0, 1, 1, 4, now(), now()); -DROP TABLE IF EXISTS `notify_config`; -CREATE TABLE `notify_config` + +CREATE TABLE `er_notify_config` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', `namespace_id` varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT '命名空间id', @@ -67,8 +67,7 @@ CREATE TABLE `notify_config` DEFAULT CHARSET = utf8mb4 COMMENT ='通知配置' ; -DROP TABLE IF EXISTS `retry_dead_letter_0`; -CREATE TABLE `retry_dead_letter_0` +CREATE TABLE `er_retry_dead_letter_0` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', `namespace_id` varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT '命名空间id', @@ -93,8 +92,7 @@ CREATE TABLE `retry_dead_letter_0` DEFAULT CHARSET = utf8mb4 COMMENT ='死信队列表' ; -DROP TABLE IF EXISTS `retry_task_0`; -CREATE TABLE `retry_task_0` +CREATE TABLE `er_retry_task_0` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', `namespace_id` varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT '命名空间id', @@ -125,8 +123,7 @@ CREATE TABLE `retry_task_0` DEFAULT CHARSET = utf8mb4 COMMENT ='任务表' ; -DROP TABLE IF EXISTS `retry_task_log`; -CREATE TABLE `retry_task_log` +CREATE TABLE `er_retry_task_log` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', `namespace_id` varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT '命名空间id', @@ -141,6 +138,7 @@ CREATE TABLE `retry_task_log` `retry_status` tinyint(4) NOT NULL DEFAULT '0' COMMENT '重试状态 0、重试中 1、成功 2、最大次数', `task_type` tinyint(4) NOT NULL DEFAULT '1' COMMENT '任务类型 1、重试数据 2、回调数据', `create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间', PRIMARY KEY (`id`), KEY `idx_group_name_scene_name` (`namespace_id`, `group_name`, `scene_name`), KEY `idx_retry_status` (`retry_status`), @@ -153,16 +151,16 @@ CREATE TABLE `retry_task_log` DEFAULT CHARSET = utf8mb4 COMMENT ='任务日志基础信息表' ; -DROP TABLE IF EXISTS `retry_task_log_message`; -CREATE TABLE `retry_task_log_message` +CREATE TABLE `er_retry_task_log_message` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', `namespace_id` varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT '命名空间id', `group_name` varchar(64) NOT NULL COMMENT '组名称', `unique_id` varchar(64) NOT NULL COMMENT '同组下id唯一', `create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - `message` text NOT NULL COMMENT '异常信息', - `client_info` varchar(128) DEFAULT NULL COMMENT '客户端地址 clientId#ip:port', + `message` longtext NOT NULL COMMENT '异常信息', + `log_num` int(11) NOT NULL DEFAULT 1 COMMENT '日志数量', + `real_time` bigint(13) NOT NULL DEFAULT 0 COMMENT '上报时间', PRIMARY KEY (`id`), KEY `idx_namespace_id_group_name_scene_name` (`namespace_id`, `group_name`, `unique_id`), KEY `idx_create_dt` (`create_dt`) @@ -171,8 +169,7 @@ CREATE TABLE `retry_task_log_message` DEFAULT CHARSET = utf8mb4 COMMENT ='任务调度日志信息记录表' ; -DROP TABLE IF EXISTS `scene_config`; -CREATE TABLE `scene_config` +CREATE TABLE `er_scene_config` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', `namespace_id` varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT '命名空间id', @@ -195,8 +192,7 @@ CREATE TABLE `scene_config` DEFAULT CHARSET = utf8mb4 COMMENT ='场景配置' ; -DROP TABLE IF EXISTS `server_node`; -CREATE TABLE `server_node` +CREATE TABLE `er_server_node` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', `namespace_id` varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT '命名空间id', @@ -219,8 +215,7 @@ CREATE TABLE `server_node` DEFAULT CHARSET = utf8mb4 COMMENT ='服务器节点' ; -DROP TABLE IF EXISTS `distributed_lock`; -CREATE TABLE `distributed_lock` +CREATE TABLE `er_distributed_lock` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', `name` varchar(64) NOT NULL COMMENT '锁名称', @@ -236,8 +231,7 @@ CREATE TABLE `distributed_lock` DEFAULT CHARSET = utf8mb4 COMMENT ='锁定表' ; -DROP TABLE IF EXISTS `system_user`; -CREATE TABLE `system_user` +CREATE TABLE `er_system_user` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', `username` varchar(64) NOT NULL COMMENT '账号', @@ -251,10 +245,9 @@ CREATE TABLE `system_user` DEFAULT CHARSET = utf8mb4 COMMENT ='系统用户表'; -- pwd: admin -INSERT INTO `system_user` VALUES (1, 'admin', '465c194afb65670f38322df087f0a9bb225cc257e43eb4ac5a0c98ef5b3173ac', 2, now(), now()); +INSERT INTO `er_system_user` VALUES (1, 'admin', '465c194afb65670f38322df087f0a9bb225cc257e43eb4ac5a0c98ef5b3173ac', 2, now(), now()); -DROP TABLE IF EXISTS `system_user_permission`; -CREATE TABLE `system_user_permission` +CREATE TABLE `er_system_user_permission` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', `group_name` varchar(64) NOT NULL COMMENT '组名称', @@ -267,8 +260,7 @@ CREATE TABLE `system_user_permission` ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COMMENT ='系统用户权限表'; -DROP TABLE IF EXISTS `sequence_alloc`; -CREATE TABLE `sequence_alloc` +CREATE TABLE `er_sequence_alloc` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', `namespace_id` varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT '命名空间id', @@ -282,8 +274,7 @@ CREATE TABLE `sequence_alloc` DEFAULT CHARSET = utf8mb4 COMMENT ='号段模式序号ID分配表'; -- 分布式调度DDL -DROP TABLE IF EXISTS `job`; -CREATE TABLE `job` +CREATE TABLE `er_job` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', `namespace_id` varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT '命名空间id', @@ -319,10 +310,7 @@ CREATE TABLE `job` AUTO_INCREMENT = 0 DEFAULT CHARSET = utf8mb4 COMMENT ='任务信息'; -INSERT INTO `job` VALUES (1, 'dev', 'ruoyi_group', 'demo-job', null, 1, 1710344035622, 1, 1, 4, 1, 'testJobExecutor', 2, '60', 1, 60, 3, 1, 1, 116, 0, '', '', now(), now(), 0); - -DROP TABLE IF EXISTS `job_log_message`; -CREATE TABLE `job_log_message` +CREATE TABLE `er_job_log_message` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', `namespace_id` varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT '命名空间id', @@ -343,8 +331,7 @@ CREATE TABLE `job_log_message` AUTO_INCREMENT = 0 DEFAULT CHARSET = utf8mb4 COMMENT ='调度日志'; -DROP TABLE IF EXISTS `job_task`; -CREATE TABLE `job_task` +CREATE TABLE `er_job_task` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', `namespace_id` varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT '命名空间id', @@ -369,8 +356,7 @@ CREATE TABLE `job_task` AUTO_INCREMENT = 0 DEFAULT CHARSET = utf8mb4 COMMENT ='任务实例'; -DROP TABLE IF EXISTS `job_task_batch`; -CREATE TABLE `job_task_batch` +CREATE TABLE `er_job_task_batch` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', `namespace_id` varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT '命名空间id', @@ -392,13 +378,12 @@ CREATE TABLE `job_task_batch` KEY `idx_job_id_task_batch_status` (`job_id`, `task_batch_status`), KEY `idx_create_dt` (`create_dt`), KEY `idx_namespace_id_group_name` (`namespace_id`, `group_name`), - KEY `idx_workflow_task_batch_id_workflow_node_id` (`workflow_task_batch_id`,`workflow_node_id`) + KEY `idx_workflow_task_batch_id_workflow_node_id` (`workflow_task_batch_id`, `workflow_node_id`) ) ENGINE = InnoDB AUTO_INCREMENT = 0 DEFAULT CHARSET = utf8mb4 COMMENT ='任务批次'; -DROP TABLE IF EXISTS `job_notify_config`; -CREATE TABLE `job_notify_config` +CREATE TABLE `er_job_notify_config` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', `namespace_id` varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT '命名空间id', @@ -420,32 +405,31 @@ CREATE TABLE `job_notify_config` AUTO_INCREMENT = 4 DEFAULT CHARSET = utf8mb4 COMMENT ='job通知配置'; -DROP TABLE IF EXISTS `job_summary`; -CREATE TABLE `job_summary` +CREATE TABLE `er_job_summary` ( - `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', - `namespace_id` VARCHAR(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT '命名空间id', - `group_name` VARCHAR(64) NOT NULL DEFAULT '' COMMENT '组名称', - `job_id` bigint NOT NULL COMMENT '任务信息id', - `trigger_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '统计时间', - `success_num` int NOT NULL DEFAULT '0' COMMENT '执行成功-日志数量', - `fail_num` int NOT NULL DEFAULT '0' COMMENT '执行失败-日志数量', - `fail_reason` varchar(512) NOT NULL DEFAULT '' COMMENT '失败原因', - `stop_num` int NOT NULL DEFAULT '0' COMMENT '执行失败-日志数量', - `stop_reason` varchar(512) NOT NULL DEFAULT '' COMMENT '失败原因', - `cancel_num` int NOT NULL DEFAULT '0' COMMENT '执行失败-日志数量', - `cancel_reason` varchar(512) NOT NULL DEFAULT '' COMMENT '失败原因', - `create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', - `update_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间', + `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', + `namespace_id` VARCHAR(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT '命名空间id', + `group_name` VARCHAR(64) NOT NULL DEFAULT '' COMMENT '组名称', + `business_id` bigint NOT NULL COMMENT '业务id (job_id或workflow_id)', + `system_task_type` tinyint(4) NOT NULL DEFAULT '3' COMMENT '任务类型 3、JOB任务 4、WORKFLOW任务', + `trigger_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '统计时间', + `success_num` int NOT NULL DEFAULT '0' COMMENT '执行成功-日志数量', + `fail_num` int NOT NULL DEFAULT '0' COMMENT '执行失败-日志数量', + `fail_reason` varchar(512) NOT NULL DEFAULT '' COMMENT '失败原因', + `stop_num` int NOT NULL DEFAULT '0' COMMENT '执行失败-日志数量', + `stop_reason` varchar(512) NOT NULL DEFAULT '' COMMENT '失败原因', + `cancel_num` int NOT NULL DEFAULT '0' COMMENT '执行失败-日志数量', + `cancel_reason` varchar(512) NOT NULL DEFAULT '' COMMENT '失败原因', + `create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `update_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间', PRIMARY KEY (`id`), - KEY `idx_namespace_id_group_name_job_id` (`namespace_id`, `group_name`, job_id), - UNIQUE KEY `uk_job_id_trigger_at` (`job_id`, `trigger_at`) USING BTREE + KEY `idx_namespace_id_group_name_business_id` (`namespace_id`, `group_name`, business_id), + UNIQUE KEY `uk_trigger_at_system_task_type_business_id` (`trigger_at`, `system_task_type`, `business_id`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 1 DEFAULT CHARSET = utf8mb4 COMMENT ='DashBoard_Job'; -DROP TABLE IF EXISTS `retry_summary`; -CREATE TABLE `retry_summary` +CREATE TABLE `er_retry_summary` ( `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', `namespace_id` VARCHAR(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT '命名空间id', @@ -459,13 +443,13 @@ CREATE TABLE `retry_summary` `create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', `update_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '修改时间', PRIMARY KEY (`id`), + KEY `idx_trigger_at` (`trigger_at`), UNIQUE KEY `uk_scene_name_trigger_at` (`namespace_id`, `group_name`, `scene_name`, `trigger_at`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 1 DEFAULT CHARSET = utf8mb4 COMMENT ='DashBoard_Retry'; -DROP TABLE IF EXISTS `workflow`; -CREATE TABLE `workflow` +CREATE TABLE `er_workflow` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', `workflow_name` varchar(64) NOT NULL COMMENT '工作流名称', @@ -492,8 +476,7 @@ CREATE TABLE `workflow` AUTO_INCREMENT = 0 DEFAULT CHARSET = utf8mb4 COMMENT ='工作流'; -DROP TABLE IF EXISTS `workflow_node`; -CREATE TABLE `workflow_node` +CREATE TABLE `er_workflow_node` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', `namespace_id` varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT '命名空间id', @@ -519,8 +502,7 @@ CREATE TABLE `workflow_node` AUTO_INCREMENT = 0 DEFAULT CHARSET = utf8mb4 COMMENT ='工作流节点'; -DROP TABLE IF EXISTS `workflow_task_batch`; -CREATE TABLE `workflow_task_batch` +CREATE TABLE `er_workflow_task_batch` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键', `namespace_id` varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT '命名空间id', diff --git a/script/sql/oracle/easy_retry_oracle.sql b/script/sql/oracle/easy_retry_oracle.sql new file mode 100644 index 000000000..3e506b815 --- /dev/null +++ b/script/sql/oracle/easy_retry_oracle.sql @@ -0,0 +1,825 @@ +-- Oracle DDL + +-- er_namespace +CREATE TABLE er_namespace +( + id NUMBER GENERATED ALWAYS AS IDENTITY, + name VARCHAR2(64) NOT NULL, + unique_id VARCHAR2(64) NOT NULL, + description VARCHAR2(256) DEFAULT '', + create_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP, + update_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP, + deleted SMALLINT DEFAULT 0 +); + +CREATE UNIQUE INDEX uk_namespace_1 ON namespace (unique_id); + +COMMENT ON TABLE namespace IS '命名空间'; +COMMENT ON COLUMN namespace.id IS '主键'; +COMMENT ON COLUMN namespace.name IS '名称'; +COMMENT ON COLUMN namespace.unique_id IS '唯一id'; +COMMENT ON COLUMN namespace.description IS '描述'; +COMMENT ON COLUMN namespace.create_dt IS '创建时间'; +COMMENT ON COLUMN namespace.update_dt IS '修改时间'; +COMMENT ON COLUMN namespace.deleted IS '逻辑删除 1、删除'; + +INSERT INTO er_namespace VALUES (1, 'Development', 'dev', '', sysdate, sysdate, 0); +INSERT INTO er_namespace VALUES (2, 'Production', 'prod', '', sysdate, sysdate, 0); + +-- er_group_config +CREATE TABLE er_group_config +( + id NUMBER GENERATED ALWAYS AS IDENTITY, + namespace_id VARCHAR2(64) DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', + group_name VARCHAR2(64) NOT NULL, + description VARCHAR2(256) DEFAULT '', + token VARCHAR2(64) DEFAULT 'ER_cKqBTPzCsWA3VyuCfFoccmuIEGXjr5KT', + group_status SMALLINT DEFAULT 0, + version INT NOT NULL, + group_partition INT NOT NULL, + id_generator_mode SMALLINT DEFAULT 1, + init_scene SMALLINT DEFAULT 0, + bucket_index INT DEFAULT 0, + create_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP, + update_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP +); + +CREATE UNIQUE INDEX uk_group_config_1 ON group_config (namespace_id, group_name); + +COMMENT ON TABLE group_config IS '组配置'; +COMMENT ON COLUMN group_config.id IS '主键'; +COMMENT ON COLUMN group_config.namespace_id IS '命名空间'; +COMMENT ON COLUMN group_config.group_name IS '组名称'; +COMMENT ON COLUMN group_config.description IS '组描述'; +COMMENT ON COLUMN group_config.token IS 'token'; +COMMENT ON COLUMN group_config.group_status IS '组状态 0、未启用 1、启用'; +COMMENT ON COLUMN group_config.version IS '版本号'; +COMMENT ON COLUMN group_config.group_partition IS '分区'; +COMMENT ON COLUMN group_config.id_generator_mode IS '唯一id生成模式 默认号段模式'; +COMMENT ON COLUMN group_config.init_scene IS '是否初始化场景 0:否 1:是'; +COMMENT ON COLUMN group_config.bucket_index IS 'bucket'; +COMMENT ON COLUMN group_config.create_dt IS '创建时间'; +COMMENT ON COLUMN group_config.update_dt IS '修改时间'; + +INSERT INTO er_group_config VALUES (1, 'dev', 'ruoyi_group', '', 'ER_cKqBTPzCsWA3VyuCfFoccmuIEGXjr5KT', 1, 1, 0, 1, 1, 4, sysdate, sysdate); + +-- er_notify_config +CREATE TABLE er_notify_config +( + id NUMBER GENERATED ALWAYS AS IDENTITY, + namespace_id VARCHAR2(64) DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', + group_name VARCHAR2(64) NOT NULL, + scene_name VARCHAR2(64) NOT NULL, + notify_status SMALLINT DEFAULT 0, + notify_type SMALLINT DEFAULT 0, + notify_attribute VARCHAR2(512) NOT NULL, + notify_threshold INT DEFAULT 0, + notify_scene SMALLINT DEFAULT 0, + rate_limiter_status SMALLINT DEFAULT 0, + rate_limiter_threshold INT DEFAULT 0, + description VARCHAR2(256) DEFAULT '', + create_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP, + update_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP +); + +CREATE INDEX idx_notify_config_1 ON notify_config (namespace_id, group_name); + +COMMENT ON TABLE notify_config IS '通知配置'; +COMMENT ON COLUMN notify_config.id IS '主键'; +COMMENT ON COLUMN notify_config.group_name IS '组名称'; +COMMENT ON COLUMN notify_config.namespace_id IS '命名空间id'; +COMMENT ON COLUMN notify_config.scene_name IS '场景名称'; +COMMENT ON COLUMN notify_config.notify_status IS '通知状态 0、未启用 1、启用'; +COMMENT ON COLUMN notify_config.notify_type IS '通知类型 1、钉钉 2、邮件 3、企业微信'; +COMMENT ON COLUMN notify_config.notify_attribute IS '配置属性'; +COMMENT ON COLUMN notify_config.notify_threshold IS '通知阈值'; +COMMENT ON COLUMN notify_config.notify_scene IS '通知场景'; +COMMENT ON COLUMN notify_config.rate_limiter_status IS '限流状态 0、未启用 1、启用'; +COMMENT ON COLUMN notify_config.rate_limiter_threshold IS '每秒限流阈值'; +COMMENT ON COLUMN notify_config.description IS '描述'; +COMMENT ON COLUMN notify_config.create_dt IS '创建时间'; +COMMENT ON COLUMN notify_config.update_dt IS '修改时间'; + +-- er_retry_dead_letter +CREATE TABLE er_retry_dead_letter_0 +( + id NUMBER GENERATED ALWAYS AS IDENTITY, + unique_id VARCHAR2(64) NOT NULL, + namespace_id VARCHAR2(64) DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', + group_name VARCHAR2(64) NOT NULL, + scene_name VARCHAR2(64) NOT NULL, + idempotent_id VARCHAR2(64) NOT NULL, + biz_no VARCHAR2(64) DEFAULT '', + executor_name VARCHAR2(512) DEFAULT '', + args_str CLOB DEFAULT '', + ext_attrs CLOB DEFAULT '', + task_type SMALLINT DEFAULT 1, + create_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP +); + +CREATE UNIQUE INDEX uk_retry_dead_letter_0_1 ON retry_dead_letter_0 (namespace_id, group_name, unique_id); +CREATE INDEX idx_retry_dead_letter_0_1 ON retry_dead_letter_0 (namespace_id, group_name, scene_name); +CREATE INDEX idx_retry_dead_letter_0_2 ON retry_dead_letter_0 (idempotent_id); +CREATE INDEX idx_retry_dead_letter_0_3 ON retry_dead_letter_0 (biz_no); +CREATE INDEX idx_retry_dead_letter_0_4 ON retry_dead_letter_0 (create_dt); + +COMMENT ON TABLE retry_dead_letter_0 IS '死信队列表'; +COMMENT ON COLUMN retry_dead_letter_0.id IS '主键'; +COMMENT ON COLUMN retry_dead_letter_0.unique_id IS '同组下id唯一'; +COMMENT ON COLUMN retry_dead_letter_0.namespace_id IS '命名空间id'; +COMMENT ON COLUMN retry_dead_letter_0.group_name IS '组名称'; +COMMENT ON COLUMN retry_dead_letter_0.scene_name IS '场景名称'; +COMMENT ON COLUMN retry_dead_letter_0.idempotent_id IS '幂等id'; +COMMENT ON COLUMN retry_dead_letter_0.biz_no IS '业务编号'; +COMMENT ON COLUMN retry_dead_letter_0.executor_name IS '执行器名称'; +COMMENT ON COLUMN retry_dead_letter_0.args_str IS '执行方法参数'; +COMMENT ON COLUMN retry_dead_letter_0.ext_attrs IS '扩展字段'; +COMMENT ON COLUMN retry_dead_letter_0.task_type IS '任务类型 1、重试数据 2、回调数据'; +COMMENT ON COLUMN retry_dead_letter_0.create_dt IS '创建时间'; + +-- er_retry_task +CREATE TABLE er_retry_task_0 +( + id NUMBER GENERATED ALWAYS AS IDENTITY, + unique_id VARCHAR2(64) NOT NULL, + namespace_id VARCHAR2(64) DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', + group_name VARCHAR2(64) NOT NULL, + scene_name VARCHAR2(64) NOT NULL, + idempotent_id VARCHAR2(64) NOT NULL, + biz_no VARCHAR2(64) DEFAULT '', + executor_name VARCHAR2(512) DEFAULT '', + args_str CLOB DEFAULT '', + ext_attrs CLOB DEFAULT '', + next_trigger_at TIMESTAMP NOT NULL, + retry_count INT DEFAULT 0, + retry_status SMALLINT DEFAULT 0, + task_type SMALLINT DEFAULT 1, + create_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP, + update_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP +); + +CREATE UNIQUE INDEX uk_retry_task_0_1 ON retry_task_0 (namespace_id, group_name, unique_id); +CREATE INDEX idx_retry_task_0_1 ON retry_task_0 (namespace_id, group_name, scene_name); +CREATE INDEX idx_retry_task_0_2 ON retry_task_0 (namespace_id, group_name, retry_status); +CREATE INDEX idx_retry_task_0_3 ON retry_task_0 (idempotent_id); +CREATE INDEX idx_retry_task_0_4 ON retry_task_0 (biz_no); +CREATE INDEX idx_retry_task_0_5 ON retry_task_0 (create_dt); + +COMMENT ON TABLE retry_task_0 IS '任务表'; +COMMENT ON COLUMN retry_task_0.id IS '主键'; +COMMENT ON COLUMN retry_task_0.unique_id IS '同组下id唯一'; +COMMENT ON COLUMN retry_task_0.namespace_id IS '命名空间id'; +COMMENT ON COLUMN retry_task_0.group_name IS '组名称'; +COMMENT ON COLUMN retry_task_0.scene_name IS '场景名称'; +COMMENT ON COLUMN retry_task_0.idempotent_id IS '幂等id'; +COMMENT ON COLUMN retry_task_0.biz_no IS '业务编号'; +COMMENT ON COLUMN retry_task_0.executor_name IS '执行器名称'; +COMMENT ON COLUMN retry_task_0.args_str IS '执行方法参数'; +COMMENT ON COLUMN retry_task_0.ext_attrs IS '扩展字段'; +COMMENT ON COLUMN retry_task_0.next_trigger_at IS '下次触发时间'; +COMMENT ON COLUMN retry_task_0.retry_count IS '重试次数'; +COMMENT ON COLUMN retry_task_0.retry_status IS '重试状态 0、重试中 1、成功 2、最大重试次数'; +COMMENT ON COLUMN retry_task_0.task_type IS '任务类型 1、重试数据 2、回调数据'; +COMMENT ON COLUMN retry_task_0.create_dt IS '创建时间'; +COMMENT ON COLUMN retry_task_0.update_dt IS '修改时间'; + +-- er_retry_task_log +CREATE TABLE er_retry_task_log +( + id NUMBER GENERATED ALWAYS AS IDENTITY, + unique_id VARCHAR2(64) NOT NULL, + namespace_id VARCHAR2(64) DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', + group_name VARCHAR2(64) NOT NULL, + scene_name VARCHAR2(64) NOT NULL, + idempotent_id VARCHAR2(64) NOT NULL, + biz_no VARCHAR2(64) DEFAULT '', + executor_name VARCHAR2(512) DEFAULT '', + args_str CLOB DEFAULT '', + ext_attrs CLOB DEFAULT '', + retry_status SMALLINT DEFAULT 0, + task_type SMALLINT DEFAULT 1, + create_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP, + update_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP +); + +CREATE INDEX idx_retry_task_log_1 ON retry_task_log (namespace_id, group_name, scene_name); +CREATE INDEX idx_retry_task_log_2 ON retry_task_log (retry_status); +CREATE INDEX idx_retry_task_log_3 ON retry_task_log (idempotent_id); +CREATE INDEX idx_retry_task_log_4 ON retry_task_log (namespace_id, group_name, unique_id); +CREATE INDEX idx_retry_task_log_5 ON retry_task_log (biz_no); +CREATE INDEX idx_retry_task_log_6 ON retry_task_log (create_dt); + +COMMENT ON TABLE retry_task_log IS '任务日志基础信息表'; +COMMENT ON COLUMN retry_task_log.id IS '主键'; +COMMENT ON COLUMN retry_task_log.namespace_id IS '命名空间id'; +COMMENT ON COLUMN retry_task_log.unique_id IS '同组下id唯一'; +COMMENT ON COLUMN retry_task_log.group_name IS '组名称'; +COMMENT ON COLUMN retry_task_log.scene_name IS '场景名称'; +COMMENT ON COLUMN retry_task_log.idempotent_id IS '幂等id'; +COMMENT ON COLUMN retry_task_log.biz_no IS '业务编号'; +COMMENT ON COLUMN retry_task_log.executor_name IS '执行器名称'; +COMMENT ON COLUMN retry_task_log.args_str IS '执行方法参数'; +COMMENT ON COLUMN retry_task_log.ext_attrs IS '扩展字段'; +COMMENT ON COLUMN retry_task_log.retry_status IS '重试状态 0、重试中 1、成功 2、最大次数'; +COMMENT ON COLUMN retry_task_log.task_type IS '任务类型 1、重试数据 2、回调数据'; +COMMENT ON COLUMN retry_task_log.create_dt IS '创建时间'; +COMMENT ON COLUMN retry_task_log.update_dt IS '修改时间'; + +-- er_retry_task_log_message +CREATE TABLE er_retry_task_log_message +( + id NUMBER GENERATED ALWAYS AS IDENTITY, + namespace_id VARCHAR2(64) DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', + group_name VARCHAR2(64) NOT NULL, + unique_id VARCHAR2(64) NOT NULL, + create_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP, + message CLOB DEFAULT '', + log_num INT DEFAULT 1, + real_time NUMERIC(13) DEFAULT 0 +); + +CREATE INDEX idx_retry_task_log_message_1 ON retry_task_log_message (namespace_id, group_name, unique_id); +CREATE INDEX idx_retry_task_log_message_2 ON retry_task_log_message (create_dt); + +COMMENT ON TABLE retry_task_log_message IS '任务调度日志信息记录表'; +COMMENT ON COLUMN retry_task_log_message.id IS '主键'; +COMMENT ON COLUMN retry_task_log_message.namespace_id IS '命名空间'; +COMMENT ON COLUMN retry_task_log_message.group_name IS '组名称'; +COMMENT ON COLUMN retry_task_log_message.unique_id IS '同组下id唯一'; +COMMENT ON COLUMN retry_task_log_message.create_dt IS '创建时间'; +COMMENT ON COLUMN retry_task_log_message.message IS '异常信息'; +COMMENT ON COLUMN retry_task_log_message.log_num IS '日志数量'; +COMMENT ON COLUMN retry_task_log_message.real_time IS '上报时间'; + +-- er_scene_config +CREATE TABLE er_scene_config +( + id NUMBER GENERATED ALWAYS AS IDENTITY, + namespace_id VARCHAR2(64) DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', + scene_name VARCHAR2(64) NOT NULL, + group_name VARCHAR2(64) NOT NULL, + scene_status SMALLINT DEFAULT 0, + max_retry_count INT DEFAULT 5, + back_off SMALLINT DEFAULT 1, + trigger_interval VARCHAR2(16) DEFAULT '', + deadline_request NUMBER(20) DEFAULT 60000, + route_key SMALLINT DEFAULT 4, + executor_timeout INT DEFAULT 5, + description VARCHAR2(256) DEFAULT '', + create_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP, + update_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP +); + +CREATE UNIQUE INDEX uk_scene_config_1 ON scene_config (namespace_id, group_name, scene_name); + +COMMENT ON TABLE scene_config IS '场景配置'; +COMMENT ON COLUMN scene_config.id IS '主键'; +COMMENT ON COLUMN scene_config.namespace_id IS '命名空间id'; +COMMENT ON COLUMN scene_config.scene_name IS '场景名称'; +COMMENT ON COLUMN scene_config.group_name IS '组名称'; +COMMENT ON COLUMN scene_config.scene_status IS '组状态 0、未启用 1、启用'; +COMMENT ON COLUMN scene_config.max_retry_count IS '最大重试次数'; +COMMENT ON COLUMN scene_config.back_off IS '1、默认等级 2、固定间隔时间 3、CRON 表达式'; +COMMENT ON COLUMN scene_config.trigger_interval IS '间隔时长'; +COMMENT ON COLUMN scene_config.deadline_request IS 'Deadline Request 调用链超时 单位毫秒'; +COMMENT ON COLUMN scene_config.description IS '描述'; +COMMENT ON COLUMN scene_config.route_key IS '路由策略'; +COMMENT ON COLUMN scene_config.executor_timeout IS '超时时间'; +COMMENT ON COLUMN scene_config.create_dt IS '创建时间'; +COMMENT ON COLUMN scene_config.update_dt IS '修改时间'; + +-- er_server_node +CREATE TABLE er_server_node +( + id NUMBER GENERATED ALWAYS AS IDENTITY, + namespace_id VARCHAR2(64) DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', + group_name VARCHAR2(64) NOT NULL, + host_id VARCHAR2(64) NOT NULL, + host_ip VARCHAR2(64) NOT NULL, + context_path VARCHAR2(256) DEFAULT '/', + host_port INT NOT NULL, + expire_at TIMESTAMP NOT NULL, + node_type SMALLINT NOT NULL, + ext_attrs VARCHAR2(256) DEFAULT '', + create_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP, + update_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP +); + +CREATE UNIQUE INDEX uk_server_node_1 ON server_node (host_id, host_ip); +CREATE INDEX idx_server_node_1 ON server_node (expire_at, node_type); +CREATE INDEX idx_server_node_2 ON server_node (namespace_id, group_name); + +COMMENT ON TABLE server_node IS '服务器节点'; +COMMENT ON COLUMN server_node.id IS '主键'; +COMMENT ON COLUMN server_node.group_name IS '组名称'; +COMMENT ON COLUMN server_node.namespace_id IS '命名空间id'; +COMMENT ON COLUMN server_node.host_id IS '主机id'; +COMMENT ON COLUMN server_node.host_ip IS '机器ip'; +COMMENT ON COLUMN server_node.context_path IS '客户端上下文路径 server.servlet.context-path'; +COMMENT ON COLUMN server_node.host_port IS '机器端口'; +COMMENT ON COLUMN server_node.expire_at IS '过期时间'; +COMMENT ON COLUMN server_node.node_type IS '节点类型 1、客户端 2、是服务端'; +COMMENT ON COLUMN server_node.ext_attrs IS '扩展字段'; +COMMENT ON COLUMN server_node.create_dt IS '创建时间'; +COMMENT ON COLUMN server_node.update_dt IS '修改时间'; + +-- er_distributed_lock +CREATE TABLE er_distributed_lock +( + id NUMBER GENERATED ALWAYS AS IDENTITY, + name VARCHAR2(64) NOT NULL, + lock_until TIMESTAMP DEFAULT CURRENT_TIMESTAMP, + locked_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, + locked_by VARCHAR2(255) NOT NULL, + create_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP, + update_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP +); + +ALTER TABLE distributed_lock + ADD CONSTRAINT uk_name_distributed_lock UNIQUE (name); + +COMMENT ON TABLE distributed_lock IS '锁定表'; +COMMENT ON COLUMN distributed_lock.id IS '主键'; +COMMENT ON COLUMN distributed_lock.name IS '锁名称'; +COMMENT ON COLUMN distributed_lock.lock_until IS '锁定时长'; +COMMENT ON COLUMN distributed_lock.locked_at IS '锁定时间'; +COMMENT ON COLUMN distributed_lock.locked_by IS '锁定者'; +COMMENT ON COLUMN distributed_lock.create_dt IS '创建时间'; +COMMENT ON COLUMN distributed_lock.update_dt IS '修改时间'; + +-- er_system_user +CREATE TABLE er_system_user +( + id NUMBER GENERATED ALWAYS AS IDENTITY, + username VARCHAR2(64) NOT NULL, + password VARCHAR2(128) NOT NULL, + role SMALLINT DEFAULT 0, + create_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP, + update_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP +); + +CREATE UNIQUE INDEX uk_system_user_1 ON system_user (username); + +COMMENT ON TABLE system_user IS '系统用户表'; +COMMENT ON COLUMN system_user.id IS '主键'; +COMMENT ON COLUMN system_user.username IS '账号'; +COMMENT ON COLUMN system_user.password IS '密码'; +COMMENT ON COLUMN system_user.role IS '角色:1-普通用户、2-管理员'; +COMMENT ON COLUMN system_user.create_dt IS '创建时间'; +COMMENT ON COLUMN system_user.update_dt IS '修改时间'; + +-- er_pwd: admin +INSERT INTO er_system_user VALUES (1, 'admin', '465c194afb65670f38322df087f0a9bb225cc257e43eb4ac5a0c98ef5b3173ac', 2, sysdate, sysdate); + +-- er_system_user_permission +CREATE TABLE er_system_user_permission +( + id NUMBER GENERATED ALWAYS AS IDENTITY, + namespace_id VARCHAR2(64) DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', + group_name VARCHAR2(64) NOT NULL, + system_user_id NUMBER(20) NOT NULL, + create_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP, + update_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP +); + +CREATE UNIQUE INDEX uk_system_user_permission_1 ON system_user_permission (namespace_id, group_name, system_user_id); + +COMMENT ON TABLE system_user_permission IS '系统用户权限表'; +COMMENT ON COLUMN system_user_permission.id IS '主键'; +COMMENT ON COLUMN system_user_permission.namespace_id IS '命名空间id'; +COMMENT ON COLUMN system_user_permission.group_name IS '组名称'; +COMMENT ON COLUMN system_user_permission.system_user_id IS '系统用户id'; +COMMENT ON COLUMN system_user_permission.create_dt IS '创建时间'; +COMMENT ON COLUMN system_user_permission.update_dt IS '修改时间'; + +-- er_sequence_alloc +CREATE TABLE er_sequence_alloc +( + id NUMBER GENERATED ALWAYS AS IDENTITY, + namespace_id VARCHAR2(64) DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', + group_name VARCHAR2(64) DEFAULT '', + max_id NUMBER(20) DEFAULT 1, + step INT DEFAULT 100, + update_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP +); + +CREATE UNIQUE INDEX uk_sequence_alloc_1 ON sequence_alloc (namespace_id, group_name); + +COMMENT ON TABLE sequence_alloc IS '号段模式序号ID分配表'; +COMMENT ON COLUMN sequence_alloc.id IS '主键'; +COMMENT ON COLUMN sequence_alloc.namespace_id IS '命名空间id'; +COMMENT ON COLUMN sequence_alloc.group_name IS '组名称'; +COMMENT ON COLUMN sequence_alloc.max_id IS '最大id'; +COMMENT ON COLUMN sequence_alloc.step IS '步长'; +COMMENT ON COLUMN sequence_alloc.update_dt IS '更新时间'; + +-- er_job +CREATE TABLE er_job +( + id NUMBER GENERATED ALWAYS AS IDENTITY, + namespace_id VARCHAR2(64) DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', + group_name VARCHAR2(64) NOT NULL, + job_name VARCHAR2(64) NOT NULL, + args_str CLOB DEFAULT '', + args_type SMALLINT DEFAULT 1, + next_trigger_at NUMBER(20) NOT NULL, + job_status SMALLINT DEFAULT 1, + task_type SMALLINT DEFAULT 1, + route_key SMALLINT DEFAULT 4, + executor_type SMALLINT DEFAULT 1, + executor_info VARCHAR2(255) DEFAULT NULL, + trigger_type SMALLINT NOT NULL, + trigger_interval VARCHAR2(255) NOT NULL, + block_strategy SMALLINT DEFAULT 1, + executor_timeout INT DEFAULT 0, + max_retry_times INT DEFAULT 0, + parallel_num INT DEFAULT 1, + retry_interval INT DEFAULT 0, + bucket_index INT DEFAULT 0, + resident SMALLINT DEFAULT 0, + description VARCHAR2(256) DEFAULT '', + ext_attrs VARCHAR2(256) DEFAULT '', + create_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP, + update_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP, + deleted SMALLINT DEFAULT 0 +); + +CREATE INDEX idx_job_1 ON job (namespace_id, group_name); +CREATE INDEX idx_job_2 ON job (job_status, bucket_index); +CREATE INDEX idx_job_3 ON job (create_dt); + +COMMENT ON TABLE job IS '任务信息'; +COMMENT ON COLUMN job.id IS '主键'; +COMMENT ON COLUMN job.namespace_id IS '命名空间id'; +COMMENT ON COLUMN job.group_name IS '组名称'; +COMMENT ON COLUMN job.job_name IS '名称'; +COMMENT ON COLUMN job.args_str IS '执行方法参数'; +COMMENT ON COLUMN job.args_type IS '参数类型'; +COMMENT ON COLUMN job.next_trigger_at IS '下次触发时间'; +COMMENT ON COLUMN job.job_status IS '重试状态 0、关闭、1、开启'; +COMMENT ON COLUMN job.task_type IS '任务类型 1、集群 2、广播 3、切片'; +COMMENT ON COLUMN job.route_key IS '路由策略'; +COMMENT ON COLUMN job.executor_type IS '执行器类型'; +COMMENT ON COLUMN job.executor_info IS '执行器名称'; +COMMENT ON COLUMN job.trigger_type IS '触发类型 1.CRON 表达式 2. 固定时间'; +COMMENT ON COLUMN job.trigger_interval IS '间隔时长'; +COMMENT ON COLUMN job.block_strategy IS '阻塞策略 1、丢弃 2、覆盖 3、并行'; +COMMENT ON COLUMN job.executor_timeout IS '任务执行超时时间,单位秒'; +COMMENT ON COLUMN job.max_retry_times IS '最大重试次数'; +COMMENT ON COLUMN job.parallel_num IS '并行数'; +COMMENT ON COLUMN job.retry_interval IS '更新重试间隔(s)'; +COMMENT ON COLUMN job.bucket_index IS 'bucket'; +COMMENT ON COLUMN job.resident IS '是否是常驻任务'; +COMMENT ON COLUMN job.description IS '描述'; +COMMENT ON COLUMN job.ext_attrs IS '扩展字段'; +COMMENT ON COLUMN job.create_dt IS '创建时间'; +COMMENT ON COLUMN job.deleted IS '逻辑删除 1、删除'; +COMMENT ON COLUMN job.update_dt IS '更新时间'; + +-- er_job_log_message +CREATE TABLE er_job_log_message +( + id NUMBER GENERATED ALWAYS AS IDENTITY, + namespace_id VARCHAR2(64) DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', + group_name VARCHAR2(64) NOT NULL, + job_id NUMBER(20) NOT NULL, + task_batch_id NUMBER(20) NOT NULL, + task_id NUMBER(20) NOT NULL, + message CLOB DEFAULT '', + log_num INT DEFAULT 1, + real_time NUMBER(20) DEFAULT 0, + ext_attrs VARCHAR2(256) DEFAULT '', + create_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP +); + +CREATE INDEX idx_job_log_message_1 ON job_log_message (namespace_id, group_name); +CREATE INDEX idx_job_log_message_2 ON job_log_message (task_batch_id, task_id); +CREATE INDEX idx_job_log_message_3 ON job_log_message (create_dt); + +COMMENT ON TABLE job_log_message IS '调度日志'; +COMMENT ON COLUMN job_log_message.id IS '主键'; +COMMENT ON COLUMN job_log_message.namespace_id IS '命名空间id'; +COMMENT ON COLUMN job_log_message.group_name IS '组名称'; +COMMENT ON COLUMN job_log_message.job_id IS '任务信息id'; +COMMENT ON COLUMN job_log_message.task_batch_id IS '任务批次id'; +COMMENT ON COLUMN job_log_message.task_id IS '调度任务id'; +COMMENT ON COLUMN job_log_message.message IS '调度信息'; +COMMENT ON COLUMN job_log_message.log_num IS '日志序号'; +COMMENT ON COLUMN job_log_message.real_time IS '实际时间'; +COMMENT ON COLUMN job_log_message.create_dt IS '创建时间'; +COMMENT ON COLUMN job_log_message.ext_attrs IS '扩展字段'; + +-- er_job_task +CREATE TABLE er_job_task +( + id NUMBER GENERATED ALWAYS AS IDENTITY, + namespace_id VARCHAR2(64) DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', + group_name VARCHAR2(64) NOT NULL, + job_id NUMBER(20) NOT NULL, + task_batch_id NUMBER(20) NOT NULL, + parent_id NUMBER(20) DEFAULT 0, + task_status SMALLINT DEFAULT 0, + retry_count INT DEFAULT 0, + client_info VARCHAR2(128) DEFAULT NULL, + result_message CLOB DEFAULT '', + args_str CLOB DEFAULT '', + args_type SMALLINT DEFAULT 1, + ext_attrs VARCHAR2(256) DEFAULT '', + create_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP, + update_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP +); + +CREATE INDEX idx_job_task_1 ON job_task (namespace_id, group_name); +CREATE INDEX idx_job_task_2 ON job_task (task_batch_id, task_status); +CREATE INDEX idx_job_task_3 ON job_task (create_dt); + +COMMENT ON TABLE job_task IS '任务实例'; +COMMENT ON COLUMN job_task.id IS '主键'; +COMMENT ON COLUMN job_task.namespace_id IS '命名空间id'; +COMMENT ON COLUMN job_task.group_name IS '组名称'; +COMMENT ON COLUMN job_task.job_id IS '任务信息id'; +COMMENT ON COLUMN job_task.task_batch_id IS '任务批次id'; +COMMENT ON COLUMN job_task.parent_id IS '父执行器id'; +COMMENT ON COLUMN job_task.task_status IS '执行的状态 0、失败 1、成功'; +COMMENT ON COLUMN job_task.retry_count IS '重试次数'; +COMMENT ON COLUMN job_task.client_info IS '客户端地址 clientId#ip:port'; +COMMENT ON COLUMN job_task.result_message IS '调度信息'; +COMMENT ON COLUMN job_task.args_str IS '执行方法参数'; +COMMENT ON COLUMN job_task.args_type IS '参数类型'; +COMMENT ON COLUMN job_task.create_dt IS '创建时间'; +COMMENT ON COLUMN job_task.update_dt IS '创建时间'; +COMMENT ON COLUMN job_task.ext_attrs IS '扩展字段'; + +-- er_job_task_batch +CREATE TABLE er_job_task_batch +( + id NUMBER GENERATED ALWAYS AS IDENTITY, + namespace_id VARCHAR2(64) DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', + group_name VARCHAR2(64) NOT NULL, + job_id NUMBER(20) NOT NULL, + workflow_node_id NUMBER(20) DEFAULT 0, + parent_workflow_node_id NUMBER(20) DEFAULT 0, + workflow_task_batch_id NUMBER(20) DEFAULT 0, + parent_id VARCHAR2(64) DEFAULT '', + task_batch_status SMALLINT DEFAULT 0, + operation_reason SMALLINT DEFAULT 0, + execution_at NUMBER(20) DEFAULT 0, + system_task_type SMALLINT DEFAULT 3, + ext_attrs VARCHAR2(256) DEFAULT '', + deleted SMALLINT DEFAULT 0, + create_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP, + update_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP +); + +CREATE INDEX idx_job_task_batch_1 ON job_task_batch (namespace_id, group_name); +CREATE INDEX idx_job_task_batch_2 ON job_task_batch (job_id, task_batch_status); +CREATE INDEX idx_job_task_batch_3 ON job_task_batch (create_dt); +CREATE INDEX idx_job_task_batch_4 ON job_task_batch (workflow_task_batch_id, workflow_node_id); + +COMMENT ON TABLE job_task_batch IS '任务批次'; +COMMENT ON COLUMN job_task_batch.id IS '主键'; +COMMENT ON COLUMN job_task_batch.namespace_id IS '命名空间id'; +COMMENT ON COLUMN job_task_batch.group_name IS '组名称'; +COMMENT ON COLUMN job_task_batch.job_id IS '任务信息id'; +COMMENT ON COLUMN job_task_batch.task_batch_status IS '任务批次状态 0、失败 1、成功'; +COMMENT ON COLUMN job_task_batch.operation_reason IS '操作原因'; +COMMENT ON COLUMN job_task_batch.workflow_node_id IS '工作流节点id'; +COMMENT ON COLUMN job_task_batch.parent_workflow_node_id IS '父节点'; +COMMENT ON COLUMN job_task_batch.workflow_task_batch_id IS '任务批次id'; +COMMENT ON COLUMN job_task_batch.system_task_type IS '任务类型 0、系统任务 1、业务任务'; +COMMENT ON COLUMN job_task_batch.execution_at IS '任务执行时间'; +COMMENT ON COLUMN job_task_batch.parent_id IS '父节点'; +COMMENT ON COLUMN job_task_batch.deleted IS '逻辑删除 1、删除'; +COMMENT ON COLUMN job_task_batch.create_dt IS '创建时间'; +COMMENT ON COLUMN job_task_batch.update_dt IS '创建时间'; +COMMENT ON COLUMN job_task_batch.ext_attrs IS '扩展字段'; + +CREATE TABLE er_job_notify_config +( + id NUMBER GENERATED ALWAYS AS IDENTITY, + namespace_id VARCHAR2(64) DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', + group_name VARCHAR2(64) NOT NULL, + job_id NUMBER(20) NOT NULL, + notify_status SMALLINT DEFAULT 0, + notify_type SMALLINT DEFAULT 0, + notify_attribute VARCHAR2(512) NOT NULL, + notify_threshold INT DEFAULT 0, + notify_scene SMALLINT DEFAULT 0, + rate_limiter_status SMALLINT DEFAULT 0, + rate_limiter_threshold INT DEFAULT 0, + description VARCHAR2(256) DEFAULT '', + create_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP, + update_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP +); + +CREATE INDEX idx_job_notify_config_1 ON job_notify_config (namespace_id, group_name, job_id); + +COMMENT ON TABLE job_notify_config IS '通知配置'; +COMMENT ON COLUMN job_notify_config.id IS '主键'; +COMMENT ON COLUMN job_notify_config.namespace_id IS '命名空间id'; +COMMENT ON COLUMN job_notify_config.group_name IS '组名称'; +COMMENT ON COLUMN job_notify_config.job_id IS '任务信息id'; +COMMENT ON COLUMN job_notify_config.notify_status IS '通知状态 0、未启用 1、启用'; +COMMENT ON COLUMN job_notify_config.notify_type IS '通知类型 1、钉钉 2、邮件 3、企业微信'; +COMMENT ON COLUMN job_notify_config.notify_attribute IS '配置属性'; +COMMENT ON COLUMN job_notify_config.notify_threshold IS '通知阈值'; +COMMENT ON COLUMN job_notify_config.notify_scene IS '通知场景'; +COMMENT ON COLUMN job_notify_config.rate_limiter_status IS '限流状态 0、未启用 1、启用'; +COMMENT ON COLUMN job_notify_config.rate_limiter_threshold IS '每秒限流阈值'; +COMMENT ON COLUMN job_notify_config.description IS '描述'; +COMMENT ON COLUMN job_notify_config.create_dt IS '创建时间'; +COMMENT ON COLUMN job_notify_config.update_dt IS '修改时间'; + +-- er_retry_summary +CREATE TABLE er_retry_summary +( + id NUMBER GENERATED ALWAYS AS IDENTITY, + namespace_id VARCHAR2(64) DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', + group_name VARCHAR2(64) DEFAULT '', + scene_name VARCHAR2(50) DEFAULT '', + trigger_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, + running_num INT DEFAULT 0, + finish_num INT DEFAULT 0, + max_count_num INT DEFAULT 0, + suspend_num INT DEFAULT 0, + create_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP, + update_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP +); + +CREATE UNIQUE INDEX uk_retry_summary_1 ON retry_summary (namespace_id, group_name, scene_name, trigger_at); + +COMMENT ON TABLE retry_summary IS 'DashBoard_Retry'; +COMMENT ON COLUMN retry_summary.id IS '主键'; +COMMENT ON COLUMN retry_summary.namespace_id IS '命名空间id'; +COMMENT ON COLUMN retry_summary.group_name IS '组名称'; +COMMENT ON COLUMN retry_summary.scene_name IS '场景名称'; +COMMENT ON COLUMN retry_summary.trigger_at IS '统计时间'; +COMMENT ON COLUMN retry_summary.running_num IS '重试中-日志数量'; +COMMENT ON COLUMN retry_summary.finish_num IS '重试完成-日志数量'; +COMMENT ON COLUMN retry_summary.max_count_num IS '重试到达最大次数-日志数量'; +COMMENT ON COLUMN retry_summary.suspend_num IS '暂停重试-日志数量'; +COMMENT ON COLUMN retry_summary.create_dt IS '创建时间'; +COMMENT ON COLUMN retry_summary.update_dt IS '修改时间'; + +-- er_job_summary +CREATE TABLE er_job_summary +( + id NUMBER GENERATED ALWAYS AS IDENTITY, + namespace_id VARCHAR2(64) DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', + group_name VARCHAR2(64) DEFAULT '', + business_id NUMBER(20) NOT NULL, + system_task_type SMALLINT DEFAULT '3', + trigger_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, + success_num INT DEFAULT 0, + fail_num INT DEFAULT 0, + fail_reason VARCHAR2(512) DEFAULT '', + stop_num INT DEFAULT 0, + stop_reason VARCHAR2(512) DEFAULT '', + cancel_num INT DEFAULT 0, + cancel_reason VARCHAR2(512) DEFAULT '', + create_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP, + update_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP +); + +CREATE UNIQUE INDEX uk_job_summary_1 ON job_summary (trigger_at, system_task_type, business_id); +CREATE INDEX idx_job_summary_1 ON job_summary (namespace_id, group_name, business_id); + +COMMENT ON TABLE job_summary IS 'DashBoard_Job'; +COMMENT ON COLUMN job_summary.id IS '主键'; +COMMENT ON COLUMN job_summary.namespace_id IS '命名空间id'; +COMMENT ON COLUMN job_summary.group_name IS '组名称'; +COMMENT ON COLUMN job_summary.business_id IS '业务id (job_id或workflow_id)'; +COMMENT ON COLUMN job_summary.system_task_type IS '任务类型 3、JOB任务 4、WORKFLOW任务'; +COMMENT ON COLUMN job_summary.trigger_at IS '统计时间'; +COMMENT ON COLUMN job_summary.success_num IS '执行成功-日志数量'; +COMMENT ON COLUMN job_summary.fail_num IS '执行失败-日志数量'; +COMMENT ON COLUMN job_summary.fail_reason IS '失败原因'; +COMMENT ON COLUMN job_summary.stop_num IS '执行失败-日志数量'; +COMMENT ON COLUMN job_summary.stop_reason IS '失败原因'; +COMMENT ON COLUMN job_summary.cancel_num IS '执行失败-日志数量'; +COMMENT ON COLUMN job_summary.cancel_reason IS '失败原因'; + +-- er_workflow +CREATE TABLE er_workflow +( + id NUMBER GENERATED ALWAYS AS IDENTITY, + workflow_name VARCHAR2(64) NOT NULL, + namespace_id VARCHAR2(64) DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', + group_name VARCHAR2(64) NOT NULL, + workflow_status SMALLINT DEFAULT 1, + trigger_type SMALLINT NOT NULL, + trigger_interval VARCHAR2(255) NOT NULL, + next_trigger_at NUMBER(20) NOT NULL, + block_strategy SMALLINT DEFAULT 1, + executor_timeout INT DEFAULT 0, + description VARCHAR2(256) DEFAULT '', + flow_info CLOB DEFAULT '', + bucket_index INT DEFAULT 0, + version INT NOT NULL, + create_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP, + update_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP, + deleted SMALLINT DEFAULT 0, + ext_attrs VARCHAR2(256) DEFAULT '' +); + +CREATE INDEX idx_workflow_1 ON workflow (create_dt); +CREATE INDEX idx_workflow_2 ON workflow (namespace_id, group_name); + +COMMENT ON TABLE workflow IS '工作流'; +COMMENT ON COLUMN workflow.id IS '主键'; +COMMENT ON COLUMN workflow.workflow_name IS '工作流名称'; +COMMENT ON COLUMN workflow.namespace_id IS '命名空间id'; +COMMENT ON COLUMN workflow.group_name IS '组名称'; +COMMENT ON COLUMN workflow.workflow_status IS '工作流状态 0、关闭、1、开启'; +COMMENT ON COLUMN workflow.trigger_type IS '触发类型 1.CRON 表达式 2. 固定时间'; +COMMENT ON COLUMN workflow.trigger_interval IS '间隔时长'; +COMMENT ON COLUMN workflow.next_trigger_at IS '下次触发时间'; +COMMENT ON COLUMN workflow.block_strategy IS '阻塞策略 1、丢弃 2、覆盖 3、并行'; +COMMENT ON COLUMN workflow.executor_timeout IS '任务执行超时时间,单位秒'; +COMMENT ON COLUMN workflow.description IS '描述'; +COMMENT ON COLUMN workflow.flow_info IS '流程信息'; +COMMENT ON COLUMN workflow.bucket_index IS 'bucket'; +COMMENT ON COLUMN workflow.version IS '版本号'; +COMMENT ON COLUMN workflow.create_dt IS '创建时间'; +COMMENT ON COLUMN workflow.update_dt IS '修改时间'; +COMMENT ON COLUMN workflow.deleted IS '逻辑删除 1、删除'; +COMMENT ON COLUMN workflow.ext_attrs IS '扩展字段'; + +-- er_workflow_node +CREATE TABLE er_workflow_node +( + id NUMBER GENERATED ALWAYS AS IDENTITY, + namespace_id VARCHAR2(64) DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', + node_name VARCHAR2(64) NOT NULL, + group_name VARCHAR2(64) NOT NULL, + job_id NUMBER(20) NOT NULL, + workflow_id NUMBER(20) NOT NULL, + node_type SMALLINT DEFAULT 1, + expression_type SMALLINT DEFAULT 0, + fail_strategy SMALLINT DEFAULT 1, + workflow_node_status SMALLINT DEFAULT 1, + priority_level INT DEFAULT 1, + node_info CLOB DEFAULT '', + version INT NOT NULL, + create_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP, + update_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP, + deleted SMALLINT DEFAULT 0, + ext_attrs VARCHAR2(256) DEFAULT '' +); + +CREATE INDEX idx_workflow_node_1 ON workflow_node (create_dt); +CREATE INDEX idx_workflow_node_2 ON workflow_node (namespace_id, group_name); + +COMMENT ON TABLE workflow_node IS '工作流节点'; +COMMENT ON COLUMN workflow_node.id IS '主键'; +COMMENT ON COLUMN workflow_node.namespace_id IS '命名空间id'; +COMMENT ON COLUMN workflow_node.node_name IS '节点名称'; +COMMENT ON COLUMN workflow_node.group_name IS '组名称'; +COMMENT ON COLUMN workflow_node.job_id IS '任务信息id'; +COMMENT ON COLUMN workflow_node.workflow_id IS '工作流ID'; +COMMENT ON COLUMN workflow_node.node_type IS '1、任务节点 2、条件节点'; +COMMENT ON COLUMN workflow_node.expression_type IS '1、SpEl、2、Aviator 3、QL'; +COMMENT ON COLUMN workflow_node.fail_strategy IS '失败策略 1、跳过 2、阻塞'; +COMMENT ON COLUMN workflow_node.workflow_node_status IS '工作流节点状态 0、关闭、1、开启'; +COMMENT ON COLUMN workflow_node.priority_level IS '优先级'; +COMMENT ON COLUMN workflow_node.node_info IS '节点信息'; +COMMENT ON COLUMN workflow_node.version IS '版本号'; +COMMENT ON COLUMN workflow_node.create_dt IS '创建时间'; +COMMENT ON COLUMN workflow_node.update_dt IS '修改时间'; +COMMENT ON COLUMN workflow_node.deleted IS '逻辑删除 1、删除'; +COMMENT ON COLUMN workflow_node.ext_attrs IS '扩展字段'; + +-- er_workflow_task_batch +CREATE TABLE er_workflow_task_batch +( + id NUMBER GENERATED ALWAYS AS IDENTITY, + namespace_id VARCHAR2(64) DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', + group_name VARCHAR2(64) NOT NULL, + workflow_id NUMBER(20) NOT NULL, + task_batch_status SMALLINT DEFAULT 0, + operation_reason SMALLINT DEFAULT 0, + flow_info CLOB DEFAULT '', + execution_at NUMBER(20) DEFAULT 0, + create_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP, + update_dt TIMESTAMP DEFAULT CURRENT_TIMESTAMP, + deleted SMALLINT DEFAULT 0, + ext_attrs VARCHAR2(256) DEFAULT '' +); + +CREATE INDEX idx_workflow_task_batch_1 ON workflow_task_batch (workflow_id, task_batch_status); +CREATE INDEX idx_workflow_task_batch_2 ON workflow_task_batch (create_dt); +CREATE INDEX idx_workflow_task_batch_3 ON workflow_task_batch (namespace_id, group_name); + +COMMENT ON TABLE workflow_task_batch IS '工作流批次'; +COMMENT ON COLUMN workflow_task_batch.id IS '主键'; +COMMENT ON COLUMN workflow_task_batch.namespace_id IS '命名空间id'; +COMMENT ON COLUMN workflow_task_batch.group_name IS '组名称'; +COMMENT ON COLUMN workflow_task_batch.workflow_id IS '工作流任务id'; +COMMENT ON COLUMN workflow_task_batch.task_batch_status IS '任务批次状态 0、失败 1、成功'; +COMMENT ON COLUMN workflow_task_batch.operation_reason IS '操作原因'; +COMMENT ON COLUMN workflow_task_batch.flow_info IS '流程信息'; +COMMENT ON COLUMN workflow_task_batch.execution_at IS '任务执行时间'; +COMMENT ON COLUMN workflow_task_batch.create_dt IS '创建时间'; +COMMENT ON COLUMN workflow_task_batch.update_dt IS '修改时间'; +COMMENT ON COLUMN workflow_task_batch.deleted IS '逻辑删除 1、删除'; +COMMENT ON COLUMN workflow_task_batch.ext_attrs IS '扩展字段'; diff --git a/script/sql/postgres/easy_retry.sql b/script/sql/postgres/easy_retry.sql deleted file mode 100644 index fa0a07ede..000000000 --- a/script/sql/postgres/easy_retry.sql +++ /dev/null @@ -1,800 +0,0 @@ --- PostgreSQL DDL - -CREATE TABLE namespace -( - id BIGSERIAL PRIMARY KEY, - name VARCHAR(64) NOT NULL, - unique_id VARCHAR(64) NOT NULL, - description VARCHAR(256) NOT NULL DEFAULT '', - create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, - update_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, - deleted SMALLINT NOT NULL DEFAULT 0 -); - -CREATE UNIQUE INDEX uk_namespace_unique_id ON "namespace" (unique_id); - -COMMENT ON COLUMN namespace.id IS '主键'; -COMMENT ON COLUMN namespace.name IS '名称'; -COMMENT ON COLUMN namespace.unique_id IS '唯一id'; -COMMENT ON COLUMN namespace.description IS '描述'; -COMMENT ON COLUMN namespace.create_dt IS '创建时间'; -COMMENT ON COLUMN namespace.update_dt IS '修改时间'; -COMMENT ON COLUMN namespace.deleted IS '逻辑删除 1、删除'; -COMMENT ON TABLE namespace IS '命名空间'; - -INSERT INTO namespace VALUES (1, 'Development', 'dev', '', now(), now(), 0); -INSERT INTO namespace VALUES (2, 'Production', 'prod', '', now(), now(), 0); - -CREATE TABLE group_config -( - id BIGSERIAL PRIMARY KEY, - namespace_id VARCHAR(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', - group_name VARCHAR(64) NOT NULL, - description VARCHAR(256) NOT NULL, - group_status SMALLINT NOT NULL DEFAULT 0, - version INT NOT NULL, - group_partition INT NOT NULL, - id_generator_mode SMALLINT NOT NULL DEFAULT 1, - init_scene SMALLINT NOT NULL DEFAULT 0, - bucket_index INT NOT NULL DEFAULT 0, - create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, - update_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP -); - -CREATE UNIQUE INDEX "uk_namespace_id_group_name_group_config" ON "group_config" ("namespace_id", "group_name"); - -COMMENT ON COLUMN "group_config"."id" IS '主键'; -COMMENT ON COLUMN "group_config"."namespace_id" IS '命名空间'; -COMMENT ON COLUMN "group_config"."group_name" IS '组名称'; -COMMENT ON COLUMN "group_config"."description" IS '组描述'; -COMMENT ON COLUMN "group_config"."group_status" IS '组状态 0、未启用 1、启用'; -COMMENT ON COLUMN "group_config"."version" IS '版本号'; -COMMENT ON COLUMN "group_config"."group_partition" IS '分区'; -COMMENT ON COLUMN "group_config"."id_generator_mode" IS '唯一id生成模式 默认号段模式'; -COMMENT ON COLUMN "group_config"."init_scene" IS '是否初始化场景 0:否 1:是'; -COMMENT ON COLUMN "group_config"."bucket_index" IS 'bucket'; -COMMENT ON COLUMN "group_config"."create_dt" IS '创建时间'; -COMMENT ON COLUMN "group_config"."update_dt" IS '修改时间'; -COMMENT ON TABLE "group_config" IS '组配置'; - -INSERT INTO group_config VALUES (1, 'dev', 'ruoyi_group', '', 1, 1, 0, 1, 1, 4, now(), now()); - -CREATE TABLE notify_config -( - id BIGSERIAL PRIMARY KEY, - namespace_id VARCHAR(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', - group_name VARCHAR(64) NOT NULL, - scene_name VARCHAR(64) NOT NULL, - notify_status SMALLINT NOT NULL DEFAULT 0, - notify_type SMALLINT NOT NULL DEFAULT 0, - notify_attribute VARCHAR(512) NOT NULL, - notify_threshold INT NOT NULL DEFAULT 0, - notify_scene SMALLINT NOT NULL DEFAULT 0, - rate_limiter_status SMALLINT NOT NULL DEFAULT 0, - rate_limiter_threshold INT NOT NULL DEFAULT 0, - description VARCHAR(256) NOT NULL DEFAULT '', - create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, - update_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP -); - -CREATE INDEX idx_namespace_id_group_name ON notify_config (namespace_id, group_name); - -COMMENT ON COLUMN "notify_config"."id" IS '主键'; -COMMENT ON COLUMN "notify_config"."group_name" IS '组名称'; -COMMENT ON COLUMN "notify_config"."namespace_id" IS '命名空间id'; -COMMENT ON COLUMN "notify_config"."scene_name" IS '场景名称'; -COMMENT ON COLUMN "notify_config"."notify_status" IS '通知状态 0、未启用 1、启用'; -COMMENT ON COLUMN "notify_config"."notify_type" IS '通知类型 1、钉钉 2、邮件 3、企业微信'; -COMMENT ON COLUMN "notify_config"."notify_attribute" IS '配置属性'; -COMMENT ON COLUMN "notify_config"."notify_threshold" IS '通知阈值'; -COMMENT ON COLUMN "notify_config"."notify_scene" IS '通知场景'; -COMMENT ON COLUMN "notify_config"."rate_limiter_status" IS '限流状态 0、未启用 1、启用'; -COMMENT ON COLUMN "notify_config"."rate_limiter_threshold" IS '每秒限流阈值'; -COMMENT ON COLUMN "notify_config"."description" IS '描述'; -COMMENT ON COLUMN "notify_config"."create_dt" IS '创建时间'; -COMMENT ON COLUMN "notify_config"."update_dt" IS '修改时间'; -COMMENT ON TABLE "notify_config" IS '通知配置'; - - -CREATE TABLE retry_dead_letter_0 -( - id BIGSERIAL PRIMARY KEY, - unique_id VARCHAR(64) NOT NULL, - namespace_id VARCHAR(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', - group_name VARCHAR(64) NOT NULL, - scene_name VARCHAR(64) NOT NULL, - idempotent_id VARCHAR(64) NOT NULL, - biz_no VARCHAR(64) NOT NULL DEFAULT '', - executor_name VARCHAR(512) NOT NULL DEFAULT '', - args_str TEXT NOT NULL, - ext_attrs TEXT NOT NULL, - task_type SMALLINT NOT NULL DEFAULT 1, - create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP -); - -CREATE UNIQUE INDEX "uk_namespace_id_group_name_unique_id_retry_dead_letter" ON "retry_dead_letter_0" ("namespace_id", "group_name", "unique_id"); -CREATE INDEX "idx_namespace_id_group_name_scene_name_retry_dead_letter" ON "retry_dead_letter_0" ("namespace_id", "group_name", "scene_name"); -CREATE INDEX "idx_idempotent_id_retry_dead_letter" ON "retry_dead_letter_0" ("idempotent_id"); -CREATE INDEX "idx_biz_no_retry_dead_letter" ON "retry_dead_letter_0" ("biz_no"); -CREATE INDEX "idx_create_dt_retry_dead_letter" ON "retry_dead_letter_0" ("create_dt"); - -COMMENT ON COLUMN "retry_dead_letter_0"."id" IS '主键'; -COMMENT ON COLUMN "retry_dead_letter_0"."unique_id" IS '同组下id唯一'; -COMMENT ON COLUMN "retry_dead_letter_0"."namespace_id" IS '命名空间id'; -COMMENT ON COLUMN "retry_dead_letter_0"."group_name" IS '组名称'; -COMMENT ON COLUMN "retry_dead_letter_0"."scene_name" IS '场景名称'; -COMMENT ON COLUMN "retry_dead_letter_0"."idempotent_id" IS '幂等id'; -COMMENT ON COLUMN "retry_dead_letter_0"."biz_no" IS '业务编号'; -COMMENT ON COLUMN "retry_dead_letter_0"."executor_name" IS '执行器名称'; -COMMENT ON COLUMN "retry_dead_letter_0"."args_str" IS '执行方法参数'; -COMMENT ON COLUMN "retry_dead_letter_0"."ext_attrs" IS '扩展字段'; -COMMENT ON COLUMN "retry_dead_letter_0"."task_type" IS '任务类型 1、重试数据 2、回调数据'; -COMMENT ON COLUMN "retry_dead_letter_0"."create_dt" IS '创建时间'; -COMMENT ON TABLE "retry_dead_letter_0" IS '死信队列表'; - -CREATE TABLE retry_task_0 -( - id BIGSERIAL PRIMARY KEY, - unique_id VARCHAR(64) NOT NULL, - namespace_id VARCHAR(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', - group_name VARCHAR(64) NOT NULL, - scene_name VARCHAR(64) NOT NULL, - idempotent_id VARCHAR(64) NOT NULL, - biz_no VARCHAR(64) NOT NULL DEFAULT '', - executor_name VARCHAR(512) NOT NULL DEFAULT '', - args_str TEXT NOT NULL, - ext_attrs TEXT NOT NULL, - next_trigger_at TIMESTAMP NOT NULL, - retry_count INT NOT NULL DEFAULT 0, - retry_status SMALLINT NOT NULL DEFAULT 0, - task_type SMALLINT NOT NULL DEFAULT 1, - create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, - update_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP -); - -CREATE UNIQUE INDEX "uk_name_unique_id_retry_task" ON "retry_task_0" ("namespace_id", "group_name", "unique_id"); -CREATE INDEX "idx_namespace_id_group_name_scene_name_retry_task" ON "retry_task_0" ("namespace_id", "group_name", "scene_name"); -CREATE INDEX "idx_namespace_id_group_name_retry_status_retry_task" ON "retry_task_0" (namespace_id, group_name, "retry_status"); -CREATE INDEX "idx_idempotent_id_retry_task" ON "retry_task_0" ("idempotent_id"); -CREATE INDEX "idx_biz_no_retry_task" ON "retry_task_0" ("biz_no"); -CREATE INDEX "idx_create_dt_retry_task" ON "retry_task_0" ("create_dt"); - -COMMENT ON COLUMN "retry_task_0"."id" IS '主键'; -COMMENT ON COLUMN "retry_task_0"."unique_id" IS '同组下id唯一'; -COMMENT ON COLUMN "retry_task_0"."namespace_id" IS '命名空间id'; -COMMENT ON COLUMN "retry_task_0"."group_name" IS '组名称'; -COMMENT ON COLUMN "retry_task_0"."scene_name" IS '场景名称'; -COMMENT ON COLUMN "retry_task_0"."idempotent_id" IS '幂等id'; -COMMENT ON COLUMN "retry_task_0"."biz_no" IS '业务编号'; -COMMENT ON COLUMN "retry_task_0"."executor_name" IS '执行器名称'; -COMMENT ON COLUMN "retry_task_0"."args_str" IS '执行方法参数'; -COMMENT ON COLUMN "retry_task_0"."ext_attrs" IS '扩展字段'; -COMMENT ON COLUMN "retry_task_0"."next_trigger_at" IS '下次触发时间'; -COMMENT ON COLUMN "retry_task_0"."retry_count" IS '重试次数'; -COMMENT ON COLUMN "retry_task_0"."retry_status" IS '重试状态 0、重试中 1、成功 2、最大重试次数'; -COMMENT ON COLUMN "retry_task_0"."task_type" IS '任务类型 1、重试数据 2、回调数据'; -COMMENT ON COLUMN "retry_task_0"."create_dt" IS '创建时间'; -COMMENT ON COLUMN "retry_task_0"."update_dt" IS '修改时间'; -COMMENT ON TABLE "retry_task_0" IS '任务表'; - -CREATE TABLE retry_task_log -( - id BIGSERIAL PRIMARY KEY, - unique_id VARCHAR(64) NOT NULL, - namespace_id VARCHAR(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', - group_name VARCHAR(64) NOT NULL, - scene_name VARCHAR(64) NOT NULL, - idempotent_id VARCHAR(64) NOT NULL, - biz_no VARCHAR(64) NOT NULL DEFAULT '', - executor_name VARCHAR(512) NOT NULL DEFAULT '', - args_str TEXT NOT NULL, - ext_attrs TEXT NOT NULL, - retry_status SMALLINT NOT NULL DEFAULT 0, - task_type SMALLINT NOT NULL DEFAULT 1, - create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP -); - -CREATE INDEX "idx_group_name_scene_name_retry_task_log" ON "retry_task_log" ("namespace_id", "group_name", "scene_name"); -CREATE INDEX "idx_retry_status_retry_task_log" ON "retry_task_log" ("retry_status"); -CREATE INDEX "idx_idempotent_id_retry_task_log" ON "retry_task_log" ("idempotent_id"); -CREATE INDEX "idx_unique_id" ON "retry_task_log" ("namespace_id", "group_name", "unique_id"); -CREATE INDEX "idx_biz_no_retry_task_log" ON "retry_task_log" ("biz_no"); -CREATE INDEX "idx_create_dt_retry_task_log" ON "retry_task_log" ("create_dt"); - -COMMENT ON COLUMN "retry_task_log"."id" IS '主键'; -COMMENT ON COLUMN "retry_task_log"."namespace_id" IS '命名空间id'; -COMMENT ON COLUMN "retry_task_log"."unique_id" IS '同组下id唯一'; -COMMENT ON COLUMN "retry_task_log"."group_name" IS '组名称'; -COMMENT ON COLUMN "retry_task_log"."scene_name" IS '场景名称'; -COMMENT ON COLUMN "retry_task_log"."idempotent_id" IS '幂等id'; -COMMENT ON COLUMN "retry_task_log"."biz_no" IS '业务编号'; -COMMENT ON COLUMN "retry_task_log"."executor_name" IS '执行器名称'; -COMMENT ON COLUMN "retry_task_log"."args_str" IS '执行方法参数'; -COMMENT ON COLUMN "retry_task_log"."ext_attrs" IS '扩展字段'; -COMMENT ON COLUMN "retry_task_log"."retry_status" IS '重试状态 0、重试中 1、成功 2、最大次数'; -COMMENT ON COLUMN "retry_task_log"."task_type" IS '任务类型 1、重试数据 2、回调数据'; -COMMENT ON COLUMN "retry_task_log"."create_dt" IS '创建时间'; -COMMENT ON TABLE "retry_task_log" IS '任务日志基础信息表'; - -CREATE TABLE retry_task_log_message -( - id BIGSERIAL PRIMARY KEY, - namespace_id VARCHAR(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', - group_name VARCHAR(64) NOT NULL, - unique_id VARCHAR(64) NOT NULL, - create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, - message TEXT NOT NULL, - client_info VARCHAR(128) DEFAULT NULL -); - -CREATE INDEX "idx_namespace_id_group_name_unique_id" ON "retry_task_log_message" ("namespace_id", "group_name", "unique_id"); -CREATE INDEX "idx_create_dt" ON "retry_task_log_message" ("create_dt"); -COMMENT ON COLUMN "retry_task_log_message"."id" IS '主键'; -COMMENT ON COLUMN "retry_task_log_message"."namespace_id" IS '命名空间'; -COMMENT ON COLUMN "retry_task_log_message"."group_name" IS '组名称'; -COMMENT ON COLUMN "retry_task_log_message"."unique_id" IS '同组下id唯一'; -COMMENT ON COLUMN "retry_task_log_message"."create_dt" IS '创建时间'; -COMMENT ON COLUMN "retry_task_log_message"."message" IS '异常信息'; -COMMENT ON COLUMN "retry_task_log_message"."client_info" IS '客户端地址 clientId#ip:port'; -COMMENT ON TABLE "retry_task_log_message" IS '任务调度日志信息记录表'; - -CREATE TABLE scene_config -( - id BIGSERIAL PRIMARY KEY, - namespace_id VARCHAR(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', - scene_name VARCHAR(64) NOT NULL, - group_name VARCHAR(64) NOT NULL, - scene_status SMALLINT NOT NULL DEFAULT 0, - max_retry_count INT NOT NULL DEFAULT 5, - back_off SMALLINT NOT NULL DEFAULT 1, - trigger_interval VARCHAR(16) NOT NULL DEFAULT '', - deadline_request BIGINT NOT NULL DEFAULT 60000, - route_key SMALLINT NOT NULL DEFAULT 4, - executor_timeout INT NOT NULL DEFAULT 5, - description VARCHAR(256) NOT NULL DEFAULT '', - create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, - update_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP -); - -CREATE UNIQUE INDEX "uk_namespace_id_group_name_scene_name" ON "scene_config" ("namespace_id", "group_name","scene_name"); -COMMENT ON COLUMN "scene_config"."id" IS '主键'; -COMMENT ON COLUMN "scene_config"."namespace_id" IS '命名空间id'; -COMMENT ON COLUMN "scene_config"."scene_name" IS '场景名称'; -COMMENT ON COLUMN "scene_config"."group_name" IS '组名称'; -COMMENT ON COLUMN "scene_config"."scene_status" IS '组状态 0、未启用 1、启用'; -COMMENT ON COLUMN "scene_config"."max_retry_count" IS '最大重试次数'; -COMMENT ON COLUMN "scene_config"."back_off" IS '1、默认等级 2、固定间隔时间 3、CRON 表达式'; -COMMENT ON COLUMN "scene_config"."trigger_interval" IS '间隔时长'; -COMMENT ON COLUMN "scene_config"."deadline_request" IS 'Deadline Request 调用链超时 单位毫秒'; -COMMENT ON COLUMN "scene_config"."description" IS '描述'; -COMMENT ON COLUMN "scene_config"."route_key" IS '路由策略'; -COMMENT ON COLUMN "scene_config"."executor_timeout" IS '超时时间'; -COMMENT ON COLUMN "scene_config"."create_dt" IS '创建时间'; -COMMENT ON COLUMN "scene_config"."update_dt" IS '修改时间'; -COMMENT ON TABLE "scene_config" IS '场景配置'; - -CREATE TABLE server_node -( - id BIGSERIAL PRIMARY KEY, - namespace_id VARCHAR(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', - group_name VARCHAR(64) NOT NULL, - host_id VARCHAR(64) NOT NULL, - host_ip VARCHAR(64) NOT NULL, - context_path VARCHAR(256) NOT NULL DEFAULT '/', - host_port INT NOT NULL, - expire_at TIMESTAMP NOT NULL, - node_type SMALLINT NOT NULL, - ext_attrs VARCHAR(256) DEFAULT '', - create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, - update_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP -); - -CREATE UNIQUE INDEX "uk_host_id_host_ip" ON "server_node" ("host_id","host_ip"); -CREATE INDEX "idx_expire_at_node_type" ON "server_node" ("expire_at","node_type"); -CREATE INDEX "idx_namespace_id_group_name_server_node" ON "server_node" ("namespace_id", "group_name"); - -COMMENT ON COLUMN "server_node"."id" IS '主键'; -COMMENT ON COLUMN "server_node"."group_name" IS '组名称'; -COMMENT ON COLUMN "server_node"."namespace_id" IS '命名空间id'; -COMMENT ON COLUMN "server_node"."host_id" IS '主机id'; -COMMENT ON COLUMN "server_node"."host_ip" IS '机器ip'; -COMMENT ON COLUMN "server_node"."context_path" IS '客户端上下文路径 server.servlet.context-path'; -COMMENT ON COLUMN "server_node"."host_port" IS '机器端口'; -COMMENT ON COLUMN "server_node"."expire_at" IS '过期时间'; -COMMENT ON COLUMN "server_node"."node_type" IS '节点类型 1、客户端 2、是服务端'; -COMMENT ON COLUMN "server_node"."ext_attrs" IS '扩展字段'; -COMMENT ON COLUMN "server_node"."create_dt" IS '创建时间'; -COMMENT ON COLUMN "server_node"."update_dt" IS '修改时间'; -COMMENT ON TABLE "server_node" IS '服务器节点'; - -CREATE TABLE distributed_lock -( - id BIGSERIAL PRIMARY KEY, - name VARCHAR(64) NOT NULL, - lock_until TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, - locked_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, - locked_by VARCHAR(255) NOT NULL, - create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, - update_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP -); - -ALTER TABLE distributed_lock ADD CONSTRAINT uk_name UNIQUE (name); - -COMMENT ON COLUMN "distributed_lock"."id" IS '主键'; -COMMENT ON COLUMN "distributed_lock"."name" IS '锁名称'; -COMMENT ON COLUMN "distributed_lock"."lock_until" IS '锁定时长'; -COMMENT ON COLUMN "distributed_lock"."locked_at" IS '锁定时间'; -COMMENT ON COLUMN "distributed_lock"."locked_by" IS '锁定者'; -COMMENT ON COLUMN "distributed_lock"."create_dt" IS '创建时间'; -COMMENT ON COLUMN "distributed_lock"."update_dt" IS '修改时间'; -COMMENT ON TABLE "distributed_lock" IS '锁定表'; - - -CREATE TABLE system_user -( - id BIGSERIAL PRIMARY KEY, - username VARCHAR(64) NOT NULL, - password VARCHAR(128) NOT NULL, - role SMALLINT NOT NULL DEFAULT 0, - create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, - update_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP -); - -CREATE UNIQUE INDEX "uk_username" ON "system_user" ("username"); -COMMENT ON COLUMN "system_user"."id" IS '主键'; -COMMENT ON COLUMN "system_user"."username" IS '账号'; -COMMENT ON COLUMN "system_user"."password" IS '密码'; -COMMENT ON COLUMN "system_user"."role" IS '角色:1-普通用户、2-管理员'; -COMMENT ON COLUMN "system_user"."create_dt" IS '创建时间'; -COMMENT ON COLUMN "system_user"."update_dt" IS '修改时间'; -COMMENT ON TABLE "system_user" IS '系统用户表'; - --- pwd: admin -INSERT INTO system_user VALUES (1, 'admin', '465c194afb65670f38322df087f0a9bb225cc257e43eb4ac5a0c98ef5b3173ac', 2, now(), now()); - - -CREATE TABLE system_user_permission -( - id BIGSERIAL PRIMARY KEY, - namespace_id VARCHAR(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', - group_name VARCHAR(64) NOT NULL, - system_user_id BIGINT NOT NULL, - create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, - update_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP -); - -CREATE UNIQUE INDEX "uk_namespace_id_group_name_system_user_id" ON "system_user_permission" ("namespace_id","group_name","system_user_id"); -COMMENT ON COLUMN "system_user_permission"."id" IS '主键'; -COMMENT ON COLUMN "system_user_permission"."namespace_id" IS '命名空间id'; -COMMENT ON COLUMN "system_user_permission"."group_name" IS '组名称'; -COMMENT ON COLUMN "system_user_permission"."system_user_id" IS '系统用户id'; -COMMENT ON COLUMN "system_user_permission"."create_dt" IS '创建时间'; -COMMENT ON COLUMN "system_user_permission"."update_dt" IS '修改时间'; -COMMENT ON TABLE "system_user_permission" IS '系统用户权限表'; - - -CREATE TABLE sequence_alloc -( - id BIGSERIAL PRIMARY KEY, - namespace_id VARCHAR(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', - group_name VARCHAR(64) NOT NULL DEFAULT '', - max_id BIGINT NOT NULL DEFAULT 1, - step INT NOT NULL DEFAULT 100, - update_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP -); - -CREATE UNIQUE INDEX "uk_namespace_id_group_name" ON "sequence_alloc" ("namespace_id", "group_name"); - -COMMENT ON COLUMN "sequence_alloc"."id" IS '主键'; -COMMENT ON COLUMN "sequence_alloc"."namespace_id" IS '命名空间id'; -COMMENT ON COLUMN "sequence_alloc"."group_name" IS '组名称'; -COMMENT ON COLUMN "sequence_alloc"."max_id" IS '最大id'; -COMMENT ON COLUMN "sequence_alloc"."step" IS '步长'; -COMMENT ON COLUMN "sequence_alloc"."update_dt" IS '更新时间'; -COMMENT ON TABLE "sequence_alloc" IS '号段模式序号ID分配表'; - --- 分布式调度DDL -CREATE TABLE job -( - id BIGSERIAL PRIMARY KEY, - namespace_id VARCHAR(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', - group_name VARCHAR(64) NOT NULL, - job_name VARCHAR(64) NOT NULL, - args_str TEXT NOT NULL DEFAULT '', - args_type SMALLINT NOT NULL DEFAULT 1, - next_trigger_at BIGINT NOT NULL, - job_status SMALLINT NOT NULL DEFAULT 1, - task_type SMALLINT NOT NULL DEFAULT 1, - route_key SMALLINT NOT NULL DEFAULT 4, - executor_type SMALLINT NOT NULL DEFAULT 1, - executor_info VARCHAR(255) DEFAULT NULL, - trigger_type SMALLINT NOT NULL, - trigger_interval VARCHAR(255) NOT NULL, - block_strategy SMALLINT NOT NULL DEFAULT 1, - executor_timeout INT NOT NULL DEFAULT 0, - max_retry_times INT NOT NULL DEFAULT 0, - parallel_num INT NOT NULL DEFAULT 1, - retry_interval INT NOT NULL DEFAULT 0, - bucket_index INT NOT NULL DEFAULT 0, - resident SMALLINT NOT NULL DEFAULT 0, - description VARCHAR(256) NOT NULL DEFAULT '', - ext_attrs VARCHAR(256) DEFAULT NULL, - create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, - update_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, - deleted SMALLINT NOT NULL DEFAULT 0 -); - -CREATE INDEX "idx_namespace_id_group_name_job" ON "job" ("namespace_id", "group_name"); -CREATE INDEX "idx_job_status_bucket_index_job" ON "job" ("job_status", "bucket_index"); -CREATE INDEX "idx_create_dt_job" ON "job" ("create_dt"); - -COMMENT ON COLUMN "job"."id" IS '主键'; -COMMENT ON COLUMN "job"."namespace_id" IS '命名空间id'; -COMMENT ON COLUMN "job"."group_name" IS '组名称'; -COMMENT ON COLUMN "job"."job_name" IS '名称'; -COMMENT ON COLUMN "job"."args_str" IS '执行方法参数'; -COMMENT ON COLUMN "job"."args_type" IS '参数类型'; -COMMENT ON COLUMN "job"."next_trigger_at" IS '下次触发时间'; -COMMENT ON COLUMN "job"."job_status" IS '重试状态 0、关闭、1、开启'; -COMMENT ON COLUMN "job"."task_type" IS '任务类型 1、集群 2、广播 3、切片'; -COMMENT ON COLUMN "job"."route_key" IS '路由策略'; -COMMENT ON COLUMN "job"."executor_type" IS '执行器类型'; -COMMENT ON COLUMN "job"."executor_info" IS '执行器名称'; -COMMENT ON COLUMN "job"."trigger_type" IS '触发类型 1.CRON 表达式 2. 固定时间'; -COMMENT ON COLUMN "job"."trigger_interval" IS '间隔时长'; -COMMENT ON COLUMN "job"."block_strategy" IS '阻塞策略 1、丢弃 2、覆盖 3、并行'; -COMMENT ON COLUMN "job"."executor_timeout" IS '任务执行超时时间,单位秒'; -COMMENT ON COLUMN "job"."max_retry_times" IS '最大重试次数'; -COMMENT ON COLUMN "job"."parallel_num" IS '并行数'; -COMMENT ON COLUMN "job"."retry_interval" IS '更新重试间隔(s)'; -COMMENT ON COLUMN "job"."bucket_index" IS 'bucket'; -COMMENT ON COLUMN "job"."resident" IS '是否是常驻任务'; -COMMENT ON COLUMN "job"."description" IS '描述'; -COMMENT ON COLUMN "job"."ext_attrs" IS '扩展字段'; -COMMENT ON COLUMN "job"."create_dt" IS '创建时间'; -COMMENT ON COLUMN "job"."deleted" IS '逻辑删除 1、删除'; -COMMENT ON COLUMN "job"."update_dt" IS '更新时间'; -COMMENT ON TABLE "job" IS '任务信息'; - -INSERT INTO job VALUES (1, 'dev', 'ruoyi_group', 'demo-job', null, 1, 1710344035622, 1, 1, 4, 1, 'testJobExecutor', 2, '60', 1, 60, 3, 1, 1, 116, 0, '', '', now(), now(), 0); - -CREATE TABLE job_log_message -( - id BIGSERIAL PRIMARY KEY, - namespace_id VARCHAR(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', - group_name VARCHAR(64) NOT NULL, - job_id BIGINT NOT NULL, - task_batch_id BIGINT NOT NULL, - task_id BIGINT NOT NULL, - message TEXT NOT NULL, - log_num INT NOT NULL DEFAULT 1, - real_time BIGINT NOT NULL DEFAULT 0, - ext_attrs VARCHAR(256) DEFAULT '', - create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP -); - -CREATE INDEX "idx_namespace_id_group_name_to_job_log_message" ON "job_log_message" ("namespace_id", "group_name"); -CREATE INDEX "idx_task_batch_id_task_id_to_job_log_message" ON "job_log_message" ("task_batch_id", "task_id"); -CREATE INDEX "idx_create_dt_to_job_log_message" ON "job_log_message" ("create_dt"); - -COMMENT ON COLUMN "job_log_message"."id" IS '主键'; -COMMENT ON COLUMN "job_log_message"."namespace_id" IS '命名空间id'; -COMMENT ON COLUMN "job_log_message"."group_name" IS '组名称'; -COMMENT ON COLUMN "job_log_message"."job_id" IS '任务信息id'; -COMMENT ON COLUMN "job_log_message"."task_batch_id" IS '任务批次id'; -COMMENT ON COLUMN "job_log_message"."task_id" IS '调度任务id'; -COMMENT ON COLUMN "job_log_message"."message" IS '调度信息'; -COMMENT ON COLUMN "job_log_message"."log_num" IS '日志序号'; -COMMENT ON COLUMN "job_log_message"."real_time" IS '实际时间'; -COMMENT ON COLUMN "job_log_message"."create_dt" IS '创建时间'; -COMMENT ON COLUMN "job_log_message"."ext_attrs" IS '扩展字段'; -COMMENT ON TABLE "job_log_message" IS '调度日志'; - -CREATE TABLE job_task -( - id BIGSERIAL PRIMARY KEY, - namespace_id VARCHAR(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', - group_name VARCHAR(64) NOT NULL, - job_id BIGINT NOT NULL, - task_batch_id BIGINT NOT NULL, - parent_id BIGINT NOT NULL DEFAULT 0, - task_status SMALLINT NOT NULL DEFAULT 0, - retry_count INT NOT NULL DEFAULT 0, - client_info VARCHAR(128) DEFAULT NULL, - result_message TEXT NOT NULL, - args_str TEXT NOT NULL, - args_type SMALLINT NOT NULL DEFAULT 1, - ext_attrs VARCHAR(256) DEFAULT '', - create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, - update_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP -); - - -CREATE INDEX "idx_namespace_id_group_name_to_job_task" ON "job_task" ("namespace_id", "group_name"); -CREATE INDEX "idx_task_batch_id_task_status_to_job_task" ON "job_task" ("task_batch_id", "task_status"); -CREATE INDEX "idx_create_dt_to_job_task" ON "job_task" ("create_dt"); -COMMENT ON COLUMN "job_task"."id" IS '主键'; -COMMENT ON COLUMN "job_task"."namespace_id" IS '命名空间id'; -COMMENT ON COLUMN "job_task"."group_name" IS '组名称'; -COMMENT ON COLUMN "job_task"."job_id" IS '任务信息id'; -COMMENT ON COLUMN "job_task"."task_batch_id" IS '任务批次id'; -COMMENT ON COLUMN "job_task"."parent_id" IS '父执行器id'; -COMMENT ON COLUMN "job_task"."task_status" IS '执行的状态 0、失败 1、成功'; -COMMENT ON COLUMN "job_task"."retry_count" IS '重试次数'; -COMMENT ON COLUMN "job_task"."client_info" IS '客户端地址 clientId#ip:port'; -COMMENT ON COLUMN "job_task"."result_message" IS '调度信息'; -COMMENT ON COLUMN "job_task"."args_str" IS '执行方法参数'; -COMMENT ON COLUMN "job_task"."args_type" IS '参数类型'; -COMMENT ON COLUMN "job_task"."create_dt" IS '创建时间'; -COMMENT ON COLUMN "job_task"."update_dt" IS '创建时间'; -COMMENT ON COLUMN "job_task"."ext_attrs" IS '扩展字段'; -COMMENT ON TABLE "job_task" IS '任务实例'; - -CREATE TABLE job_task_batch -( - id BIGSERIAL PRIMARY KEY, - namespace_id VARCHAR(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', - group_name VARCHAR(64) NOT NULL, - job_id BIGINT NOT NULL, - workflow_node_id BIGINT NOT NULL DEFAULT 0, - parent_workflow_node_id BIGINT NOT NULL DEFAULT 0, - workflow_task_batch_id BIGINT NOT NULL DEFAULT 0, - parent_id VARCHAR(64) NOT NULL DEFAULT '', - task_batch_status SMALLINT NOT NULL DEFAULT 0, - operation_reason SMALLINT NOT NULL DEFAULT 0, - execution_at BIGINT NOT NULL DEFAULT 0, - system_task_type SMALLINT NOT NULL DEFAULT 3, - ext_attrs VARCHAR(256) DEFAULT '', - deleted SMALLINT NOT NULL DEFAULT 0, - create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, - update_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP -); - -CREATE INDEX "idx_namespace_id_group_name_to_job_task_batch" ON "job_task_batch" ("namespace_id", "group_name"); -CREATE INDEX "idx_job_id_task_batch_status_to_job_task_batch" ON "job_task_batch" ("job_id", "task_batch_status"); -CREATE INDEX "idx_create_dt_to_job_task_batch" ON "job_task_batch" ("create_dt"); -CREATE INDEX "idx_workflow_task_batch_id_workflow_node_id" ON "job_task_batch" ("workflow_task_batch_id", "workflow_node_id"); - -COMMENT ON COLUMN "job_task_batch"."id" IS '主键'; -COMMENT ON COLUMN "job_task_batch"."namespace_id" IS '命名空间id'; -COMMENT ON COLUMN "job_task_batch"."group_name" IS '组名称'; -COMMENT ON COLUMN "job_task_batch"."job_id" IS '任务信息id'; -COMMENT ON COLUMN "job_task_batch"."task_batch_status" IS '任务批次状态 0、失败 1、成功'; -COMMENT ON COLUMN "job_task_batch"."operation_reason" IS '操作原因'; -COMMENT ON COLUMN "job_task_batch"."workflow_node_id" IS '工作流节点id'; -COMMENT ON COLUMN "job_task_batch"."parent_workflow_node_id" IS '父节点'; -COMMENT ON COLUMN "job_task_batch"."workflow_task_batch_id" IS '任务批次id'; -COMMENT ON COLUMN "job_task_batch"."system_task_type" IS '任务类型 0、系统任务 1、业务任务'; -COMMENT ON COLUMN "job_task_batch"."execution_at" IS '任务执行时间'; -COMMENT ON COLUMN "job_task_batch"."parent_id" IS '父节点'; -COMMENT ON COLUMN "job_task_batch"."deleted" IS '逻辑删除 1、删除'; -COMMENT ON COLUMN "job_task_batch"."create_dt" IS '创建时间'; -COMMENT ON COLUMN "job_task_batch"."update_dt" IS '创建时间'; -COMMENT ON COLUMN "job_task_batch"."ext_attrs" IS '扩展字段'; -COMMENT ON TABLE "job_task" IS '任务批次'; - -CREATE TABLE job_notify_config -( - id BIGSERIAL PRIMARY KEY, - namespace_id VARCHAR(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', - group_name VARCHAR(64) NOT NULL, - job_id BIGINT NOT NULL, - notify_status SMALLINT NOT NULL DEFAULT 0, - notify_type SMALLINT NOT NULL DEFAULT 0, - notify_attribute VARCHAR(512) NOT NULL, - notify_threshold INT NOT NULL DEFAULT 0, - notify_scene SMALLINT NOT NULL DEFAULT 0, - rate_limiter_status SMALLINT NOT NULL DEFAULT 0, - rate_limiter_threshold INT NOT NULL DEFAULT 0, - description VARCHAR(256) NOT NULL DEFAULT '', - create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, - update_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP -); - -CREATE INDEX idx_namespace_id_group_name_job_id_job_notify_config ON job_notify_config (namespace_id, group_name, job_id); - -COMMENT ON COLUMN "job_notify_config"."id" IS '主键'; -COMMENT ON COLUMN "job_task"."namespace_id" IS '命名空间id'; -COMMENT ON COLUMN "job_notify_config"."group_name" IS '组名称'; -COMMENT ON COLUMN "job_notify_config"."job_id" IS '任务信息id'; -COMMENT ON COLUMN "job_notify_config"."notify_status" IS '通知状态 0、未启用 1、启用'; -COMMENT ON COLUMN "job_notify_config"."notify_type" IS '通知类型 1、钉钉 2、邮件 3、企业微信'; -COMMENT ON COLUMN "job_notify_config"."notify_attribute" IS '配置属性'; -COMMENT ON COLUMN "job_notify_config"."notify_threshold" IS '通知阈值'; -COMMENT ON COLUMN "job_notify_config"."notify_scene" IS '通知场景'; -COMMENT ON COLUMN "job_notify_config"."rate_limiter_status" IS '限流状态 0、未启用 1、启用'; -COMMENT ON COLUMN "job_notify_config"."rate_limiter_threshold" IS '每秒限流阈值'; -COMMENT ON COLUMN "job_notify_config"."description" IS '描述'; -COMMENT ON COLUMN "job_notify_config"."create_dt" IS '创建时间'; -COMMENT ON COLUMN "job_notify_config"."update_dt" IS '修改时间'; -COMMENT ON TABLE "job_notify_config" IS '通知配置'; - -CREATE TABLE retry_summary -( - id BIGSERIAL PRIMARY KEY, - namespace_id VARCHAR(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', - group_name VARCHAR(64) NOT NULL DEFAULT '', - scene_name VARCHAR(50) NOT NULL DEFAULT '', - trigger_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, - running_num INT NOT NULL DEFAULT 0, - finish_num INT NOT NULL DEFAULT 0, - max_count_num INT NOT NULL DEFAULT 0, - suspend_num INT NOT NULL DEFAULT 0, - create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, - update_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP -); - -CREATE UNIQUE INDEX uk_scene_name_trigger_at ON retry_summary ("namespace_id", "group_name", "scene_name", "trigger_at"); - -COMMENT ON COLUMN "retry_summary"."id" IS '主键'; -COMMENT ON COLUMN "retry_summary"."namespace_id" IS '命名空间id'; -COMMENT ON COLUMN "retry_summary"."group_name" IS '组名称'; -COMMENT ON COLUMN "retry_summary"."scene_name" IS '场景名称'; -COMMENT ON COLUMN "retry_summary"."trigger_at" IS '统计时间'; -COMMENT ON COLUMN "retry_summary"."running_num" IS '重试中-日志数量'; -COMMENT ON COLUMN "retry_summary"."finish_num" IS '重试完成-日志数量'; -COMMENT ON COLUMN "retry_summary"."max_count_num" IS '重试到达最大次数-日志数量'; -COMMENT ON COLUMN "retry_summary"."suspend_num" IS '暂停重试-日志数量'; -COMMENT ON COLUMN "retry_summary"."create_dt" IS '创建时间'; -COMMENT ON COLUMN "retry_summary"."update_dt" IS '修改时间'; -COMMENT ON TABLE "retry_summary" IS 'DashBoard_Retry'; - -CREATE TABLE job_summary -( - id BIGSERIAL PRIMARY KEY, - namespace_id VARCHAR(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', - group_name VARCHAR(64) NOT NULL DEFAULT '', - job_id BIGINT NOT NULL, - trigger_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, - success_num INT NOT NULL DEFAULT 0, - fail_num INT NOT NULL DEFAULT 0, - fail_reason VARCHAR(512) NOT NULL DEFAULT '', - stop_num INT NOT NULL DEFAULT 0, - stop_reason VARCHAR(512) NOT NULL DEFAULT '', - cancel_num INT NOT NULL DEFAULT 0, - cancel_reason VARCHAR(512) NOT NULL DEFAULT '', - create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, - update_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP -); - -CREATE UNIQUE INDEX uk_job_id_trigger_at ON job_summary ("job_id", "trigger_at"); -CREATE INDEX idx_namespace_id_group_name_job_id ON job_summary ("namespace_id", "group_name", "job_id"); - -COMMENT ON COLUMN "job_summary"."id" IS '主键'; -COMMENT ON COLUMN "job_summary"."namespace_id" IS '命名空间id'; -COMMENT ON COLUMN "job_summary"."group_name" IS '组名称'; -COMMENT ON COLUMN "job_summary"."job_id" IS '任务信息id'; -COMMENT ON COLUMN "job_summary"."trigger_at" IS '统计时间'; -COMMENT ON COLUMN "job_summary"."success_num" IS '执行成功-日志数量'; -COMMENT ON COLUMN "job_summary"."fail_num" IS '执行失败-日志数量'; -COMMENT ON COLUMN "job_summary"."fail_reason" IS '失败原因'; -COMMENT ON COLUMN "job_summary"."stop_num" IS '执行失败-日志数量'; -COMMENT ON COLUMN "job_summary"."stop_reason" IS '失败原因'; -COMMENT ON COLUMN "job_summary"."cancel_num" IS '执行失败-日志数量'; -COMMENT ON COLUMN "job_summary"."cancel_reason" IS '失败原因'; -COMMENT ON TABLE "job_summary" IS 'DashBoard_Job'; - -CREATE TABLE workflow -( - id BIGSERIAL PRIMARY KEY, - workflow_name varchar(64) NOT NULL, - namespace_id varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', - group_name varchar(64) NOT NULL, - workflow_status smallint NOT NULL DEFAULT 1, - trigger_type smallint NOT NULL, - trigger_interval varchar(255) NOT NULL, - next_trigger_at BIGINT NOT NULL, - block_strategy smallint NOT NULL DEFAULT 1, - executor_timeout INT NOT NULL DEFAULT 0, - description varchar(256) NOT NULL DEFAULT '', - flow_info text DEFAULT NULL, - bucket_index INT NOT NULL DEFAULT 0, - version INT NOT NULL, - create_dt timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, - update_dt timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, - deleted smallint NOT NULL DEFAULT 0, - ext_attrs varchar(256) NULL DEFAULT '' -); - - -CREATE INDEX idx_create_dt_workflow ON workflow (create_dt); -CREATE INDEX idx_namespace_id_group_name ON workflow (namespace_id, group_name); - -COMMENT ON TABLE workflow IS '工作流'; -COMMENT ON COLUMN workflow.id IS '主键'; -COMMENT ON COLUMN workflow.workflow_name IS '工作流名称'; -COMMENT ON COLUMN workflow.namespace_id IS '命名空间id'; -COMMENT ON COLUMN workflow.group_name IS '组名称'; -COMMENT ON COLUMN workflow.workflow_status IS '工作流状态 0、关闭、1、开启'; -COMMENT ON COLUMN workflow.trigger_type IS '触发类型 1.CRON 表达式 2. 固定时间'; -COMMENT ON COLUMN workflow.trigger_interval IS '间隔时长'; -COMMENT ON COLUMN workflow.next_trigger_at IS '下次触发时间'; -COMMENT ON COLUMN workflow.block_strategy IS '阻塞策略 1、丢弃 2、覆盖 3、并行'; -COMMENT ON COLUMN workflow.executor_timeout IS '任务执行超时时间,单位秒'; -COMMENT ON COLUMN workflow.description IS '描述'; -COMMENT ON COLUMN workflow.flow_info IS '流程信息'; -COMMENT ON COLUMN workflow.bucket_index IS 'bucket'; -COMMENT ON COLUMN workflow.version IS '版本号'; -COMMENT ON COLUMN workflow.create_dt IS '创建时间'; -COMMENT ON COLUMN workflow.update_dt IS '修改时间'; -COMMENT ON COLUMN workflow.deleted IS '逻辑删除 1、删除'; -COMMENT ON COLUMN workflow.ext_attrs IS '扩展字段'; - -CREATE TABLE workflow_node -( - id BIGSERIAL PRIMARY KEY, - namespace_id VARCHAR(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', - node_name VARCHAR(64) NOT NULL, - group_name VARCHAR(64) NOT NULL, - job_id BIGINT NOT NULL, - workflow_id BIGINT NOT NULL, - node_type SMALLINT NOT NULL DEFAULT 1, - expression_type SMALLINT NOT NULL DEFAULT 0, - fail_strategy SMALLINT NOT NULL DEFAULT 1, - workflow_node_status SMALLINT NOT NULL DEFAULT 1, - priority_level INT NOT NULL DEFAULT 1, - node_info TEXT DEFAULT NULL, - version INT NOT NULL, - create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, - update_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, - deleted SMALLINT NOT NULL DEFAULT 0, - ext_attrs VARCHAR(256) NULL DEFAULT '' -); - -CREATE INDEX idx_create_dt_workflow_node ON workflow_node (create_dt); -CREATE INDEX idx_namespace_id_group_name ON workflow_node (namespace_id, group_name); - -COMMENT ON TABLE workflow_node IS '工作流节点'; -COMMENT ON COLUMN workflow_node.id IS '主键'; -COMMENT ON COLUMN workflow_node.namespace_id IS '命名空间id'; -COMMENT ON COLUMN workflow_node.node_name IS '节点名称'; -COMMENT ON COLUMN workflow_node.group_name IS '组名称'; -COMMENT ON COLUMN workflow_node.job_id IS '任务信息id'; -COMMENT ON COLUMN workflow_node.workflow_id IS '工作流ID'; -COMMENT ON COLUMN workflow_node.node_type IS '1、任务节点 2、条件节点'; -COMMENT ON COLUMN workflow_node.expression_type IS '1、SpEl、2、Aviator 3、QL'; -COMMENT ON COLUMN workflow_node.fail_strategy IS '失败策略 1、跳过 2、阻塞'; -COMMENT ON COLUMN workflow_node.workflow_node_status IS '工作流节点状态 0、关闭、1、开启'; -COMMENT ON COLUMN workflow_node.priority_level IS '优先级'; -COMMENT ON COLUMN workflow_node.node_info IS '节点信息'; -COMMENT ON COLUMN workflow_node.version IS '版本号'; -COMMENT ON COLUMN workflow_node.create_dt IS '创建时间'; -COMMENT ON COLUMN workflow_node.update_dt IS '修改时间'; -COMMENT ON COLUMN workflow_node.deleted IS '逻辑删除 1、删除'; -COMMENT ON COLUMN workflow_node.ext_attrs IS '扩展字段'; - -CREATE TABLE workflow_task_batch -( - id BIGSERIAL PRIMARY KEY, - namespace_id VARCHAR(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', - group_name VARCHAR(64) NOT NULL, - workflow_id BIGINT NOT NULL, - task_batch_status SMALLINT NOT NULL DEFAULT 0, - operation_reason SMALLINT NOT NULL DEFAULT 0, - flow_info TEXT DEFAULT NULL, - execution_at BIGINT NOT NULL DEFAULT 0, - create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, - update_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, - deleted SMALLINT NOT NULL DEFAULT 0, - ext_attrs VARCHAR(256) NULL DEFAULT '' -); - -CREATE INDEX idx_job_id_task_batch_status_workflow_task_batch ON workflow_task_batch (workflow_id, task_batch_status); -CREATE INDEX idx_create_dt_workflow_task_batch ON workflow_task_batch (create_dt); -CREATE INDEX idx_namespace_id_group_name_workflow_task_batch ON workflow_task_batch (namespace_id, group_name); - -COMMENT ON TABLE workflow_task_batch IS '工作流批次'; -COMMENT ON COLUMN workflow_task_batch.id IS '主键'; -COMMENT ON COLUMN workflow_task_batch.namespace_id IS '命名空间id'; -COMMENT ON COLUMN workflow_task_batch.group_name IS '组名称'; -COMMENT ON COLUMN workflow_task_batch.workflow_id IS '工作流任务id'; -COMMENT ON COLUMN workflow_task_batch.task_batch_status IS '任务批次状态 0、失败 1、成功'; -COMMENT ON COLUMN workflow_task_batch.operation_reason IS '操作原因'; -COMMENT ON COLUMN workflow_task_batch.flow_info IS '流程信息'; -COMMENT ON COLUMN workflow_task_batch.execution_at IS '任务执行时间'; -COMMENT ON COLUMN workflow_task_batch.create_dt IS '创建时间'; -COMMENT ON COLUMN workflow_task_batch.update_dt IS '修改时间'; -COMMENT ON COLUMN workflow_task_batch.deleted IS '逻辑删除 1、删除'; -COMMENT ON COLUMN workflow_task_batch.ext_attrs IS '扩展字段'; - - diff --git a/script/sql/postgres/easy_retry_postgre.sql b/script/sql/postgres/easy_retry_postgre.sql new file mode 100644 index 000000000..fb189b7fc --- /dev/null +++ b/script/sql/postgres/easy_retry_postgre.sql @@ -0,0 +1,805 @@ +-- PostgreSQL DDL + +CREATE TABLE er_namespace +( + id BIGSERIAL PRIMARY KEY, + name VARCHAR(64) NOT NULL, + unique_id VARCHAR(64) NOT NULL, + description VARCHAR(256) NOT NULL DEFAULT '', + create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + update_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + deleted SMALLINT NOT NULL DEFAULT 0 +); + +CREATE UNIQUE INDEX uk_namespace_unique_id ON namespace (unique_id); + +COMMENT ON COLUMN namespace.id IS '主键'; +COMMENT ON COLUMN namespace.name IS '名称'; +COMMENT ON COLUMN namespace.unique_id IS '唯一id'; +COMMENT ON COLUMN namespace.description IS '描述'; +COMMENT ON COLUMN namespace.create_dt IS '创建时间'; +COMMENT ON COLUMN namespace.update_dt IS '修改时间'; +COMMENT ON COLUMN namespace.deleted IS '逻辑删除 1、删除'; +COMMENT ON TABLE namespace IS '命名空间'; + +INSERT INTO er_namespace VALUES (1, 'Development', 'dev', '', now(), now(), 0); +INSERT INTO er_namespace VALUES (2, 'Production', 'prod', '', now(), now(), 0); + +CREATE TABLE er_group_config +( + id BIGSERIAL PRIMARY KEY, + namespace_id VARCHAR(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', + group_name VARCHAR(64) NOT NULL, + description VARCHAR(256) DEFAULT '', + token VARCHAR(64) DEFAULT 'ER_cKqBTPzCsWA3VyuCfFoccmuIEGXjr5KT', + group_status SMALLINT NOT NULL DEFAULT 0, + version INT NOT NULL, + group_partition INT NOT NULL, + id_generator_mode SMALLINT NOT NULL DEFAULT 1, + init_scene SMALLINT NOT NULL DEFAULT 0, + bucket_index INT NOT NULL DEFAULT 0, + create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + update_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP +); + +CREATE UNIQUE INDEX uk_namespace_id_group_name_group_config ON group_config (namespace_id, group_name); + +COMMENT ON COLUMN group_config.id IS '主键'; +COMMENT ON COLUMN group_config.namespace_id IS '命名空间'; +COMMENT ON COLUMN group_config.group_name IS '组名称'; +COMMENT ON COLUMN group_config.description IS '组描述'; +COMMENT ON COLUMN group_config.token IS 'token'; +COMMENT ON COLUMN group_config.group_status IS '组状态 0、未启用 1、启用'; +COMMENT ON COLUMN group_config.version IS '版本号'; +COMMENT ON COLUMN group_config.group_partition IS '分区'; +COMMENT ON COLUMN group_config.id_generator_mode IS '唯一id生成模式 默认号段模式'; +COMMENT ON COLUMN group_config.init_scene IS '是否初始化场景 0:否 1:是'; +COMMENT ON COLUMN group_config.bucket_index IS 'bucket'; +COMMENT ON COLUMN group_config.create_dt IS '创建时间'; +COMMENT ON COLUMN group_config.update_dt IS '修改时间'; +COMMENT ON TABLE group_config IS '组配置'; + +INSERT INTO er_group_config VALUES (1, 'dev', 'ruoyi_group', '', 'ER_cKqBTPzCsWA3VyuCfFoccmuIEGXjr5KT', 1, 1, 0, 1, 1, 4, now(), now()); + +CREATE TABLE er_notify_config +( + id BIGSERIAL PRIMARY KEY, + namespace_id VARCHAR(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', + group_name VARCHAR(64) NOT NULL, + scene_name VARCHAR(64) NOT NULL, + notify_status SMALLINT NOT NULL DEFAULT 0, + notify_type SMALLINT NOT NULL DEFAULT 0, + notify_attribute VARCHAR(512) NOT NULL, + notify_threshold INT NOT NULL DEFAULT 0, + notify_scene SMALLINT NOT NULL DEFAULT 0, + rate_limiter_status SMALLINT NOT NULL DEFAULT 0, + rate_limiter_threshold INT NOT NULL DEFAULT 0, + description VARCHAR(256) NOT NULL DEFAULT '', + create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + update_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP +); + +CREATE INDEX idx_namespace_id_group_name_notify_config ON notify_config (namespace_id, group_name); + +COMMENT ON COLUMN notify_config.id IS '主键'; +COMMENT ON COLUMN notify_config.group_name IS '组名称'; +COMMENT ON COLUMN notify_config.namespace_id IS '命名空间id'; +COMMENT ON COLUMN notify_config.scene_name IS '场景名称'; +COMMENT ON COLUMN notify_config.notify_status IS '通知状态 0、未启用 1、启用'; +COMMENT ON COLUMN notify_config.notify_type IS '通知类型 1、钉钉 2、邮件 3、企业微信'; +COMMENT ON COLUMN notify_config.notify_attribute IS '配置属性'; +COMMENT ON COLUMN notify_config.notify_threshold IS '通知阈值'; +COMMENT ON COLUMN notify_config.notify_scene IS '通知场景'; +COMMENT ON COLUMN notify_config.rate_limiter_status IS '限流状态 0、未启用 1、启用'; +COMMENT ON COLUMN notify_config.rate_limiter_threshold IS '每秒限流阈值'; +COMMENT ON COLUMN notify_config.description IS '描述'; +COMMENT ON COLUMN notify_config.create_dt IS '创建时间'; +COMMENT ON COLUMN notify_config.update_dt IS '修改时间'; +COMMENT ON TABLE notify_config IS '通知配置'; + + +CREATE TABLE er_retry_dead_letter_0 +( + id BIGSERIAL PRIMARY KEY, + unique_id VARCHAR(64) NOT NULL, + namespace_id VARCHAR(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', + group_name VARCHAR(64) NOT NULL, + scene_name VARCHAR(64) NOT NULL, + idempotent_id VARCHAR(64) NOT NULL, + biz_no VARCHAR(64) NOT NULL DEFAULT '', + executor_name VARCHAR(512) NOT NULL DEFAULT '', + args_str TEXT NOT NULL, + ext_attrs TEXT NOT NULL, + task_type SMALLINT NOT NULL DEFAULT 1, + create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP +); + +CREATE UNIQUE INDEX uk_namespace_id_group_name_unique_id_retry_dead_letter ON retry_dead_letter_0 (namespace_id, group_name, unique_id); +CREATE INDEX idx_namespace_id_group_name_scene_name_retry_dead_letter ON retry_dead_letter_0 (namespace_id, group_name, scene_name); +CREATE INDEX idx_idempotent_id_retry_dead_letter ON retry_dead_letter_0 (idempotent_id); +CREATE INDEX idx_biz_no_retry_dead_letter ON retry_dead_letter_0 (biz_no); +CREATE INDEX idx_create_dt_retry_dead_letter ON retry_dead_letter_0 (create_dt); + +COMMENT ON COLUMN retry_dead_letter_0.id IS '主键'; +COMMENT ON COLUMN retry_dead_letter_0.unique_id IS '同组下id唯一'; +COMMENT ON COLUMN retry_dead_letter_0.namespace_id IS '命名空间id'; +COMMENT ON COLUMN retry_dead_letter_0.group_name IS '组名称'; +COMMENT ON COLUMN retry_dead_letter_0.scene_name IS '场景名称'; +COMMENT ON COLUMN retry_dead_letter_0.idempotent_id IS '幂等id'; +COMMENT ON COLUMN retry_dead_letter_0.biz_no IS '业务编号'; +COMMENT ON COLUMN retry_dead_letter_0.executor_name IS '执行器名称'; +COMMENT ON COLUMN retry_dead_letter_0.args_str IS '执行方法参数'; +COMMENT ON COLUMN retry_dead_letter_0.ext_attrs IS '扩展字段'; +COMMENT ON COLUMN retry_dead_letter_0.task_type IS '任务类型 1、重试数据 2、回调数据'; +COMMENT ON COLUMN retry_dead_letter_0.create_dt IS '创建时间'; +COMMENT ON TABLE retry_dead_letter_0 IS '死信队列表'; + +CREATE TABLE er_retry_task_0 +( + id BIGSERIAL PRIMARY KEY, + unique_id VARCHAR(64) NOT NULL, + namespace_id VARCHAR(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', + group_name VARCHAR(64) NOT NULL, + scene_name VARCHAR(64) NOT NULL, + idempotent_id VARCHAR(64) NOT NULL, + biz_no VARCHAR(64) NOT NULL DEFAULT '', + executor_name VARCHAR(512) NOT NULL DEFAULT '', + args_str TEXT NOT NULL, + ext_attrs TEXT NOT NULL, + next_trigger_at TIMESTAMP NOT NULL, + retry_count INT NOT NULL DEFAULT 0, + retry_status SMALLINT NOT NULL DEFAULT 0, + task_type SMALLINT NOT NULL DEFAULT 1, + create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + update_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP +); + +CREATE UNIQUE INDEX uk_name_unique_id_retry_task ON retry_task_0 (namespace_id, group_name, unique_id); +CREATE INDEX idx_namespace_id_group_name_scene_name_retry_task ON retry_task_0 (namespace_id, group_name, scene_name); +CREATE INDEX idx_namespace_id_group_name_retry_status_retry_task ON retry_task_0 (namespace_id, group_name, retry_status); +CREATE INDEX idx_idempotent_id_retry_task ON retry_task_0 (idempotent_id); +CREATE INDEX idx_biz_no_retry_task ON retry_task_0 (biz_no); +CREATE INDEX idx_create_dt_retry_task ON retry_task_0 (create_dt); + +COMMENT ON COLUMN retry_task_0.id IS '主键'; +COMMENT ON COLUMN retry_task_0.unique_id IS '同组下id唯一'; +COMMENT ON COLUMN retry_task_0.namespace_id IS '命名空间id'; +COMMENT ON COLUMN retry_task_0.group_name IS '组名称'; +COMMENT ON COLUMN retry_task_0.scene_name IS '场景名称'; +COMMENT ON COLUMN retry_task_0.idempotent_id IS '幂等id'; +COMMENT ON COLUMN retry_task_0.biz_no IS '业务编号'; +COMMENT ON COLUMN retry_task_0.executor_name IS '执行器名称'; +COMMENT ON COLUMN retry_task_0.args_str IS '执行方法参数'; +COMMENT ON COLUMN retry_task_0.ext_attrs IS '扩展字段'; +COMMENT ON COLUMN retry_task_0.next_trigger_at IS '下次触发时间'; +COMMENT ON COLUMN retry_task_0.retry_count IS '重试次数'; +COMMENT ON COLUMN retry_task_0.retry_status IS '重试状态 0、重试中 1、成功 2、最大重试次数'; +COMMENT ON COLUMN retry_task_0.task_type IS '任务类型 1、重试数据 2、回调数据'; +COMMENT ON COLUMN retry_task_0.create_dt IS '创建时间'; +COMMENT ON COLUMN retry_task_0.update_dt IS '修改时间'; +COMMENT ON TABLE retry_task_0 IS '任务表'; + +CREATE TABLE er_retry_task_log +( + id BIGSERIAL PRIMARY KEY, + unique_id VARCHAR(64) NOT NULL, + namespace_id VARCHAR(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', + group_name VARCHAR(64) NOT NULL, + scene_name VARCHAR(64) NOT NULL, + idempotent_id VARCHAR(64) NOT NULL, + biz_no VARCHAR(64) NOT NULL DEFAULT '', + executor_name VARCHAR(512) NOT NULL DEFAULT '', + args_str TEXT NOT NULL, + ext_attrs TEXT NOT NULL, + retry_status SMALLINT NOT NULL DEFAULT 0, + task_type SMALLINT NOT NULL DEFAULT 1, + create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + update_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP + +); + +CREATE INDEX idx_group_name_scene_name_retry_task_log ON retry_task_log (namespace_id, group_name, scene_name); +CREATE INDEX idx_retry_status_retry_task_log ON retry_task_log (retry_status); +CREATE INDEX idx_idempotent_id_retry_task_log ON retry_task_log (idempotent_id); +CREATE INDEX idx_unique_id ON retry_task_log (namespace_id, group_name, unique_id); +CREATE INDEX idx_biz_no_retry_task_log ON retry_task_log (biz_no); +CREATE INDEX idx_create_dt_retry_task_log ON retry_task_log (create_dt); + +COMMENT ON COLUMN retry_task_log.id IS '主键'; +COMMENT ON COLUMN retry_task_log.namespace_id IS '命名空间id'; +COMMENT ON COLUMN retry_task_log.unique_id IS '同组下id唯一'; +COMMENT ON COLUMN retry_task_log.group_name IS '组名称'; +COMMENT ON COLUMN retry_task_log.scene_name IS '场景名称'; +COMMENT ON COLUMN retry_task_log.idempotent_id IS '幂等id'; +COMMENT ON COLUMN retry_task_log.biz_no IS '业务编号'; +COMMENT ON COLUMN retry_task_log.executor_name IS '执行器名称'; +COMMENT ON COLUMN retry_task_log.args_str IS '执行方法参数'; +COMMENT ON COLUMN retry_task_log.ext_attrs IS '扩展字段'; +COMMENT ON COLUMN retry_task_log.retry_status IS '重试状态 0、重试中 1、成功 2、最大次数'; +COMMENT ON COLUMN retry_task_log.task_type IS '任务类型 1、重试数据 2、回调数据'; +COMMENT ON COLUMN retry_task_log.create_dt IS '创建时间'; +COMMENT ON COLUMN retry_task_log.update_dt IS '修改时间'; +COMMENT ON TABLE retry_task_log IS '任务日志基础信息表'; + +CREATE TABLE er_retry_task_log_message +( + id BIGSERIAL PRIMARY KEY, + namespace_id VARCHAR(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', + group_name VARCHAR(64) NOT NULL, + unique_id VARCHAR(64) NOT NULL, + create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + message TEXT NOT NULL, + log_num INT NOT NULL DEFAULT 1, + real_time BIGINT NOT NULL DEFAULT 0 +); + +CREATE INDEX idx_namespace_id_group_name_unique_id ON retry_task_log_message (namespace_id, group_name, unique_id); +CREATE INDEX idx_create_dt ON retry_task_log_message (create_dt); +COMMENT ON COLUMN retry_task_log_message.id IS '主键'; +COMMENT ON COLUMN retry_task_log_message.namespace_id IS '命名空间'; +COMMENT ON COLUMN retry_task_log_message.group_name IS '组名称'; +COMMENT ON COLUMN retry_task_log_message.unique_id IS '同组下id唯一'; +COMMENT ON COLUMN retry_task_log_message.create_dt IS '创建时间'; +COMMENT ON COLUMN retry_task_log_message.message IS '异常信息'; +COMMENT ON COLUMN retry_task_log_message.log_num IS '日志条数'; +COMMENT ON COLUMN retry_task_log_message.real_time IS '实际时间'; +COMMENT ON TABLE retry_task_log_message IS '任务调度日志信息记录表'; + +CREATE TABLE er_scene_config +( + id BIGSERIAL PRIMARY KEY, + namespace_id VARCHAR(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', + scene_name VARCHAR(64) NOT NULL, + group_name VARCHAR(64) NOT NULL, + scene_status SMALLINT NOT NULL DEFAULT 0, + max_retry_count INT NOT NULL DEFAULT 5, + back_off SMALLINT NOT NULL DEFAULT 1, + trigger_interval VARCHAR(16) NOT NULL DEFAULT '', + deadline_request BIGINT NOT NULL DEFAULT 60000, + route_key SMALLINT NOT NULL DEFAULT 4, + executor_timeout INT NOT NULL DEFAULT 5, + description VARCHAR(256) NOT NULL DEFAULT '', + create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + update_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP +); + +CREATE UNIQUE INDEX uk_namespace_id_group_name_scene_name ON scene_config (namespace_id, group_name, scene_name); +COMMENT ON COLUMN scene_config.id IS '主键'; +COMMENT ON COLUMN scene_config.namespace_id IS '命名空间id'; +COMMENT ON COLUMN scene_config.scene_name IS '场景名称'; +COMMENT ON COLUMN scene_config.group_name IS '组名称'; +COMMENT ON COLUMN scene_config.scene_status IS '组状态 0、未启用 1、启用'; +COMMENT ON COLUMN scene_config.max_retry_count IS '最大重试次数'; +COMMENT ON COLUMN scene_config.back_off IS '1、默认等级 2、固定间隔时间 3、CRON 表达式'; +COMMENT ON COLUMN scene_config.trigger_interval IS '间隔时长'; +COMMENT ON COLUMN scene_config.deadline_request IS 'Deadline Request 调用链超时 单位毫秒'; +COMMENT ON COLUMN scene_config.description IS '描述'; +COMMENT ON COLUMN scene_config.route_key IS '路由策略'; +COMMENT ON COLUMN scene_config.executor_timeout IS '超时时间'; +COMMENT ON COLUMN scene_config.create_dt IS '创建时间'; +COMMENT ON COLUMN scene_config.update_dt IS '修改时间'; +COMMENT ON TABLE scene_config IS '场景配置'; + +CREATE TABLE er_server_node +( + id BIGSERIAL PRIMARY KEY, + namespace_id VARCHAR(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', + group_name VARCHAR(64) NOT NULL, + host_id VARCHAR(64) NOT NULL, + host_ip VARCHAR(64) NOT NULL, + context_path VARCHAR(256) NOT NULL DEFAULT '/', + host_port INT NOT NULL, + expire_at TIMESTAMP NOT NULL, + node_type SMALLINT NOT NULL, + ext_attrs VARCHAR(256) DEFAULT '', + create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + update_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP +); + +CREATE UNIQUE INDEX uk_host_id_host_ip ON server_node (host_id, host_ip); +CREATE INDEX idx_expire_at_node_type ON server_node (expire_at, node_type); +CREATE INDEX idx_namespace_id_group_name_server_node ON server_node (namespace_id, group_name); + +COMMENT ON COLUMN server_node.id IS '主键'; +COMMENT ON COLUMN server_node.group_name IS '组名称'; +COMMENT ON COLUMN server_node.namespace_id IS '命名空间id'; +COMMENT ON COLUMN server_node.host_id IS '主机id'; +COMMENT ON COLUMN server_node.host_ip IS '机器ip'; +COMMENT ON COLUMN server_node.context_path IS '客户端上下文路径 server.servlet.context-path'; +COMMENT ON COLUMN server_node.host_port IS '机器端口'; +COMMENT ON COLUMN server_node.expire_at IS '过期时间'; +COMMENT ON COLUMN server_node.node_type IS '节点类型 1、客户端 2、是服务端'; +COMMENT ON COLUMN server_node.ext_attrs IS '扩展字段'; +COMMENT ON COLUMN server_node.create_dt IS '创建时间'; +COMMENT ON COLUMN server_node.update_dt IS '修改时间'; +COMMENT ON TABLE server_node IS '服务器节点'; + +CREATE TABLE er_distributed_lock +( + id BIGSERIAL PRIMARY KEY, + name VARCHAR(64) NOT NULL, + lock_until TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + locked_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + locked_by VARCHAR(255) NOT NULL, + create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + update_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP +); + +ALTER TABLE distributed_lock + ADD CONSTRAINT uk_name UNIQUE (name); + +COMMENT ON COLUMN distributed_lock.id IS '主键'; +COMMENT ON COLUMN distributed_lock.name IS '锁名称'; +COMMENT ON COLUMN distributed_lock.lock_until IS '锁定时长'; +COMMENT ON COLUMN distributed_lock.locked_at IS '锁定时间'; +COMMENT ON COLUMN distributed_lock.locked_by IS '锁定者'; +COMMENT ON COLUMN distributed_lock.create_dt IS '创建时间'; +COMMENT ON COLUMN distributed_lock.update_dt IS '修改时间'; +COMMENT ON TABLE distributed_lock IS '锁定表'; + + +CREATE TABLE er_system_user +( + id BIGSERIAL PRIMARY KEY, + username VARCHAR(64) NOT NULL, + password VARCHAR(128) NOT NULL, + role SMALLINT NOT NULL DEFAULT 0, + create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + update_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP +); + +CREATE UNIQUE INDEX uk_username ON system_user (username); +COMMENT ON COLUMN system_user.id IS '主键'; +COMMENT ON COLUMN system_user.username IS '账号'; +COMMENT ON COLUMN system_user.password IS '密码'; +COMMENT ON COLUMN system_user.role IS '角色:1-普通用户、2-管理员'; +COMMENT ON COLUMN system_user.create_dt IS '创建时间'; +COMMENT ON COLUMN system_user.update_dt IS '修改时间'; +COMMENT ON TABLE system_user IS '系统用户表'; + +-- pwd: admin +INSERT INTO er_system_user VALUES (1, 'admin', '465c194afb65670f38322df087f0a9bb225cc257e43eb4ac5a0c98ef5b3173ac', 2, now(), now()); + +CREATE TABLE er_system_user_permission +( + id BIGSERIAL PRIMARY KEY, + namespace_id VARCHAR(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', + group_name VARCHAR(64) NOT NULL, + system_user_id BIGINT NOT NULL, + create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + update_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP +); + +CREATE UNIQUE INDEX uk_namespace_id_group_name_system_user_id ON system_user_permission (namespace_id, group_name, system_user_id); +COMMENT ON COLUMN system_user_permission.id IS '主键'; +COMMENT ON COLUMN system_user_permission.namespace_id IS '命名空间id'; +COMMENT ON COLUMN system_user_permission.group_name IS '组名称'; +COMMENT ON COLUMN system_user_permission.system_user_id IS '系统用户id'; +COMMENT ON COLUMN system_user_permission.create_dt IS '创建时间'; +COMMENT ON COLUMN system_user_permission.update_dt IS '修改时间'; +COMMENT ON TABLE system_user_permission IS '系统用户权限表'; + + +CREATE TABLE er_sequence_alloc +( + id BIGSERIAL PRIMARY KEY, + namespace_id VARCHAR(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', + group_name VARCHAR(64) NOT NULL DEFAULT '', + max_id BIGINT NOT NULL DEFAULT 1, + step INT NOT NULL DEFAULT 100, + update_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP +); + +CREATE UNIQUE INDEX uk_namespace_id_group_name ON sequence_alloc (namespace_id, group_name); + +COMMENT ON COLUMN sequence_alloc.id IS '主键'; +COMMENT ON COLUMN sequence_alloc.namespace_id IS '命名空间id'; +COMMENT ON COLUMN sequence_alloc.group_name IS '组名称'; +COMMENT ON COLUMN sequence_alloc.max_id IS '最大id'; +COMMENT ON COLUMN sequence_alloc.step IS '步长'; +COMMENT ON COLUMN sequence_alloc.update_dt IS '更新时间'; +COMMENT ON TABLE sequence_alloc IS '号段模式序号ID分配表'; + +-- 分布式调度DDL +CREATE TABLE er_job +( + id BIGSERIAL PRIMARY KEY, + namespace_id VARCHAR(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', + group_name VARCHAR(64) NOT NULL, + job_name VARCHAR(64) NOT NULL, + args_str TEXT NOT NULL DEFAULT '', + args_type SMALLINT NOT NULL DEFAULT 1, + next_trigger_at BIGINT NOT NULL, + job_status SMALLINT NOT NULL DEFAULT 1, + task_type SMALLINT NOT NULL DEFAULT 1, + route_key SMALLINT NOT NULL DEFAULT 4, + executor_type SMALLINT NOT NULL DEFAULT 1, + executor_info VARCHAR(255) DEFAULT NULL, + trigger_type SMALLINT NOT NULL, + trigger_interval VARCHAR(255) NOT NULL, + block_strategy SMALLINT NOT NULL DEFAULT 1, + executor_timeout INT NOT NULL DEFAULT 0, + max_retry_times INT NOT NULL DEFAULT 0, + parallel_num INT NOT NULL DEFAULT 1, + retry_interval INT NOT NULL DEFAULT 0, + bucket_index INT NOT NULL DEFAULT 0, + resident SMALLINT NOT NULL DEFAULT 0, + description VARCHAR(256) NOT NULL DEFAULT '', + ext_attrs VARCHAR(256) DEFAULT NULL, + create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + update_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + deleted SMALLINT NOT NULL DEFAULT 0 +); + +CREATE INDEX idx_namespace_id_group_name_job ON job (namespace_id, group_name); +CREATE INDEX idx_job_status_bucket_index_job ON job (job_status, bucket_index); +CREATE INDEX idx_create_dt_job ON job (create_dt); + +COMMENT ON COLUMN job.id IS '主键'; +COMMENT ON COLUMN job.namespace_id IS '命名空间id'; +COMMENT ON COLUMN job.group_name IS '组名称'; +COMMENT ON COLUMN job.job_name IS '名称'; +COMMENT ON COLUMN job.args_str IS '执行方法参数'; +COMMENT ON COLUMN job.args_type IS '参数类型'; +COMMENT ON COLUMN job.next_trigger_at IS '下次触发时间'; +COMMENT ON COLUMN job.job_status IS '重试状态 0、关闭、1、开启'; +COMMENT ON COLUMN job.task_type IS '任务类型 1、集群 2、广播 3、切片'; +COMMENT ON COLUMN job.route_key IS '路由策略'; +COMMENT ON COLUMN job.executor_type IS '执行器类型'; +COMMENT ON COLUMN job.executor_info IS '执行器名称'; +COMMENT ON COLUMN job.trigger_type IS '触发类型 1.CRON 表达式 2. 固定时间'; +COMMENT ON COLUMN job.trigger_interval IS '间隔时长'; +COMMENT ON COLUMN job.block_strategy IS '阻塞策略 1、丢弃 2、覆盖 3、并行'; +COMMENT ON COLUMN job.executor_timeout IS '任务执行超时时间,单位秒'; +COMMENT ON COLUMN job.max_retry_times IS '最大重试次数'; +COMMENT ON COLUMN job.parallel_num IS '并行数'; +COMMENT ON COLUMN job.retry_interval IS '更新重试间隔(s)'; +COMMENT ON COLUMN job.bucket_index IS 'bucket'; +COMMENT ON COLUMN job.resident IS '是否是常驻任务'; +COMMENT ON COLUMN job.description IS '描述'; +COMMENT ON COLUMN job.ext_attrs IS '扩展字段'; +COMMENT ON COLUMN job.create_dt IS '创建时间'; +COMMENT ON COLUMN job.deleted IS '逻辑删除 1、删除'; +COMMENT ON COLUMN job.update_dt IS '更新时间'; +COMMENT ON TABLE job IS '任务信息'; + +CREATE TABLE er_job_log_message +( + id BIGSERIAL PRIMARY KEY, + namespace_id VARCHAR(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', + group_name VARCHAR(64) NOT NULL, + job_id BIGINT NOT NULL, + task_batch_id BIGINT NOT NULL, + task_id BIGINT NOT NULL, + message TEXT NOT NULL, + log_num INT NOT NULL DEFAULT 1, + real_time BIGINT NOT NULL DEFAULT 0, + ext_attrs VARCHAR(256) DEFAULT '', + create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP +); + +CREATE INDEX idx_namespace_id_group_name_to_job_log_message ON job_log_message (namespace_id, group_name); +CREATE INDEX idx_task_batch_id_task_id_to_job_log_message ON job_log_message (task_batch_id, task_id); +CREATE INDEX idx_create_dt_to_job_log_message ON job_log_message (create_dt); + +COMMENT ON COLUMN job_log_message.id IS '主键'; +COMMENT ON COLUMN job_log_message.namespace_id IS '命名空间id'; +COMMENT ON COLUMN job_log_message.group_name IS '组名称'; +COMMENT ON COLUMN job_log_message.job_id IS '任务信息id'; +COMMENT ON COLUMN job_log_message.task_batch_id IS '任务批次id'; +COMMENT ON COLUMN job_log_message.task_id IS '调度任务id'; +COMMENT ON COLUMN job_log_message.message IS '调度信息'; +COMMENT ON COLUMN job_log_message.log_num IS '日志序号'; +COMMENT ON COLUMN job_log_message.real_time IS '实际时间'; +COMMENT ON COLUMN job_log_message.create_dt IS '创建时间'; +COMMENT ON COLUMN job_log_message.ext_attrs IS '扩展字段'; +COMMENT ON TABLE job_log_message IS '调度日志'; + +CREATE TABLE er_job_task +( + id BIGSERIAL PRIMARY KEY, + namespace_id VARCHAR(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', + group_name VARCHAR(64) NOT NULL, + job_id BIGINT NOT NULL, + task_batch_id BIGINT NOT NULL, + parent_id BIGINT NOT NULL DEFAULT 0, + task_status SMALLINT NOT NULL DEFAULT 0, + retry_count INT NOT NULL DEFAULT 0, + client_info VARCHAR(128) DEFAULT NULL, + result_message TEXT NOT NULL, + args_str TEXT NOT NULL, + args_type SMALLINT NOT NULL DEFAULT 1, + ext_attrs VARCHAR(256) DEFAULT '', + create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + update_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP +); + + +CREATE INDEX idx_namespace_id_group_name_to_job_task ON job_task (namespace_id, group_name); +CREATE INDEX idx_task_batch_id_task_status_to_job_task ON job_task (task_batch_id, task_status); +CREATE INDEX idx_create_dt_to_job_task ON job_task (create_dt); +COMMENT ON COLUMN job_task.id IS '主键'; +COMMENT ON COLUMN job_task.namespace_id IS '命名空间id'; +COMMENT ON COLUMN job_task.group_name IS '组名称'; +COMMENT ON COLUMN job_task.job_id IS '任务信息id'; +COMMENT ON COLUMN job_task.task_batch_id IS '任务批次id'; +COMMENT ON COLUMN job_task.parent_id IS '父执行器id'; +COMMENT ON COLUMN job_task.task_status IS '执行的状态 0、失败 1、成功'; +COMMENT ON COLUMN job_task.retry_count IS '重试次数'; +COMMENT ON COLUMN job_task.client_info IS '客户端地址 clientId#ip:port'; +COMMENT ON COLUMN job_task.result_message IS '调度信息'; +COMMENT ON COLUMN job_task.args_str IS '执行方法参数'; +COMMENT ON COLUMN job_task.args_type IS '参数类型'; +COMMENT ON COLUMN job_task.create_dt IS '创建时间'; +COMMENT ON COLUMN job_task.update_dt IS '创建时间'; +COMMENT ON COLUMN job_task.ext_attrs IS '扩展字段'; +COMMENT ON TABLE job_task IS '任务实例'; + +CREATE TABLE er_job_task_batch +( + id BIGSERIAL PRIMARY KEY, + namespace_id VARCHAR(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', + group_name VARCHAR(64) NOT NULL, + job_id BIGINT NOT NULL, + workflow_node_id BIGINT NOT NULL DEFAULT 0, + parent_workflow_node_id BIGINT NOT NULL DEFAULT 0, + workflow_task_batch_id BIGINT NOT NULL DEFAULT 0, + parent_id VARCHAR(64) NOT NULL DEFAULT '', + task_batch_status SMALLINT NOT NULL DEFAULT 0, + operation_reason SMALLINT NOT NULL DEFAULT 0, + execution_at BIGINT NOT NULL DEFAULT 0, + system_task_type SMALLINT NOT NULL DEFAULT 3, + ext_attrs VARCHAR(256) DEFAULT '', + deleted SMALLINT NOT NULL DEFAULT 0, + create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + update_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP +); + +CREATE INDEX idx_namespace_id_group_name_to_job_task_batch ON job_task_batch (namespace_id, group_name); +CREATE INDEX idx_job_id_task_batch_status_to_job_task_batch ON job_task_batch (job_id, task_batch_status); +CREATE INDEX idx_create_dt_to_job_task_batch ON job_task_batch (create_dt); +CREATE INDEX idx_workflow_task_batch_id_workflow_node_id ON job_task_batch (workflow_task_batch_id, workflow_node_id); + +COMMENT ON COLUMN job_task_batch.id IS '主键'; +COMMENT ON COLUMN job_task_batch.namespace_id IS '命名空间id'; +COMMENT ON COLUMN job_task_batch.group_name IS '组名称'; +COMMENT ON COLUMN job_task_batch.job_id IS '任务信息id'; +COMMENT ON COLUMN job_task_batch.task_batch_status IS '任务批次状态 0、失败 1、成功'; +COMMENT ON COLUMN job_task_batch.operation_reason IS '操作原因'; +COMMENT ON COLUMN job_task_batch.workflow_node_id IS '工作流节点id'; +COMMENT ON COLUMN job_task_batch.parent_workflow_node_id IS '父节点'; +COMMENT ON COLUMN job_task_batch.workflow_task_batch_id IS '任务批次id'; +COMMENT ON COLUMN job_task_batch.system_task_type IS '任务类型 0、系统任务 1、业务任务'; +COMMENT ON COLUMN job_task_batch.execution_at IS '任务执行时间'; +COMMENT ON COLUMN job_task_batch.parent_id IS '父节点'; +COMMENT ON COLUMN job_task_batch.deleted IS '逻辑删除 1、删除'; +COMMENT ON COLUMN job_task_batch.create_dt IS '创建时间'; +COMMENT ON COLUMN job_task_batch.update_dt IS '创建时间'; +COMMENT ON COLUMN job_task_batch.ext_attrs IS '扩展字段'; +COMMENT ON TABLE job_task_batch IS '任务批次'; + +CREATE TABLE er_job_notify_config +( + id BIGSERIAL PRIMARY KEY, + namespace_id VARCHAR(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', + group_name VARCHAR(64) NOT NULL, + job_id BIGINT NOT NULL, + notify_status SMALLINT NOT NULL DEFAULT 0, + notify_type SMALLINT NOT NULL DEFAULT 0, + notify_attribute VARCHAR(512) NOT NULL, + notify_threshold INT NOT NULL DEFAULT 0, + notify_scene SMALLINT NOT NULL DEFAULT 0, + rate_limiter_status SMALLINT NOT NULL DEFAULT 0, + rate_limiter_threshold INT NOT NULL DEFAULT 0, + description VARCHAR(256) NOT NULL DEFAULT '', + create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + update_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP +); + +CREATE INDEX idx_namespace_id_group_name_job_id_job_notify_config ON job_notify_config (namespace_id, group_name, job_id); + +COMMENT ON COLUMN job_notify_config.id IS '主键'; +COMMENT ON COLUMN job_notify_config.namespace_id IS '命名空间id'; +COMMENT ON COLUMN job_notify_config.group_name IS '组名称'; +COMMENT ON COLUMN job_notify_config.job_id IS '任务信息id'; +COMMENT ON COLUMN job_notify_config.notify_status IS '通知状态 0、未启用 1、启用'; +COMMENT ON COLUMN job_notify_config.notify_type IS '通知类型 1、钉钉 2、邮件 3、企业微信'; +COMMENT ON COLUMN job_notify_config.notify_attribute IS '配置属性'; +COMMENT ON COLUMN job_notify_config.notify_threshold IS '通知阈值'; +COMMENT ON COLUMN job_notify_config.notify_scene IS '通知场景'; +COMMENT ON COLUMN job_notify_config.rate_limiter_status IS '限流状态 0、未启用 1、启用'; +COMMENT ON COLUMN job_notify_config.rate_limiter_threshold IS '每秒限流阈值'; +COMMENT ON COLUMN job_notify_config.description IS '描述'; +COMMENT ON COLUMN job_notify_config.create_dt IS '创建时间'; +COMMENT ON COLUMN job_notify_config.update_dt IS '修改时间'; +COMMENT ON TABLE job_notify_config IS '通知配置'; + +CREATE TABLE er_retry_summary +( + id BIGSERIAL PRIMARY KEY, + namespace_id VARCHAR(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', + group_name VARCHAR(64) NOT NULL DEFAULT '', + scene_name VARCHAR(50) NOT NULL DEFAULT '', + trigger_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + running_num INT NOT NULL DEFAULT 0, + finish_num INT NOT NULL DEFAULT 0, + max_count_num INT NOT NULL DEFAULT 0, + suspend_num INT NOT NULL DEFAULT 0, + create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + update_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP +); + +CREATE UNIQUE INDEX uk_scene_name_trigger_at ON retry_summary (namespace_id, group_name, scene_name, trigger_at); + +COMMENT ON COLUMN retry_summary.id IS '主键'; +COMMENT ON COLUMN retry_summary.namespace_id IS '命名空间id'; +COMMENT ON COLUMN retry_summary.group_name IS '组名称'; +COMMENT ON COLUMN retry_summary.scene_name IS '场景名称'; +COMMENT ON COLUMN retry_summary.trigger_at IS '统计时间'; +COMMENT ON COLUMN retry_summary.running_num IS '重试中-日志数量'; +COMMENT ON COLUMN retry_summary.finish_num IS '重试完成-日志数量'; +COMMENT ON COLUMN retry_summary.max_count_num IS '重试到达最大次数-日志数量'; +COMMENT ON COLUMN retry_summary.suspend_num IS '暂停重试-日志数量'; +COMMENT ON COLUMN retry_summary.create_dt IS '创建时间'; +COMMENT ON COLUMN retry_summary.update_dt IS '修改时间'; +COMMENT ON TABLE retry_summary IS 'DashBoard_Retry'; + +CREATE TABLE er_job_summary +( + id BIGSERIAL PRIMARY KEY, + namespace_id VARCHAR(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', + group_name VARCHAR(64) NOT NULL DEFAULT '', + business_id BIGINT NOT NULL, + system_task_type SMALLINT NOT NULL DEFAULT '3', + trigger_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + success_num INT NOT NULL DEFAULT 0, + fail_num INT NOT NULL DEFAULT 0, + fail_reason VARCHAR(512) NOT NULL DEFAULT '', + stop_num INT NOT NULL DEFAULT 0, + stop_reason VARCHAR(512) NOT NULL DEFAULT '', + cancel_num INT NOT NULL DEFAULT 0, + cancel_reason VARCHAR(512) NOT NULL DEFAULT '', + create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + update_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP +); + +CREATE UNIQUE INDEX uk_trigger_at_system_task_type_business_id ON job_summary (trigger_at, system_task_type, business_id); +CREATE INDEX idx_namespace_id_group_name_job_id ON job_summary (namespace_id, group_name, business_id); + +COMMENT ON COLUMN job_summary.id IS '主键'; +COMMENT ON COLUMN job_summary.namespace_id IS '命名空间id'; +COMMENT ON COLUMN job_summary.group_name IS '组名称'; +COMMENT ON COLUMN job_summary.business_id IS '业务id (job_id或workflow_id)'; +COMMENT ON COLUMN job_summary.system_task_type IS '任务类型 3、JOB任务 4、WORKFLOW任务'; +COMMENT ON COLUMN job_summary.trigger_at IS '统计时间'; +COMMENT ON COLUMN job_summary.success_num IS '执行成功-日志数量'; +COMMENT ON COLUMN job_summary.fail_num IS '执行失败-日志数量'; +COMMENT ON COLUMN job_summary.fail_reason IS '失败原因'; +COMMENT ON COLUMN job_summary.stop_num IS '执行失败-日志数量'; +COMMENT ON COLUMN job_summary.stop_reason IS '失败原因'; +COMMENT ON COLUMN job_summary.cancel_num IS '执行失败-日志数量'; +COMMENT ON COLUMN job_summary.cancel_reason IS '失败原因'; +COMMENT ON TABLE job_summary IS 'DashBoard_Job'; + +CREATE TABLE er_workflow +( + id BIGSERIAL PRIMARY KEY, + workflow_name varchar(64) NOT NULL, + namespace_id varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', + group_name varchar(64) NOT NULL, + workflow_status smallint NOT NULL DEFAULT 1, + trigger_type smallint NOT NULL, + trigger_interval varchar(255) NOT NULL, + next_trigger_at BIGINT NOT NULL, + block_strategy smallint NOT NULL DEFAULT 1, + executor_timeout INT NOT NULL DEFAULT 0, + description varchar(256) NOT NULL DEFAULT '', + flow_info text DEFAULT NULL, + bucket_index INT NOT NULL DEFAULT 0, + version INT NOT NULL, + create_dt timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, + update_dt timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, + deleted smallint NOT NULL DEFAULT 0, + ext_attrs varchar(256) NULL DEFAULT '' +); + + +CREATE INDEX idx_create_dt_workflow ON workflow (create_dt); +CREATE INDEX idx_namespace_id_group_name_workflow ON workflow (namespace_id, group_name); + +COMMENT ON TABLE workflow IS '工作流'; +COMMENT ON COLUMN workflow.id IS '主键'; +COMMENT ON COLUMN workflow.workflow_name IS '工作流名称'; +COMMENT ON COLUMN workflow.namespace_id IS '命名空间id'; +COMMENT ON COLUMN workflow.group_name IS '组名称'; +COMMENT ON COLUMN workflow.workflow_status IS '工作流状态 0、关闭、1、开启'; +COMMENT ON COLUMN workflow.trigger_type IS '触发类型 1.CRON 表达式 2. 固定时间'; +COMMENT ON COLUMN workflow.trigger_interval IS '间隔时长'; +COMMENT ON COLUMN workflow.next_trigger_at IS '下次触发时间'; +COMMENT ON COLUMN workflow.block_strategy IS '阻塞策略 1、丢弃 2、覆盖 3、并行'; +COMMENT ON COLUMN workflow.executor_timeout IS '任务执行超时时间,单位秒'; +COMMENT ON COLUMN workflow.description IS '描述'; +COMMENT ON COLUMN workflow.flow_info IS '流程信息'; +COMMENT ON COLUMN workflow.bucket_index IS 'bucket'; +COMMENT ON COLUMN workflow.version IS '版本号'; +COMMENT ON COLUMN workflow.create_dt IS '创建时间'; +COMMENT ON COLUMN workflow.update_dt IS '修改时间'; +COMMENT ON COLUMN workflow.deleted IS '逻辑删除 1、删除'; +COMMENT ON COLUMN workflow.ext_attrs IS '扩展字段'; + +CREATE TABLE er_workflow_node +( + id BIGSERIAL PRIMARY KEY, + namespace_id VARCHAR(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', + node_name VARCHAR(64) NOT NULL, + group_name VARCHAR(64) NOT NULL, + job_id BIGINT NOT NULL, + workflow_id BIGINT NOT NULL, + node_type SMALLINT NOT NULL DEFAULT 1, + expression_type SMALLINT NOT NULL DEFAULT 0, + fail_strategy SMALLINT NOT NULL DEFAULT 1, + workflow_node_status SMALLINT NOT NULL DEFAULT 1, + priority_level INT NOT NULL DEFAULT 1, + node_info TEXT DEFAULT NULL, + version INT NOT NULL, + create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + update_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + deleted SMALLINT NOT NULL DEFAULT 0, + ext_attrs VARCHAR(256) NULL DEFAULT '' +); + +CREATE INDEX idx_create_dt_workflow_node ON workflow_node (create_dt); +CREATE INDEX idx_namespace_id_group_name_workflow_node ON workflow_node (namespace_id, group_name); + +COMMENT ON TABLE workflow_node IS '工作流节点'; +COMMENT ON COLUMN workflow_node.id IS '主键'; +COMMENT ON COLUMN workflow_node.namespace_id IS '命名空间id'; +COMMENT ON COLUMN workflow_node.node_name IS '节点名称'; +COMMENT ON COLUMN workflow_node.group_name IS '组名称'; +COMMENT ON COLUMN workflow_node.job_id IS '任务信息id'; +COMMENT ON COLUMN workflow_node.workflow_id IS '工作流ID'; +COMMENT ON COLUMN workflow_node.node_type IS '1、任务节点 2、条件节点'; +COMMENT ON COLUMN workflow_node.expression_type IS '1、SpEl、2、Aviator 3、QL'; +COMMENT ON COLUMN workflow_node.fail_strategy IS '失败策略 1、跳过 2、阻塞'; +COMMENT ON COLUMN workflow_node.workflow_node_status IS '工作流节点状态 0、关闭、1、开启'; +COMMENT ON COLUMN workflow_node.priority_level IS '优先级'; +COMMENT ON COLUMN workflow_node.node_info IS '节点信息'; +COMMENT ON COLUMN workflow_node.version IS '版本号'; +COMMENT ON COLUMN workflow_node.create_dt IS '创建时间'; +COMMENT ON COLUMN workflow_node.update_dt IS '修改时间'; +COMMENT ON COLUMN workflow_node.deleted IS '逻辑删除 1、删除'; +COMMENT ON COLUMN workflow_node.ext_attrs IS '扩展字段'; + +CREATE TABLE er_workflow_task_batch +( + id BIGSERIAL PRIMARY KEY, + namespace_id VARCHAR(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', + group_name VARCHAR(64) NOT NULL, + workflow_id BIGINT NOT NULL, + task_batch_status SMALLINT NOT NULL DEFAULT 0, + operation_reason SMALLINT NOT NULL DEFAULT 0, + flow_info TEXT DEFAULT NULL, + execution_at BIGINT NOT NULL DEFAULT 0, + create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + update_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, + deleted SMALLINT NOT NULL DEFAULT 0, + ext_attrs VARCHAR(256) NULL DEFAULT '' +); + +CREATE INDEX idx_job_id_task_batch_status_workflow_task_batch ON workflow_task_batch (workflow_id, task_batch_status); +CREATE INDEX idx_create_dt_workflow_task_batch ON workflow_task_batch (create_dt); +CREATE INDEX idx_namespace_id_group_name_workflow_task_batch ON workflow_task_batch (namespace_id, group_name); + +COMMENT ON TABLE workflow_task_batch IS '工作流批次'; +COMMENT ON COLUMN workflow_task_batch.id IS '主键'; +COMMENT ON COLUMN workflow_task_batch.namespace_id IS '命名空间id'; +COMMENT ON COLUMN workflow_task_batch.group_name IS '组名称'; +COMMENT ON COLUMN workflow_task_batch.workflow_id IS '工作流任务id'; +COMMENT ON COLUMN workflow_task_batch.task_batch_status IS '任务批次状态 0、失败 1、成功'; +COMMENT ON COLUMN workflow_task_batch.operation_reason IS '操作原因'; +COMMENT ON COLUMN workflow_task_batch.flow_info IS '流程信息'; +COMMENT ON COLUMN workflow_task_batch.execution_at IS '任务执行时间'; +COMMENT ON COLUMN workflow_task_batch.create_dt IS '创建时间'; +COMMENT ON COLUMN workflow_task_batch.update_dt IS '修改时间'; +COMMENT ON COLUMN workflow_task_batch.deleted IS '逻辑删除 1、删除'; +COMMENT ON COLUMN workflow_task_batch.ext_attrs IS '扩展字段'; diff --git a/script/sql/sqlserver/easy_retry_sqlserver.sql b/script/sql/sqlserver/easy_retry_sqlserver.sql new file mode 100644 index 000000000..9350dca45 --- /dev/null +++ b/script/sql/sqlserver/easy_retry_sqlserver.sql @@ -0,0 +1,2749 @@ +-- er_distributed_lock +CREATE TABLE er_distributed_lock +( + id bigint PRIMARY KEY IDENTITY, + name nvarchar(64) NOT NULL, + lock_until datetime2 NOT NULL DEFAULT GETDATE(), + locked_at datetime2 NOT NULL DEFAULT GETDATE(), + locked_by nvarchar(255) NOT NULL, + create_dt datetime2 NOT NULL DEFAULT GETDATE(), + update_dt datetime2 NOT NULL DEFAULT GETDATE() +) +GO + +CREATE UNIQUE NONCLUSTERED INDEX uk_name ON distributed_lock (name ASC) +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'主键', + 'SCHEMA', N'dbo', + 'TABLE', N'distributed_lock', + 'COLUMN', N'id' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'锁名称', + 'SCHEMA', N'dbo', + 'TABLE', N'distributed_lock', + 'COLUMN', N'name' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'锁定时长', + 'SCHEMA', N'dbo', + 'TABLE', N'distributed_lock', + 'COLUMN', N'lock_until' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'锁定时间', + 'SCHEMA', N'dbo', + 'TABLE', N'distributed_lock', + 'COLUMN', N'locked_at' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'锁定者', + 'SCHEMA', N'dbo', + 'TABLE', N'distributed_lock', + 'COLUMN', N'locked_by' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'创建时间', + 'SCHEMA', N'dbo', + 'TABLE', N'distributed_lock', + 'COLUMN', N'create_dt' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'修改时间', + 'SCHEMA', N'dbo', + 'TABLE', N'distributed_lock', + 'COLUMN', N'update_dt' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'锁定表', + 'SCHEMA', N'dbo', + 'TABLE', N'distributed_lock' +GO + +-- er_group_config +CREATE TABLE er_group_config +( + id bigint PRIMARY KEY IDENTITY, + namespace_id nvarchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', + group_name nvarchar(64) NOT NULL DEFAULT '', + description nvarchar(256) NOT NULL DEFAULT '', + token nvarchar(64) NOT NULL DEFAULT 'ER_cKqBTPzCsWA3VyuCfFoccmuIEGXjr5KT', + group_status tinyint NOT NULL DEFAULT '0', + version int NOT NULL, + group_partition int NOT NULL, + id_generator_mode tinyint NOT NULL DEFAULT '1', + init_scene tinyint NOT NULL DEFAULT '0', + bucket_index int NOT NULL DEFAULT '0', + create_dt datetime2 NOT NULL DEFAULT GETDATE(), + update_dt datetime2 NOT NULL DEFAULT GETDATE() +) +GO + +CREATE UNIQUE NONCLUSTERED INDEX uk_namespace_id_group_name ON group_config (namespace_id ASC, group_name ASC) +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'主键', + 'SCHEMA', N'dbo', + 'TABLE', N'group_config', + 'COLUMN', N'id' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'命名空间id', + 'SCHEMA', N'dbo', + 'TABLE', N'group_config', + 'COLUMN', N'namespace_id' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'组名称', + 'SCHEMA', N'dbo', + 'TABLE', N'group_config', + 'COLUMN', N'group_name' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'组描述', + 'SCHEMA', N'dbo', + 'TABLE', N'group_config', + 'COLUMN', N'description' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'token', + 'SCHEMA', N'dbo', + 'TABLE', N'group_config', + 'COLUMN', N'token' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'组状态 0、未启用 1、启用', + 'SCHEMA', N'dbo', + 'TABLE', N'group_config', + 'COLUMN', N'group_status' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'版本号', + 'SCHEMA', N'dbo', + 'TABLE', N'group_config', + 'COLUMN', N'version' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'分区', + 'SCHEMA', N'dbo', + 'TABLE', N'group_config', + 'COLUMN', N'group_partition' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'唯一id生成模式 默认号段模式', + 'SCHEMA', N'dbo', + 'TABLE', N'group_config', + 'COLUMN', N'id_generator_mode' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'是否初始化场景 0:否 1:是', + 'SCHEMA', N'dbo', + 'TABLE', N'group_config', + 'COLUMN', N'init_scene' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'bucket', + 'SCHEMA', N'dbo', + 'TABLE', N'group_config', + 'COLUMN', N'bucket_index' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'创建时间', + 'SCHEMA', N'dbo', + 'TABLE', N'group_config', + 'COLUMN', N'create_dt' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'修改时间', + 'SCHEMA', N'dbo', + 'TABLE', N'group_config', + 'COLUMN', N'update_dt' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'组配置', + 'SCHEMA', N'dbo', + 'TABLE', N'group_config' +GO + +INSERT INTO er_group_config VALUES (N'1', N'dev', N'ruoyi_group', N'', N'ER_cKqBTPzCsWA3VyuCfFoccmuIEGXjr5KT', N'1', N'1', N'0', N'1', N'1', N'4', getdate(), getdate()); +GO + +-- er_job +CREATE TABLE er_job +( + id bigint PRIMARY KEY IDENTITY, + namespace_id nvarchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', + group_name nvarchar(64) NOT NULL, + job_name nvarchar(64) NOT NULL, + args_str nvarchar(max) NULL, + args_type tinyint NOT NULL DEFAULT '1', + next_trigger_at bigint NOT NULL, + job_status tinyint NOT NULL DEFAULT '1', + task_type tinyint NOT NULL DEFAULT '1', + route_key tinyint NOT NULL DEFAULT '4', + executor_type tinyint NOT NULL DEFAULT '1', + executor_info nvarchar(255) NULL DEFAULT '', + trigger_type tinyint NOT NULL, + trigger_interval nvarchar(255) NOT NULL, + block_strategy tinyint NOT NULL DEFAULT '1', + executor_timeout int NOT NULL DEFAULT '0', + max_retry_times int NOT NULL DEFAULT '0', + parallel_num int NOT NULL DEFAULT '1', + retry_interval int NOT NULL DEFAULT '0', + bucket_index int NOT NULL DEFAULT '0', + resident tinyint NOT NULL DEFAULT '0', + description nvarchar(256) NOT NULL DEFAULT '', + ext_attrs nvarchar(256) NULL DEFAULT '', + create_dt datetime2 DEFAULT GETDATE(), + update_dt datetime2 DEFAULT GETDATE(), + deleted BIT NOT NULL DEFAULT 0 +) +GO + +CREATE NONCLUSTERED INDEX idx_namespace_id_group_name ON job (namespace_id ASC, group_name ASC) +GO +CREATE NONCLUSTERED INDEX idx_job_status_bucket_index ON job (job_status ASC, bucket_index ASC) +GO +CREATE NONCLUSTERED INDEX idx_create_dt ON job (create_dt ASC) +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'主键', + 'SCHEMA', N'dbo', + 'TABLE', N'job', + 'COLUMN', N'id' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'命名空间id', + 'SCHEMA', N'dbo', + 'TABLE', N'job', + 'COLUMN', N'namespace_id' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'组名称', + 'SCHEMA', N'dbo', + 'TABLE', N'job', + 'COLUMN', N'group_name' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'名称', + 'SCHEMA', N'dbo', + 'TABLE', N'job', + 'COLUMN', N'job_name' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'执行方法参数', + 'SCHEMA', N'dbo', + 'TABLE', N'job', + 'COLUMN', N'args_str' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'参数类型 ', + 'SCHEMA', N'dbo', + 'TABLE', N'job', + 'COLUMN', N'args_type' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'下次触发时间', + 'SCHEMA', N'dbo', + 'TABLE', N'job', + 'COLUMN', N'next_trigger_at' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'任务状态 0、关闭、1、开启', + 'SCHEMA', N'dbo', + 'TABLE', N'job', + 'COLUMN', N'job_status' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'任务类型 1、集群 2、广播 3、切片', + 'SCHEMA', N'dbo', + 'TABLE', N'job', + 'COLUMN', N'task_type' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'路由策略', + 'SCHEMA', N'dbo', + 'TABLE', N'job', + 'COLUMN', N'route_key' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'执行器类型', + 'SCHEMA', N'dbo', + 'TABLE', N'job', + 'COLUMN', N'executor_type' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'执行器名称', + 'SCHEMA', N'dbo', + 'TABLE', N'job', + 'COLUMN', N'executor_info' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'触发类型 1.CRON 表达式 2. 固定时间', + 'SCHEMA', N'dbo', + 'TABLE', N'job', + 'COLUMN', N'trigger_type' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'间隔时长', + 'SCHEMA', N'dbo', + 'TABLE', N'job', + 'COLUMN', N'trigger_interval' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'阻塞策略 1、丢弃 2、覆盖 3、并行', + 'SCHEMA', N'dbo', + 'TABLE', N'job', + 'COLUMN', N'block_strategy' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'任务执行超时时间,单位秒', + 'SCHEMA', N'dbo', + 'TABLE', N'job', + 'COLUMN', N'executor_timeout' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'最大重试次数', + 'SCHEMA', N'dbo', + 'TABLE', N'job', + 'COLUMN', N'max_retry_times' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'并行数', + 'SCHEMA', N'dbo', + 'TABLE', N'job', + 'COLUMN', N'parallel_num' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'重试间隔(s)', + 'SCHEMA', N'dbo', + 'TABLE', N'job', + 'COLUMN', N'retry_interval' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'bucket', + 'SCHEMA', N'dbo', + 'TABLE', N'job', + 'COLUMN', N'bucket_index' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'是否是常驻任务', + 'SCHEMA', N'dbo', + 'TABLE', N'job', + 'COLUMN', N'resident' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'描述', + 'SCHEMA', N'dbo', + 'TABLE', N'job', + 'COLUMN', N'description' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'扩展字段', + 'SCHEMA', N'dbo', + 'TABLE', N'job', + 'COLUMN', N'ext_attrs' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'创建时间', + 'SCHEMA', N'dbo', + 'TABLE', N'job', + 'COLUMN', N'create_dt' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'修改时间', + 'SCHEMA', N'dbo', + 'TABLE', N'job', + 'COLUMN', N'update_dt' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'逻辑删除 1、删除', + 'SCHEMA', N'dbo', + 'TABLE', N'job', + 'COLUMN', N'deleted' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'任务信息', + 'SCHEMA', N'dbo', + 'TABLE', N'job' +GO + + +-- er_job_log_message +CREATE TABLE er_job_log_message +( + id bigint PRIMARY KEY IDENTITY, + namespace_id nvarchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', + group_name nvarchar(64) NOT NULL, + job_id bigint NOT NULL, + task_batch_id bigint NOT NULL, + task_id bigint NOT NULL, + message nvarchar(max) NOT NULL, + log_num int NOT NULL DEFAULT '1', + real_time bigint NOT NULL DEFAULT '0', + create_dt datetime2 NOT NULL DEFAULT GETDATE(), + ext_attrs nvarchar(256) NULL DEFAULT '' +) +GO + +CREATE NONCLUSTERED INDEX idx_task_batch_id_task_id ON job_log_message (task_batch_id ASC, task_id ASC) +GO +CREATE NONCLUSTERED INDEX idx_create_dt ON job_log_message (create_dt ASC) +GO +CREATE NONCLUSTERED INDEX idx_namespace_id_group_name ON job_log_message (namespace_id ASC, group_name ASC) +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'主键', + 'SCHEMA', N'dbo', + 'TABLE', N'job_log_message', + 'COLUMN', N'id' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'命名空间id', + 'SCHEMA', N'dbo', + 'TABLE', N'job_log_message', + 'COLUMN', N'namespace_id' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'组名称', + 'SCHEMA', N'dbo', + 'TABLE', N'job_log_message', + 'COLUMN', N'group_name' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'任务信息id', + 'SCHEMA', N'dbo', + 'TABLE', N'job_log_message', + 'COLUMN', N'job_id' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'任务批次id', + 'SCHEMA', N'dbo', + 'TABLE', N'job_log_message', + 'COLUMN', N'task_batch_id' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'调度任务id', + 'SCHEMA', N'dbo', + 'TABLE', N'job_log_message', + 'COLUMN', N'task_id' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'调度信息', + 'SCHEMA', N'dbo', + 'TABLE', N'job_log_message', + 'COLUMN', N'message' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'日志数量', + 'SCHEMA', N'dbo', + 'TABLE', N'job_log_message', + 'COLUMN', N'log_num' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'上报时间', + 'SCHEMA', N'dbo', + 'TABLE', N'job_log_message', + 'COLUMN', N'real_time' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'创建时间', + 'SCHEMA', N'dbo', + 'TABLE', N'job_log_message', + 'COLUMN', N'create_dt' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'扩展字段', + 'SCHEMA', N'dbo', + 'TABLE', N'job_log_message', + 'COLUMN', N'ext_attrs' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'调度日志', + 'SCHEMA', N'dbo', + 'TABLE', N'job_log_message' +GO + + +-- er_job_notify_config +CREATE TABLE er_job_notify_config +( + id bigint PRIMARY KEY IDENTITY, + namespace_id nvarchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', + group_name nvarchar(64) NOT NULL, + job_id bigint NOT NULL, + notify_status tinyint NOT NULL DEFAULT '0', + notify_type tinyint NOT NULL DEFAULT '0', + notify_attribute nvarchar(512) NOT NULL, + notify_threshold int NOT NULL DEFAULT '0', + notify_scene tinyint NOT NULL DEFAULT '0', + rate_limiter_status tinyint NOT NULL DEFAULT '0', + rate_limiter_threshold int NOT NULL DEFAULT '0', + description nvarchar(256) NOT NULL DEFAULT '', + create_dt datetime2 NOT NULL DEFAULT GETDATE(), + update_dt datetime2 NOT NULL DEFAULT GETDATE() +) +GO + +CREATE NONCLUSTERED INDEX idx_namespace_id_group_name_job_id ON job_notify_config (namespace_id ASC, group_name ASC, job_id ASC) +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'主键', + 'SCHEMA', N'dbo', + 'TABLE', N'job_notify_config', + 'COLUMN', N'id' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'命名空间id', + 'SCHEMA', N'dbo', + 'TABLE', N'job_notify_config', + 'COLUMN', N'namespace_id' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'组名称', + 'SCHEMA', N'dbo', + 'TABLE', N'job_notify_config', + 'COLUMN', N'group_name' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'任务id', + 'SCHEMA', N'dbo', + 'TABLE', N'job_notify_config', + 'COLUMN', N'job_id' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'通知状态 0、未启用 1、启用', + 'SCHEMA', N'dbo', + 'TABLE', N'job_notify_config', + 'COLUMN', N'notify_status' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'通知类型 1、钉钉 2、邮件 3、企业微信', + 'SCHEMA', N'dbo', + 'TABLE', N'job_notify_config', + 'COLUMN', N'notify_type' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'配置属性', + 'SCHEMA', N'dbo', + 'TABLE', N'job_notify_config', + 'COLUMN', N'notify_attribute' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'通知阈值', + 'SCHEMA', N'dbo', + 'TABLE', N'job_notify_config', + 'COLUMN', N'notify_threshold' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'通知场景', + 'SCHEMA', N'dbo', + 'TABLE', N'job_notify_config', + 'COLUMN', N'notify_scene' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'限流状态 0、未启用 1、启用', + 'SCHEMA', N'dbo', + 'TABLE', N'job_notify_config', + 'COLUMN', N'rate_limiter_status' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'每秒限流阈值', + 'SCHEMA', N'dbo', + 'TABLE', N'job_notify_config', + 'COLUMN', N'rate_limiter_threshold' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'描述', + 'SCHEMA', N'dbo', + 'TABLE', N'job_notify_config', + 'COLUMN', N'description' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'创建时间', + 'SCHEMA', N'dbo', + 'TABLE', N'job_notify_config', + 'COLUMN', N'create_dt' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'修改时间', + 'SCHEMA', N'dbo', + 'TABLE', N'job_notify_config', + 'COLUMN', N'update_dt' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'job通知配置', + 'SCHEMA', N'dbo', + 'TABLE', N'job_notify_config' +GO + + +-- er_job_summary +CREATE TABLE er_job_summary +( + id bigint PRIMARY KEY IDENTITY, + namespace_id nvarchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', + group_name nvarchar(64) NOT NULL, + business_id bigint NOT NULL, + system_task_type tinyint NOT NULL DEFAULT '3', + trigger_at datetime2 NOT NULL, + success_num int NOT NULL DEFAULT '0', + fail_num int NOT NULL DEFAULT '0', + fail_reason nvarchar(512) NOT NULL DEFAULT '', + stop_num int NOT NULL DEFAULT '0', + stop_reason nvarchar(512) NOT NULL DEFAULT '', + cancel_num int NOT NULL DEFAULT '0', + cancel_reason nvarchar(512) NOT NULL DEFAULT '', + create_dt datetime2 NOT NULL DEFAULT GETDATE(), + update_dt datetime2 NOT NULL DEFAULT GETDATE() +) +GO + +CREATE UNIQUE NONCLUSTERED INDEX uk_trigger_at_system_task_type_business_id ON job_summary (trigger_at ASC, system_task_type ASC, business_id ASC) +GO +CREATE NONCLUSTERED INDEX idx_namespace_id_group_name_business_id ON job_summary (namespace_id ASC, group_name ASC, business_id ASC) +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'主键', + 'SCHEMA', N'dbo', + 'TABLE', N'job_summary', + 'COLUMN', N'id' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'命名空间id', + 'SCHEMA', N'dbo', + 'TABLE', N'job_summary', + 'COLUMN', N'namespace_id' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'组名称', + 'SCHEMA', N'dbo', + 'TABLE', N'job_summary', + 'COLUMN', N'group_name' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'业务id (job_id或workflow_id)', + 'SCHEMA', N'dbo', + 'TABLE', N'job_summary', + 'COLUMN', N'business_id' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'任务类型 3、JOB任务 4、WORKFLOW任务', + 'SCHEMA', N'dbo', + 'TABLE', N'job_summary', + 'COLUMN', N'system_task_type' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'统计时间', + 'SCHEMA', N'dbo', + 'TABLE', N'job_summary', + 'COLUMN', N'trigger_at' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'执行成功-日志数量', + 'SCHEMA', N'dbo', + 'TABLE', N'job_summary', + 'COLUMN', N'success_num' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'执行失败-日志数量', + 'SCHEMA', N'dbo', + 'TABLE', N'job_summary', + 'COLUMN', N'fail_num' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'失败原因', + 'SCHEMA', N'dbo', + 'TABLE', N'job_summary', + 'COLUMN', N'fail_reason' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'执行失败-日志数量', + 'SCHEMA', N'dbo', + 'TABLE', N'job_summary', + 'COLUMN', N'stop_num' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'失败原因', + 'SCHEMA', N'dbo', + 'TABLE', N'job_summary', + 'COLUMN', N'stop_reason' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'执行失败-日志数量', + 'SCHEMA', N'dbo', + 'TABLE', N'job_summary', + 'COLUMN', N'cancel_num' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'失败原因', + 'SCHEMA', N'dbo', + 'TABLE', N'job_summary', + 'COLUMN', N'cancel_reason' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'创建时间', + 'SCHEMA', N'dbo', + 'TABLE', N'job_summary', + 'COLUMN', N'create_dt' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'修改时间', + 'SCHEMA', N'dbo', + 'TABLE', N'job_summary', + 'COLUMN', N'update_dt' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'DashBoard_Job', + 'SCHEMA', N'dbo', + 'TABLE', N'job_summary' +GO + + +-- er_job_task +CREATE TABLE er_job_task +( + id bigint PRIMARY KEY IDENTITY, + namespace_id nvarchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', + group_name nvarchar(64) NOT NULL, + job_id bigint NOT NULL, + task_batch_id bigint NOT NULL, + parent_id bigint NOT NULL DEFAULT '0', + task_status tinyint NOT NULL DEFAULT '0', + retry_count int NOT NULL DEFAULT '0', + client_info nvarchar(128) NULL, + result_message nvarchar(max) NOT NULL, + args_str nvarchar(max) NULL, + args_type tinyint NOT NULL DEFAULT '1', + ext_attrs nvarchar(256) NULL DEFAULT '', + create_dt datetime2 NOT NULL DEFAULT GETDATE(), + update_dt datetime2 NOT NULL DEFAULT GETDATE() +) +GO + +CREATE NONCLUSTERED INDEX idx_task_batch_id_task_status ON job_task (task_batch_id ASC, task_status ASC) +GO +CREATE NONCLUSTERED INDEX idx_create_dt ON job_task (create_dt ASC) +GO +CREATE NONCLUSTERED INDEX idx_namespace_id_group_name ON job_task (namespace_id ASC, group_name ASC) +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'主键', + 'SCHEMA', N'dbo', + 'TABLE', N'job_task', + 'COLUMN', N'id' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'命名空间id', + 'SCHEMA', N'dbo', + 'TABLE', N'job_task', + 'COLUMN', N'namespace_id' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'组名称', + 'SCHEMA', N'dbo', + 'TABLE', N'job_task', + 'COLUMN', N'group_name' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'任务信息id', + 'SCHEMA', N'dbo', + 'TABLE', N'job_task', + 'COLUMN', N'job_id' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'调度任务id', + 'SCHEMA', N'dbo', + 'TABLE', N'job_task', + 'COLUMN', N'task_batch_id' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'父执行器id', + 'SCHEMA', N'dbo', + 'TABLE', N'job_task', + 'COLUMN', N'parent_id' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'执行的状态 0、失败 1、成功', + 'SCHEMA', N'dbo', + 'TABLE', N'job_task', + 'COLUMN', N'task_status' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'重试次数', + 'SCHEMA', N'dbo', + 'TABLE', N'job_task', + 'COLUMN', N'retry_count' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'客户端地址 clientId#ip:port', + 'SCHEMA', N'dbo', + 'TABLE', N'job_task', + 'COLUMN', N'client_info' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'执行结果', + 'SCHEMA', N'dbo', + 'TABLE', N'job_task', + 'COLUMN', N'result_message' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'执行方法参数', + 'SCHEMA', N'dbo', + 'TABLE', N'job_task', + 'COLUMN', N'args_str' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'参数类型 ', + 'SCHEMA', N'dbo', + 'TABLE', N'job_task', + 'COLUMN', N'args_type' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'扩展字段', + 'SCHEMA', N'dbo', + 'TABLE', N'job_task', + 'COLUMN', N'ext_attrs' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'创建时间', + 'SCHEMA', N'dbo', + 'TABLE', N'job_task', + 'COLUMN', N'create_dt' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'修改时间', + 'SCHEMA', N'dbo', + 'TABLE', N'job_task', + 'COLUMN', N'update_dt' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'任务实例', + 'SCHEMA', N'dbo', + 'TABLE', N'job_task' +GO + +-- er_job_task_batch +CREATE TABLE er_job_task_batch +( + id bigint PRIMARY KEY IDENTITY, + namespace_id nvarchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', + group_name nvarchar(64) NOT NULL, + job_id bigint NOT NULL, + workflow_node_id bigint NOT NULL DEFAULT '0', + parent_workflow_node_id bigint NOT NULL DEFAULT '0', + workflow_task_batch_id bigint NOT NULL DEFAULT '0', + task_batch_status tinyint NOT NULL DEFAULT '0', + operation_reason tinyint NOT NULL DEFAULT '0', + execution_at bigint NOT NULL DEFAULT '0', + system_task_type tinyint NOT NULL DEFAULT '3', + parent_id nvarchar(64) NOT NULL DEFAULT '', + create_dt datetime2 NOT NULL DEFAULT GETDATE(), + update_dt datetime2 NOT NULL DEFAULT GETDATE(), + deleted BIT DEFAULT 0, + ext_attrs nvarchar(256) NULL DEFAULT '' +) +GO + +CREATE NONCLUSTERED INDEX idx_job_id_task_batch_status ON job_task_batch (job_id ASC, task_batch_status ASC) +GO +CREATE NONCLUSTERED INDEX idx_create_dt ON job_task_batch (create_dt ASC) +GO +CREATE NONCLUSTERED INDEX idx_namespace_id_group_name ON job_task_batch (namespace_id ASC, group_name ASC) +GO +CREATE NONCLUSTERED INDEX idx_workflow_task_batch_id_workflow_node_id ON job_task_batch (workflow_task_batch_id ASC, workflow_node_id ASC) +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'主键', + 'SCHEMA', N'dbo', + 'TABLE', N'job_task_batch', + 'COLUMN', N'id' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'命名空间id', + 'SCHEMA', N'dbo', + 'TABLE', N'job_task_batch', + 'COLUMN', N'namespace_id' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'组名称', + 'SCHEMA', N'dbo', + 'TABLE', N'job_task_batch', + 'COLUMN', N'group_name' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'任务id', + 'SCHEMA', N'dbo', + 'TABLE', N'job_task_batch', + 'COLUMN', N'job_id' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'工作流节点id', + 'SCHEMA', N'dbo', + 'TABLE', N'job_task_batch', + 'COLUMN', N'workflow_node_id' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'工作流任务父批次id', + 'SCHEMA', N'dbo', + 'TABLE', N'job_task_batch', + 'COLUMN', N'parent_workflow_node_id' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'工作流任务批次id', + 'SCHEMA', N'dbo', + 'TABLE', N'job_task_batch', + 'COLUMN', N'workflow_task_batch_id' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'任务批次状态 0、失败 1、成功', + 'SCHEMA', N'dbo', + 'TABLE', N'job_task_batch', + 'COLUMN', N'task_batch_status' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'操作原因', + 'SCHEMA', N'dbo', + 'TABLE', N'job_task_batch', + 'COLUMN', N'operation_reason' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'任务执行时间', + 'SCHEMA', N'dbo', + 'TABLE', N'job_task_batch', + 'COLUMN', N'execution_at' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'任务类型 3、JOB任务 4、WORKFLOW任务', + 'SCHEMA', N'dbo', + 'TABLE', N'job_task_batch', + 'COLUMN', N'system_task_type' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'父节点', + 'SCHEMA', N'dbo', + 'TABLE', N'job_task_batch', + 'COLUMN', N'parent_id' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'创建时间', + 'SCHEMA', N'dbo', + 'TABLE', N'job_task_batch', + 'COLUMN', N'create_dt' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'修改时间', + 'SCHEMA', N'dbo', + 'TABLE', N'job_task_batch', + 'COLUMN', N'update_dt' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'逻辑删除 1、删除', + 'SCHEMA', N'dbo', + 'TABLE', N'job_task_batch', + 'COLUMN', N'deleted' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'扩展字段', + 'SCHEMA', N'dbo', + 'TABLE', N'job_task_batch', + 'COLUMN', N'ext_attrs' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'任务批次', + 'SCHEMA', N'dbo', + 'TABLE', N'job_task_batch' +GO + +-- er_namespace +CREATE TABLE er_namespace +( + id bigint PRIMARY KEY IDENTITY, + name nvarchar(64) NOT NULL, + unique_id nvarchar(64) NOT NULL, + description nvarchar(256) NOT NULL DEFAULT '', + create_dt datetime2 NOT NULL DEFAULT GETDATE(), + update_dt datetime2 NOT NULL DEFAULT GETDATE(), + deleted BIT NOT NULL DEFAULT 0 +) +GO + +CREATE UNIQUE NONCLUSTERED INDEX uk_unique_id ON namespace (unique_id ASC) +GO +CREATE NONCLUSTERED INDEX idx_name ON namespace (name ASC) +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'主键', + 'SCHEMA', N'dbo', + 'TABLE', N'namespace', + 'COLUMN', N'id' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'名称', + 'SCHEMA', N'dbo', + 'TABLE', N'namespace', + 'COLUMN', N'name' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'唯一id', + 'SCHEMA', N'dbo', + 'TABLE', N'namespace', + 'COLUMN', N'unique_id' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'描述', + 'SCHEMA', N'dbo', + 'TABLE', N'namespace', + 'COLUMN', N'description' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'创建时间', + 'SCHEMA', N'dbo', + 'TABLE', N'namespace', + 'COLUMN', N'create_dt' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'修改时间', + 'SCHEMA', N'dbo', + 'TABLE', N'namespace', + 'COLUMN', N'update_dt' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'逻辑删除 1、删除', + 'SCHEMA', N'dbo', + 'TABLE', N'namespace', + 'COLUMN', N'deleted' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'命名空间', + 'SCHEMA', N'dbo', + 'TABLE', N'namespace' +GO + +INSERT INTO er_namespace VALUES (N'1', N'Development', N'dev', N'', getdate(), getdate(), N'0'); +INSERT INTO er_namespace VALUES (N'2', N'Production', N'prod', N'', getdate(), getdate(), N'0'); +GO + +-- er_notify_config +CREATE TABLE er_notify_config +( + id bigint PRIMARY KEY IDENTITY, + namespace_id nvarchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', + group_name nvarchar(64) NOT NULL, + scene_name nvarchar(64) NOT NULL, + notify_status tinyint NOT NULL DEFAULT '0', + notify_type tinyint NOT NULL DEFAULT '0', + notify_attribute nvarchar(512) NOT NULL, + notify_threshold int NOT NULL DEFAULT '0', + notify_scene tinyint NOT NULL DEFAULT '0', + rate_limiter_status tinyint NOT NULL DEFAULT '0', + rate_limiter_threshold int NOT NULL DEFAULT '0', + description nvarchar(256) NOT NULL DEFAULT '', + create_dt datetime2 NOT NULL DEFAULT GETDATE(), + update_dt datetime2 NOT NULL DEFAULT GETDATE() +) +GO + +CREATE NONCLUSTERED INDEX idx_namespace_id_group_name_scene_name ON notify_config (namespace_id ASC, group_name ASC, scene_name ASC) +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'主键', + 'SCHEMA', N'dbo', + 'TABLE', N'notify_config', + 'COLUMN', N'id' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'命名空间id', + 'SCHEMA', N'dbo', + 'TABLE', N'notify_config', + 'COLUMN', N'namespace_id' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'组名称', + 'SCHEMA', N'dbo', + 'TABLE', N'notify_config', + 'COLUMN', N'group_name' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'场景名称', + 'SCHEMA', N'dbo', + 'TABLE', N'notify_config', + 'COLUMN', N'scene_name' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'通知状态 0、未启用 1、启用', + 'SCHEMA', N'dbo', + 'TABLE', N'notify_config', + 'COLUMN', N'notify_status' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'通知类型 1、钉钉 2、邮件 3、企业微信', + 'SCHEMA', N'dbo', + 'TABLE', N'notify_config', + 'COLUMN', N'notify_type' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'配置属性', + 'SCHEMA', N'dbo', + 'TABLE', N'notify_config', + 'COLUMN', N'notify_attribute' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'通知阈值', + 'SCHEMA', N'dbo', + 'TABLE', N'notify_config', + 'COLUMN', N'notify_threshold' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'通知场景', + 'SCHEMA', N'dbo', + 'TABLE', N'notify_config', + 'COLUMN', N'notify_scene' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'限流状态 0、未启用 1、启用', + 'SCHEMA', N'dbo', + 'TABLE', N'notify_config', + 'COLUMN', N'rate_limiter_status' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'每秒限流阈值', + 'SCHEMA', N'dbo', + 'TABLE', N'notify_config', + 'COLUMN', N'rate_limiter_threshold' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'描述', + 'SCHEMA', N'dbo', + 'TABLE', N'notify_config', + 'COLUMN', N'description' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'创建时间', + 'SCHEMA', N'dbo', + 'TABLE', N'notify_config', + 'COLUMN', N'create_dt' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'修改时间', + 'SCHEMA', N'dbo', + 'TABLE', N'notify_config', + 'COLUMN', N'update_dt' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'通知配置', + 'SCHEMA', N'dbo', + 'TABLE', N'notify_config' +GO + +-- er_retry_dead_letter_0 +CREATE TABLE er_retry_dead_letter_0 +( + id bigint PRIMARY KEY IDENTITY, + namespace_id nvarchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', + unique_id nvarchar(64) NOT NULL, + group_name nvarchar(64) NOT NULL, + scene_name nvarchar(64) NOT NULL, + idempotent_id nvarchar(64) NOT NULL, + biz_no nvarchar(64) NOT NULL DEFAULT '', + executor_name nvarchar(512) NOT NULL DEFAULT '', + args_str nvarchar(max) NOT NULL, + ext_attrs nvarchar(max) NOT NULL, + task_type tinyint NOT NULL DEFAULT '1', + create_dt datetime2 NOT NULL DEFAULT GETDATE() +) +GO + +CREATE UNIQUE NONCLUSTERED INDEX uk_namespace_id_group_name_unique_id ON retry_dead_letter_0 (namespace_id ASC, group_name ASC, unique_id ASC) +GO +CREATE NONCLUSTERED INDEX idx_namespace_id_group_name_scene_name ON retry_dead_letter_0 (namespace_id ASC, group_name ASC, scene_name ASC) +GO +CREATE NONCLUSTERED INDEX idx_idempotent_id ON retry_dead_letter_0 (idempotent_id ASC) +GO +CREATE NONCLUSTERED INDEX idx_biz_no ON retry_dead_letter_0 (biz_no ASC) +GO +CREATE NONCLUSTERED INDEX idx_create_dt ON retry_dead_letter_0 (create_dt ASC) +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'主键', + 'SCHEMA', N'dbo', + 'TABLE', N'retry_dead_letter_0', + 'COLUMN', N'id' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'命名空间id', + 'SCHEMA', N'dbo', + 'TABLE', N'retry_dead_letter_0', + 'COLUMN', N'namespace_id' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'同组下id唯一', + 'SCHEMA', N'dbo', + 'TABLE', N'retry_dead_letter_0', + 'COLUMN', N'unique_id' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'组名称', + 'SCHEMA', N'dbo', + 'TABLE', N'retry_dead_letter_0', + 'COLUMN', N'group_name' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'场景名称', + 'SCHEMA', N'dbo', + 'TABLE', N'retry_dead_letter_0', + 'COLUMN', N'scene_name' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'幂等id', + 'SCHEMA', N'dbo', + 'TABLE', N'retry_dead_letter_0', + 'COLUMN', N'idempotent_id' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'业务编号', + 'SCHEMA', N'dbo', + 'TABLE', N'retry_dead_letter_0', + 'COLUMN', N'biz_no' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'执行器名称', + 'SCHEMA', N'dbo', + 'TABLE', N'retry_dead_letter_0', + 'COLUMN', N'executor_name' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'执行方法参数', + 'SCHEMA', N'dbo', + 'TABLE', N'retry_dead_letter_0', + 'COLUMN', N'args_str' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'扩展字段', + 'SCHEMA', N'dbo', + 'TABLE', N'retry_dead_letter_0', + 'COLUMN', N'ext_attrs' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'任务类型 1、重试数据 2、回调数据', + 'SCHEMA', N'dbo', + 'TABLE', N'retry_dead_letter_0', + 'COLUMN', N'task_type' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'创建时间', + 'SCHEMA', N'dbo', + 'TABLE', N'retry_dead_letter_0', + 'COLUMN', N'create_dt' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'死信队列表', + 'SCHEMA', N'dbo', + 'TABLE', N'retry_dead_letter_0' +GO + + +-- er_retry_summary +CREATE TABLE er_retry_summary +( + id bigint PRIMARY KEY IDENTITY, + namespace_id nvarchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', + group_name nvarchar(64) NOT NULL DEFAULT '', + scene_name nvarchar(50) NOT NULL DEFAULT '', + trigger_at datetime2 NOT NULL DEFAULT GETDATE(), + running_num int NOT NULL DEFAULT '0', + finish_num int NOT NULL DEFAULT '0', + max_count_num int NOT NULL DEFAULT '0', + suspend_num int NOT NULL DEFAULT '0', + create_dt datetime2 NOT NULL DEFAULT GETDATE(), + update_dt datetime2 NOT NULL DEFAULT GETDATE() +) +GO + +CREATE UNIQUE NONCLUSTERED INDEX uk_scene_name_trigger_at ON retry_summary (namespace_id ASC, group_name ASC, + scene_name ASC, trigger_at ASC) +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'主键', + 'SCHEMA', N'dbo', + 'TABLE', N'retry_summary', + 'COLUMN', N'id' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'命名空间id', + 'SCHEMA', N'dbo', + 'TABLE', N'retry_summary', + 'COLUMN', N'namespace_id' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'组名称', + 'SCHEMA', N'dbo', + 'TABLE', N'retry_summary', + 'COLUMN', N'group_name' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'场景名称', + 'SCHEMA', N'dbo', + 'TABLE', N'retry_summary', + 'COLUMN', N'scene_name' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'统计时间', + 'SCHEMA', N'dbo', + 'TABLE', N'retry_summary', + 'COLUMN', N'trigger_at' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'重试中-日志数量', + 'SCHEMA', N'dbo', + 'TABLE', N'retry_summary', + 'COLUMN', N'running_num' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'重试完成-日志数量', + 'SCHEMA', N'dbo', + 'TABLE', N'retry_summary', + 'COLUMN', N'finish_num' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'重试到达最大次数-日志数量', + 'SCHEMA', N'dbo', + 'TABLE', N'retry_summary', + 'COLUMN', N'max_count_num' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'暂停重试-日志数量', + 'SCHEMA', N'dbo', + 'TABLE', N'retry_summary', + 'COLUMN', N'suspend_num' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'创建时间', + 'SCHEMA', N'dbo', + 'TABLE', N'retry_summary', + 'COLUMN', N'create_dt' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'修改时间', + 'SCHEMA', N'dbo', + 'TABLE', N'retry_summary', + 'COLUMN', N'update_dt' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'DashBoard_Retry', + 'SCHEMA', N'dbo', + 'TABLE', N'retry_summary' +GO + +-- er_retry_task_0 +CREATE TABLE er_retry_task_0 +( + id bigint PRIMARY KEY IDENTITY, + namespace_id nvarchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', + unique_id nvarchar(64) NOT NULL, + group_name nvarchar(64) NOT NULL, + scene_name nvarchar(64) NOT NULL, + idempotent_id nvarchar(64) NOT NULL, + biz_no nvarchar(64) NOT NULL DEFAULT '', + executor_name nvarchar(512) NOT NULL DEFAULT '', + args_str nvarchar(max) NOT NULL, + ext_attrs nvarchar(max) NOT NULL, + next_trigger_at datetime2 NOT NULL, + retry_count int NOT NULL DEFAULT '0', + retry_status tinyint NOT NULL DEFAULT '0', + task_type tinyint NOT NULL DEFAULT '1', + create_dt datetime2 NOT NULL DEFAULT GETDATE(), + update_dt datetime2 NOT NULL DEFAULT GETDATE() +) +GO + +CREATE UNIQUE NONCLUSTERED INDEX uk_name_unique_id ON retry_task_0 (namespace_id ASC, group_name ASC, unique_id ASC) +GO +CREATE NONCLUSTERED INDEX idx_namespace_id_group_name_scene_name ON retry_task_0 (namespace_id ASC, group_name ASC, scene_name ASC) +GO +CREATE NONCLUSTERED INDEX idx_namespace_id_group_name_task_type ON retry_task_0 (namespace_id ASC, group_name ASC, task_type ASC) +GO +CREATE NONCLUSTERED INDEX idx_namespace_id_group_name_retry_status ON retry_task_0 (namespace_id ASC, group_name ASC, retry_status ASC) +GO +CREATE NONCLUSTERED INDEX idx_idempotent_id ON retry_task_0 (idempotent_id ASC) +GO +CREATE NONCLUSTERED INDEX idx_biz_no ON retry_task_0 (biz_no ASC) +GO +CREATE NONCLUSTERED INDEX idx_create_dt ON retry_task_0 (create_dt ASC) +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'主键', + 'SCHEMA', N'dbo', + 'TABLE', N'retry_task_0', + 'COLUMN', N'id' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'命名空间id', + 'SCHEMA', N'dbo', + 'TABLE', N'retry_task_0', + 'COLUMN', N'namespace_id' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'同组下id唯一', + 'SCHEMA', N'dbo', + 'TABLE', N'retry_task_0', + 'COLUMN', N'unique_id' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'组名称', + 'SCHEMA', N'dbo', + 'TABLE', N'retry_task_0', + 'COLUMN', N'group_name' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'场景名称', + 'SCHEMA', N'dbo', + 'TABLE', N'retry_task_0', + 'COLUMN', N'scene_name' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'幂等id', + 'SCHEMA', N'dbo', + 'TABLE', N'retry_task_0', + 'COLUMN', N'idempotent_id' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'业务编号', + 'SCHEMA', N'dbo', + 'TABLE', N'retry_task_0', + 'COLUMN', N'biz_no' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'执行器名称', + 'SCHEMA', N'dbo', + 'TABLE', N'retry_task_0', + 'COLUMN', N'executor_name' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'执行方法参数', + 'SCHEMA', N'dbo', + 'TABLE', N'retry_task_0', + 'COLUMN', N'args_str' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'扩展字段', + 'SCHEMA', N'dbo', + 'TABLE', N'retry_task_0', + 'COLUMN', N'ext_attrs' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'下次触发时间', + 'SCHEMA', N'dbo', + 'TABLE', N'retry_task_0', + 'COLUMN', N'next_trigger_at' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'重试次数', + 'SCHEMA', N'dbo', + 'TABLE', N'retry_task_0', + 'COLUMN', N'retry_count' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'重试状态 0、重试中 1、成功 2、最大重试次数', + 'SCHEMA', N'dbo', + 'TABLE', N'retry_task_0', + 'COLUMN', N'retry_status' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'任务类型 1、重试数据 2、回调数据', + 'SCHEMA', N'dbo', + 'TABLE', N'retry_task_0', + 'COLUMN', N'task_type' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'创建时间', + 'SCHEMA', N'dbo', + 'TABLE', N'retry_task_0', + 'COLUMN', N'create_dt' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'修改时间', + 'SCHEMA', N'dbo', + 'TABLE', N'retry_task_0', + 'COLUMN', N'update_dt' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'任务表', + 'SCHEMA', N'dbo', + 'TABLE', N'retry_task_0' +GO + +-- er_retry_task_log +CREATE TABLE er_retry_task_log +( + id bigint PRIMARY KEY IDENTITY, + namespace_id nvarchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', + unique_id nvarchar(64) NOT NULL, + group_name nvarchar(64) NOT NULL, + scene_name nvarchar(64) NOT NULL, + idempotent_id nvarchar(64) NOT NULL, + biz_no nvarchar(64) NOT NULL DEFAULT '', + executor_name nvarchar(512) NOT NULL DEFAULT '', + args_str nvarchar(max) NOT NULL, + ext_attrs nvarchar(max) NOT NULL, + retry_status tinyint NOT NULL DEFAULT '0', + task_type tinyint NOT NULL DEFAULT '1', + create_dt datetime2 NOT NULL DEFAULT GETDATE(), + update_dt datetime2 NOT NULL DEFAULT GETDATE() +) +GO + +CREATE NONCLUSTERED INDEX idx_group_name_scene_name ON retry_task_log (namespace_id ASC, group_name ASC, scene_name ASC) +GO +CREATE NONCLUSTERED INDEX idx_retry_status ON retry_task_log (retry_status ASC) +GO +CREATE NONCLUSTERED INDEX idx_idempotent_id ON retry_task_log (idempotent_id ASC) +GO +CREATE NONCLUSTERED INDEX idx_unique_id ON retry_task_log (unique_id ASC) +GO +CREATE NONCLUSTERED INDEX idx_biz_no ON retry_task_log (biz_no ASC) +GO +CREATE NONCLUSTERED INDEX idx_create_dt ON retry_task_log (create_dt ASC) +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'主键', + 'SCHEMA', N'dbo', + 'TABLE', N'retry_task_log', + 'COLUMN', N'id' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'命名空间id', + 'SCHEMA', N'dbo', + 'TABLE', N'retry_task_log', + 'COLUMN', N'namespace_id' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'同组下id唯一', + 'SCHEMA', N'dbo', + 'TABLE', N'retry_task_log', + 'COLUMN', N'unique_id' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'组名称', + 'SCHEMA', N'dbo', + 'TABLE', N'retry_task_log', + 'COLUMN', N'group_name' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'场景名称', + 'SCHEMA', N'dbo', + 'TABLE', N'retry_task_log', + 'COLUMN', N'scene_name' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'幂等id', + 'SCHEMA', N'dbo', + 'TABLE', N'retry_task_log', + 'COLUMN', N'idempotent_id' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'业务编号', + 'SCHEMA', N'dbo', + 'TABLE', N'retry_task_log', + 'COLUMN', N'biz_no' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'执行器名称', + 'SCHEMA', N'dbo', + 'TABLE', N'retry_task_log', + 'COLUMN', N'executor_name' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'执行方法参数', + 'SCHEMA', N'dbo', + 'TABLE', N'retry_task_log', + 'COLUMN', N'args_str' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'扩展字段', + 'SCHEMA', N'dbo', + 'TABLE', N'retry_task_log', + 'COLUMN', N'ext_attrs' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'重试状态 0、重试中 1、成功 2、最大次数', + 'SCHEMA', N'dbo', + 'TABLE', N'retry_task_log', + 'COLUMN', N'retry_status' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'任务类型 1、重试数据 2、回调数据', + 'SCHEMA', N'dbo', + 'TABLE', N'retry_task_log', + 'COLUMN', N'task_type' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'创建时间', + 'SCHEMA', N'dbo', + 'TABLE', N'retry_task_log', + 'COLUMN', N'create_dt' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'修改时间', + 'SCHEMA', N'dbo', + 'TABLE', N'retry_task_log', + 'COLUMN', N'update_dt' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'任务日志基础信息表', + 'SCHEMA', N'dbo', + 'TABLE', N'retry_task_log' +GO + +-- er_retry_task_log_message +CREATE TABLE er_retry_task_log_message +( + id bigint PRIMARY KEY IDENTITY, + namespace_id nvarchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', + group_name nvarchar(64) NOT NULL, + unique_id nvarchar(64) NOT NULL, + create_dt datetime2 NOT NULL DEFAULT GETDATE(), + message nvarchar(max) NOT NULL, + log_num int NOT NULL DEFAULT 1, + real_time bigint NOT NULL DEFAULT 0 +) +GO + +CREATE NONCLUSTERED INDEX idx_namespace_id_group_name_scene_name ON retry_task_log_message (namespace_id ASC, group_name ASC, unique_id ASC) +GO +CREATE NONCLUSTERED INDEX idx_create_dt ON retry_task_log_message (create_dt ASC) +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'主键', + 'SCHEMA', N'dbo', + 'TABLE', N'retry_task_log_message', + 'COLUMN', N'id' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'命名空间id', + 'SCHEMA', N'dbo', + 'TABLE', N'retry_task_log_message', + 'COLUMN', N'namespace_id' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'组名称', + 'SCHEMA', N'dbo', + 'TABLE', N'retry_task_log_message', + 'COLUMN', N'group_name' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'同组下id唯一', + 'SCHEMA', N'dbo', + 'TABLE', N'retry_task_log_message', + 'COLUMN', N'unique_id' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'创建时间', + 'SCHEMA', N'dbo', + 'TABLE', N'retry_task_log_message', + 'COLUMN', N'create_dt' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'异常信息', + 'SCHEMA', N'dbo', + 'TABLE', N'retry_task_log_message', + 'COLUMN', N'message' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'日志数量', + 'SCHEMA', N'dbo', + 'TABLE', N'retry_task_log_message', + 'COLUMN', N'log_num' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'上报时间', + 'SCHEMA', N'dbo', + 'TABLE', N'retry_task_log_message', + 'COLUMN', N'real_time' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'任务调度日志信息记录表', + 'SCHEMA', N'dbo', + 'TABLE', N'retry_task_log_message' +GO + +-- er_scene_config +CREATE TABLE er_scene_config +( + id bigint IDENTITY, + namespace_id nvarchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', + scene_name nvarchar(64) NOT NULL, + group_name nvarchar(64) NOT NULL, + scene_status tinyint NOT NULL DEFAULT '0', + max_retry_count int NOT NULL DEFAULT '5', + back_off tinyint NOT NULL DEFAULT '1', + trigger_interval nvarchar(16) NOT NULL DEFAULT '', + deadline_request bigint NOT NULL DEFAULT '60000', + executor_timeout int NOT NULL DEFAULT '5', + route_key tinyint NOT NULL DEFAULT '4', + description nvarchar(256) NOT NULL DEFAULT '', + create_dt datetime2 NOT NULL DEFAULT GETDATE(), + update_dt datetime2 NOT NULL DEFAULT GETDATE() +) +GO + +CREATE UNIQUE NONCLUSTERED INDEX uk_namespace_id_group_name_scene_name ON scene_config (namespace_id ASC, group_name ASC, scene_name ASC) +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'主键', + 'SCHEMA', N'dbo', + 'TABLE', N'scene_config', + 'COLUMN', N'id' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'命名空间id', + 'SCHEMA', N'dbo', + 'TABLE', N'scene_config', + 'COLUMN', N'namespace_id' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'场景名称', + 'SCHEMA', N'dbo', + 'TABLE', N'scene_config', + 'COLUMN', N'scene_name' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'组名称', + 'SCHEMA', N'dbo', + 'TABLE', N'scene_config', + 'COLUMN', N'group_name' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'组状态 0、未启用 1、启用', + 'SCHEMA', N'dbo', + 'TABLE', N'scene_config', + 'COLUMN', N'scene_status' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'最大重试次数', + 'SCHEMA', N'dbo', + 'TABLE', N'scene_config', + 'COLUMN', N'max_retry_count' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'1、默认等级 2、固定间隔时间 3、CRON 表达式', + 'SCHEMA', N'dbo', + 'TABLE', N'scene_config', + 'COLUMN', N'back_off' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'间隔时长', + 'SCHEMA', N'dbo', + 'TABLE', N'scene_config', + 'COLUMN', N'trigger_interval' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'Deadline Request 调用链超时 单位毫秒', + 'SCHEMA', N'dbo', + 'TABLE', N'scene_config', + 'COLUMN', N'deadline_request' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'任务执行超时时间,单位秒', + 'SCHEMA', N'dbo', + 'TABLE', N'scene_config', + 'COLUMN', N'executor_timeout' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'路由策略', + 'SCHEMA', N'dbo', + 'TABLE', N'scene_config', + 'COLUMN', N'route_key' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'描述', + 'SCHEMA', N'dbo', + 'TABLE', N'scene_config', + 'COLUMN', N'description' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'创建时间', + 'SCHEMA', N'dbo', + 'TABLE', N'scene_config', + 'COLUMN', N'create_dt' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'修改时间', + 'SCHEMA', N'dbo', + 'TABLE', N'scene_config', + 'COLUMN', N'update_dt' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'场景配置', + 'SCHEMA', N'dbo', + 'TABLE', N'scene_config' +GO + +-- er_sequence_alloc +CREATE TABLE er_sequence_alloc +( + id bigint PRIMARY KEY IDENTITY, + namespace_id nvarchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', + group_name nvarchar(64) NOT NULL DEFAULT '', + max_id bigint NOT NULL DEFAULT '1', + step int NOT NULL DEFAULT '100', + update_dt datetime2 NOT NULL DEFAULT GETDATE() +) +GO + +CREATE UNIQUE NONCLUSTERED INDEX uk_namespace_id_group_name ON sequence_alloc (namespace_id ASC, group_name ASC) +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'主键', + 'SCHEMA', N'dbo', + 'TABLE', N'sequence_alloc', + 'COLUMN', N'id' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'命名空间id', + 'SCHEMA', N'dbo', + 'TABLE', N'sequence_alloc', + 'COLUMN', N'namespace_id' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'组名称', + 'SCHEMA', N'dbo', + 'TABLE', N'sequence_alloc', + 'COLUMN', N'group_name' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'最大id', + 'SCHEMA', N'dbo', + 'TABLE', N'sequence_alloc', + 'COLUMN', N'max_id' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'步长', + 'SCHEMA', N'dbo', + 'TABLE', N'sequence_alloc', + 'COLUMN', N'step' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'更新时间', + 'SCHEMA', N'dbo', + 'TABLE', N'sequence_alloc', + 'COLUMN', N'update_dt' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'号段模式序号ID分配表', + 'SCHEMA', N'dbo', + 'TABLE', N'sequence_alloc' +GO + +-- er_server_node +CREATE TABLE er_server_node +( + id bigint PRIMARY KEY IDENTITY, + namespace_id nvarchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', + group_name nvarchar(64) NOT NULL, + host_id nvarchar(64) NOT NULL, + host_ip nvarchar(64) NOT NULL, + context_path nvarchar(256) NOT NULL DEFAULT '/', + host_port int NOT NULL, + expire_at datetime2 NOT NULL, + node_type tinyint NOT NULL, + ext_attrs nvarchar(256) NULL DEFAULT '', + create_dt datetime2 NOT NULL DEFAULT GETDATE(), + update_dt datetime2 NOT NULL DEFAULT GETDATE() +) +GO + +CREATE UNIQUE NONCLUSTERED INDEX uk_host_id_host_ip ON server_node (host_id ASC, host_ip ASC) +GO +CREATE NONCLUSTERED INDEX idx_namespace_id_group_name ON server_node (namespace_id ASC, group_name ASC) +GO +CREATE NONCLUSTERED INDEX idx_expire_at_node_type ON server_node (expire_at ASC, node_type ASC) +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'主键', + 'SCHEMA', N'dbo', + 'TABLE', N'server_node', + 'COLUMN', N'id' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'命名空间id', + 'SCHEMA', N'dbo', + 'TABLE', N'server_node', + 'COLUMN', N'namespace_id' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'组名称', + 'SCHEMA', N'dbo', + 'TABLE', N'server_node', + 'COLUMN', N'group_name' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'主机id', + 'SCHEMA', N'dbo', + 'TABLE', N'server_node', + 'COLUMN', N'host_id' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'机器ip', + 'SCHEMA', N'dbo', + 'TABLE', N'server_node', + 'COLUMN', N'host_ip' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'客户端上下文路径 server.servlet.context-path', + 'SCHEMA', N'dbo', + 'TABLE', N'server_node', + 'COLUMN', N'context_path' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'机器端口', + 'SCHEMA', N'dbo', + 'TABLE', N'server_node', + 'COLUMN', N'host_port' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'过期时间', + 'SCHEMA', N'dbo', + 'TABLE', N'server_node', + 'COLUMN', N'expire_at' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'节点类型 1、客户端 2、是服务端', + 'SCHEMA', N'dbo', + 'TABLE', N'server_node', + 'COLUMN', N'node_type' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'扩展字段', + 'SCHEMA', N'dbo', + 'TABLE', N'server_node', + 'COLUMN', N'ext_attrs' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'创建时间', + 'SCHEMA', N'dbo', + 'TABLE', N'server_node', + 'COLUMN', N'create_dt' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'修改时间', + 'SCHEMA', N'dbo', + 'TABLE', N'server_node', + 'COLUMN', N'update_dt' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'服务器节点', + 'SCHEMA', N'dbo', + 'TABLE', N'server_node' +GO + +-- er_system_user_ +CREATE TABLE er_system_user_ +( + id bigint PRIMARY KEY IDENTITY, + username nvarchar(64) NOT NULL, + password nvarchar(128) NOT NULL, + role tinyint NOT NULL DEFAULT '0', + create_dt datetime2 NOT NULL DEFAULT GETDATE(), + update_dt datetime2 NOT NULL DEFAULT GETDATE() +) +GO + +CREATE UNIQUE NONCLUSTERED INDEX uk_username ON system_user_ (username ASC) +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'主键', + 'SCHEMA', N'dbo', + 'TABLE', N'system_user_', + 'COLUMN', N'id' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'账号', + 'SCHEMA', N'dbo', + 'TABLE', N'system_user_', + 'COLUMN', N'username' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'密码', + 'SCHEMA', N'dbo', + 'TABLE', N'system_user_', + 'COLUMN', N'password' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'角色:1-普通用户、2-管理员', + 'SCHEMA', N'dbo', + 'TABLE', N'system_user_', + 'COLUMN', N'role' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'创建时间', + 'SCHEMA', N'dbo', + 'TABLE', N'system_user_', + 'COLUMN', N'create_dt' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'修改时间', + 'SCHEMA', N'dbo', + 'TABLE', N'system_user_', + 'COLUMN', N'update_dt' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'系统用户表', + 'SCHEMA', N'dbo', + 'TABLE', N'system_user_' +GO + +-- pwd: admin +INSERT INTO er_system_user_ VALUES (N'1', N'admin', N'465c194afb65670f38322df087f0a9bb225cc257e43eb4ac5a0c98ef5b3173ac', N'2', getdate(), getdate()); +GO + +-- er_system_user_permission +CREATE TABLE er_system_user_permission +( + id bigint PRIMARY KEY IDENTITY, + group_name nvarchar(64) NOT NULL, + namespace_id nvarchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', + system_user_id bigint NOT NULL, + create_dt datetime2 NOT NULL DEFAULT GETDATE(), + update_dt datetime2 NOT NULL DEFAULT GETDATE() +) +GO + +CREATE UNIQUE NONCLUSTERED INDEX uk_namespace_id_group_name_system_user_id ON system_user_permission (namespace_id ASC, group_name ASC, system_user_id ASC) +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'主键', + 'SCHEMA', N'dbo', + 'TABLE', N'system_user_permission', + 'COLUMN', N'id' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'组名称', + 'SCHEMA', N'dbo', + 'TABLE', N'system_user_permission', + 'COLUMN', N'group_name' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'命名空间id', + 'SCHEMA', N'dbo', + 'TABLE', N'system_user_permission', + 'COLUMN', N'namespace_id' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'系统用户id', + 'SCHEMA', N'dbo', + 'TABLE', N'system_user_permission', + 'COLUMN', N'system_user_id' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'创建时间', + 'SCHEMA', N'dbo', + 'TABLE', N'system_user_permission', + 'COLUMN', N'create_dt' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'修改时间', + 'SCHEMA', N'dbo', + 'TABLE', N'system_user_permission', + 'COLUMN', N'update_dt' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'系统用户权限表', + 'SCHEMA', N'dbo', + 'TABLE', N'system_user_permission' +GO + + +-- er_workflow +CREATE TABLE er_workflow +( + id bigint IDENTITY, + workflow_name nvarchar(64) NOT NULL, + namespace_id nvarchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', + group_name nvarchar(64) NOT NULL, + workflow_status tinyint NOT NULL DEFAULT '1', + trigger_type tinyint NOT NULL, + trigger_interval nvarchar(255) NOT NULL, + next_trigger_at bigint NOT NULL, + block_strategy tinyint NOT NULL DEFAULT '1', + executor_timeout int NOT NULL DEFAULT '0', + description nvarchar(256) NOT NULL DEFAULT '', + flow_info nvarchar(max) NULL DEFAULT NULL, + bucket_index int NOT NULL DEFAULT '0', + version int NOT NULL, + create_dt datetime2 NOT NULL DEFAULT GETDATE(), + update_dt datetime2 NOT NULL DEFAULT GETDATE(), + deleted BIT DEFAULT 0, + ext_attrs nvarchar(256) NULL +) +GO + +CREATE NONCLUSTERED INDEX idx_create_dt ON workflow (create_dt ASC) +GO +CREATE NONCLUSTERED INDEX idx_namespace_id_group_name ON workflow (namespace_id ASC, group_name ASC) +GO + + +EXEC sp_addextendedproperty + 'MS_Description', N'主键', + 'SCHEMA', N'dbo', + 'TABLE', N'workflow', + 'COLUMN', N'id' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'工作流名称', + 'SCHEMA', N'dbo', + 'TABLE', N'workflow', + 'COLUMN', N'workflow_name' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'命名空间id', + 'SCHEMA', N'dbo', + 'TABLE', N'workflow', + 'COLUMN', N'namespace_id' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'组名称', + 'SCHEMA', N'dbo', + 'TABLE', N'workflow', + 'COLUMN', N'group_name' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'工作流状态 0、关闭、1、开启', + 'SCHEMA', N'dbo', + 'TABLE', N'workflow', + 'COLUMN', N'workflow_status' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'触发类型 1.CRON 表达式 2. 固定时间', + 'SCHEMA', N'dbo', + 'TABLE', N'workflow', + 'COLUMN', N'trigger_type' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'间隔时长', + 'SCHEMA', N'dbo', + 'TABLE', N'workflow', + 'COLUMN', N'trigger_interval' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'下次触发时间', + 'SCHEMA', N'dbo', + 'TABLE', N'workflow', + 'COLUMN', N'next_trigger_at' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'阻塞策略 1、丢弃 2、覆盖 3、并行', + 'SCHEMA', N'dbo', + 'TABLE', N'workflow', + 'COLUMN', N'block_strategy' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'任务执行超时时间,单位秒', + 'SCHEMA', N'dbo', + 'TABLE', N'workflow', + 'COLUMN', N'executor_timeout' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'描述', + 'SCHEMA', N'dbo', + 'TABLE', N'workflow', + 'COLUMN', N'description' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'流程信息', + 'SCHEMA', N'dbo', + 'TABLE', N'workflow', + 'COLUMN', N'flow_info' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'bucket', + 'SCHEMA', N'dbo', + 'TABLE', N'workflow', + 'COLUMN', N'bucket_index' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'版本号', + 'SCHEMA', N'dbo', + 'TABLE', N'workflow', + 'COLUMN', N'version' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'创建时间', + 'SCHEMA', N'dbo', + 'TABLE', N'workflow', + 'COLUMN', N'create_dt' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'修改时间', + 'SCHEMA', N'dbo', + 'TABLE', N'workflow', + 'COLUMN', N'update_dt' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'逻辑删除 1、删除', + 'SCHEMA', N'dbo', + 'TABLE', N'workflow', + 'COLUMN', N'deleted' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'扩展字段', + 'SCHEMA', N'dbo', + 'TABLE', N'workflow', + 'COLUMN', N'ext_attrs' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'工作流', + 'SCHEMA', N'dbo', + 'TABLE', N'workflow' +GO + +-- er_workflow_node +CREATE TABLE er_workflow_node +( + id bigint PRIMARY KEY IDENTITY, + namespace_id nvarchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', + node_name nvarchar(64) NOT NULL, + group_name nvarchar(64) NOT NULL, + job_id bigint NOT NULL, + workflow_id bigint NOT NULL, + node_type tinyint NOT NULL DEFAULT '1', + expression_type tinyint NOT NULL DEFAULT '0', + fail_strategy tinyint NOT NULL DEFAULT '1', + workflow_node_status tinyint NOT NULL DEFAULT '1', + priority_level int NOT NULL DEFAULT '1', + node_info nvarchar(max) NULL DEFAULT NULL, + version int NOT NULL, + create_dt datetime2 NOT NULL DEFAULT GETDATE(), + update_dt datetime2 NOT NULL DEFAULT GETDATE(), + deleted BIT DEFAULT 0, + ext_attrs nvarchar(256) NULL DEFAULT '' +) +GO + +CREATE NONCLUSTERED INDEX idx_create_dt ON workflow_node (create_dt ASC) +GO +CREATE NONCLUSTERED INDEX idx_namespace_id_group_name ON workflow_node (namespace_id ASC, group_name ASC) +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'主键', + 'SCHEMA', N'dbo', + 'TABLE', N'workflow_node', + 'COLUMN', N'id' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'命名空间id', + 'SCHEMA', N'dbo', + 'TABLE', N'workflow_node', + 'COLUMN', N'namespace_id' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'节点名称', + 'SCHEMA', N'dbo', + 'TABLE', N'workflow_node', + 'COLUMN', N'node_name' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'组名称', + 'SCHEMA', N'dbo', + 'TABLE', N'workflow_node', + 'COLUMN', N'group_name' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'任务信息id', + 'SCHEMA', N'dbo', + 'TABLE', N'workflow_node', + 'COLUMN', N'job_id' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'工作流ID', + 'SCHEMA', N'dbo', + 'TABLE', N'workflow_node', + 'COLUMN', N'workflow_id' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'1、任务节点 2、条件节点', + 'SCHEMA', N'dbo', + 'TABLE', N'workflow_node', + 'COLUMN', N'node_type' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'1、SpEl、2、Aviator 3、QL', + 'SCHEMA', N'dbo', + 'TABLE', N'workflow_node', + 'COLUMN', N'expression_type' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'失败策略 1、跳过 2、阻塞', + 'SCHEMA', N'dbo', + 'TABLE', N'workflow_node', + 'COLUMN', N'fail_strategy' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'工作流节点状态 0、关闭、1、开启', + 'SCHEMA', N'dbo', + 'TABLE', N'workflow_node', + 'COLUMN', N'workflow_node_status' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'优先级', + 'SCHEMA', N'dbo', + 'TABLE', N'workflow_node', + 'COLUMN', N'priority_level' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'节点信息 ', + 'SCHEMA', N'dbo', + 'TABLE', N'workflow_node', + 'COLUMN', N'node_info' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'版本号', + 'SCHEMA', N'dbo', + 'TABLE', N'workflow_node', + 'COLUMN', N'version' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'创建时间', + 'SCHEMA', N'dbo', + 'TABLE', N'workflow_node', + 'COLUMN', N'create_dt' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'修改时间', + 'SCHEMA', N'dbo', + 'TABLE', N'workflow_node', + 'COLUMN', N'update_dt' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'逻辑删除 1、删除', + 'SCHEMA', N'dbo', + 'TABLE', N'workflow_node', + 'COLUMN', N'deleted' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'扩展字段', + 'SCHEMA', N'dbo', + 'TABLE', N'workflow_node', + 'COLUMN', N'ext_attrs' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'工作流节点', + 'SCHEMA', N'dbo', + 'TABLE', N'workflow_node' +GO + +-- er_workflow_task_batch +CREATE TABLE er_workflow_task_batch +( + id bigint PRIMARY KEY IDENTITY, + namespace_id nvarchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', + group_name nvarchar(64) NOT NULL, + workflow_id bigint NOT NULL, + task_batch_status tinyint NOT NULL DEFAULT '0', + operation_reason tinyint NOT NULL DEFAULT '0', + flow_info nvarchar(max) NULL DEFAULT NULL, + execution_at bigint NOT NULL DEFAULT '0', + create_dt datetime2 NOT NULL DEFAULT GETDATE(), + update_dt datetime2 NOT NULL DEFAULT GETDATE(), + deleted BIT DEFAULT 0, + ext_attrs nvarchar(256) NULL DEFAULT '' +) +GO + +CREATE NONCLUSTERED INDEX idx_job_id_task_batch_status ON workflow_task_batch (workflow_id ASC, task_batch_status ASC) +GO +CREATE NONCLUSTERED INDEX idx_create_dt ON workflow_task_batch (create_dt ASC) +GO +CREATE NONCLUSTERED INDEX idx_namespace_id_group_name ON workflow_task_batch (namespace_id ASC, group_name ASC) +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'主键', + 'SCHEMA', N'dbo', + 'TABLE', N'workflow_task_batch', + 'COLUMN', N'id' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'命名空间id', + 'SCHEMA', N'dbo', + 'TABLE', N'workflow_task_batch', + 'COLUMN', N'namespace_id' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'组名称', + 'SCHEMA', N'dbo', + 'TABLE', N'workflow_task_batch', + 'COLUMN', N'group_name' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'工作流任务id', + 'SCHEMA', N'dbo', + 'TABLE', N'workflow_task_batch', + 'COLUMN', N'workflow_id' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'任务批次状态 0、失败 1、成功', + 'SCHEMA', N'dbo', + 'TABLE', N'workflow_task_batch', + 'COLUMN', N'task_batch_status' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'操作原因', + 'SCHEMA', N'dbo', + 'TABLE', N'workflow_task_batch', + 'COLUMN', N'operation_reason' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'流程信息', + 'SCHEMA', N'dbo', + 'TABLE', N'workflow_task_batch', + 'COLUMN', N'flow_info' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'任务执行时间', + 'SCHEMA', N'dbo', + 'TABLE', N'workflow_task_batch', + 'COLUMN', N'execution_at' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'创建时间', + 'SCHEMA', N'dbo', + 'TABLE', N'workflow_task_batch', + 'COLUMN', N'create_dt' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'修改时间', + 'SCHEMA', N'dbo', + 'TABLE', N'workflow_task_batch', + 'COLUMN', N'update_dt' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'逻辑删除 1、删除', + 'SCHEMA', N'dbo', + 'TABLE', N'workflow_task_batch', + 'COLUMN', N'deleted' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'扩展字段', + 'SCHEMA', N'dbo', + 'TABLE', N'workflow_task_batch', + 'COLUMN', N'ext_attrs' +GO + +EXEC sp_addextendedproperty + 'MS_Description', N'工作流批次', + 'SCHEMA', N'dbo', + 'TABLE', N'workflow_task_batch' +GO