From 6ea777d584e70a8480a3eebff66b640e4a4bed7b Mon Sep 17 00:00:00 2001
From: gssong <1742057357@qq.com>
Date: 星期一, 08 四月 2024 21:32:27 +0800
Subject: [PATCH] Merge branch 'dev' of https://gitee.com/dromara/RuoYi-Vue-Plus into dev
---
ruoyi-extend/ruoyi-easyretry-server/src/main/resources/logback-plus.xml | 2
/dev/null | 800 --------
script/sql/easy_retry.sql | 124
ruoyi-admin/src/main/resources/application-prod.yml | 4
ruoyi-extend/ruoyi-easyretry-server/src/main/resources/application-dev.yml | 3
ruoyi-extend/ruoyi-easyretry-server/src/main/resources/application.yml | 1
script/sql/postgres/easy_retry_postgre.sql | 805 +++++++++
script/sql/oracle/easy_retry_oracle.sql | 826 +++++++++
script/sql/sqlserver/easy_retry_sqlserver.sql | 2749 ++++++++++++++++++++++++++++++
pom.xml | 2
ruoyi-extend/ruoyi-easyretry-server/src/main/resources/application-prod.yml | 3
ruoyi-admin/src/main/resources/application-dev.yml | 4
12 files changed, 4,442 insertions(+), 881 deletions(-)
diff --git a/pom.xml b/pom.xml
index a6ff2b8..6f0ea0c 100644
--- a/pom.xml
+++ b/pom.xml
@@ -35,7 +35,7 @@
<dynamic-ds.version>4.3.0</dynamic-ds.version>
<alibaba-ttl.version>2.14.4</alibaba-ttl.version>
<powerjob.version>4.3.6</powerjob.version>
- <easyretry.version>3.1.1</easyretry.version>
+ <easyretry.version>3.2.0</easyretry.version>
<mapstruct-plus.version>1.3.6</mapstruct-plus.version>
<mapstruct-plus.lombok.version>0.2.0</mapstruct-plus.lombok.version>
<lombok.version>1.18.30</lombok.version>
diff --git a/ruoyi-admin/src/main/resources/application-dev.yml b/ruoyi-admin/src/main/resources/application-dev.yml
index b6d3db8..1cb3ea6 100644
--- a/ruoyi-admin/src/main/resources/application-dev.yml
+++ b/ruoyi-admin/src/main/resources/application-dev.yml
@@ -29,10 +29,12 @@
enabled: true
# 闇�瑕佸湪EasyRetry鍚庡彴缁勭鐞嗗垱寤哄搴斿悕绉扮殑缁�,鐒跺悗鍒涘缓浠诲姟鐨勬椂鍊欓�夋嫨瀵瑰簲鐨勭粍,鎵嶈兘姝g‘鍒嗘淳浠诲姟
group-name: "ruoyi_group"
+ # EasyRetry鎺ュ叆楠岃瘉浠ょ墝 璇﹁ script/sql/easy_retry.sql `er_group_config` 琛�
+ token: "ER_cKqBTPzCsWA3VyuCfFoccmuIEGXjr5KT"
server:
host: 127.0.0.1
port: 1788
- # 璇﹁ script/sql/easy_retry.sql `namespace` 琛�
+ # 璇﹁ script/sql/easy_retry.sql `er_namespace` 琛�
namespace: ${spring.profiles.active}
diff --git a/ruoyi-admin/src/main/resources/application-prod.yml b/ruoyi-admin/src/main/resources/application-prod.yml
index 69701ff..3545a4c 100644
--- a/ruoyi-admin/src/main/resources/application-prod.yml
+++ b/ruoyi-admin/src/main/resources/application-prod.yml
@@ -32,10 +32,12 @@
enabled: false
# 闇�瑕佸湪EasyRetry鍚庡彴缁勭鐞嗗垱寤哄搴斿悕绉扮殑缁�,鐒跺悗鍒涘缓浠诲姟鐨勬椂鍊欓�夋嫨瀵瑰簲鐨勭粍,鎵嶈兘姝g‘鍒嗘淳浠诲姟
group-name: "ruoyi_group"
+ # EasyRetry鎺ュ叆楠岃瘉浠ょ墝 璇﹁ script/sql/easy_retry.sql `er_group_config` 琛�
+ token: "ER_cKqBTPzCsWA3VyuCfFoccmuIEGXjr5KT"
server:
host: 127.0.0.1
port: 1788
- # 璇﹁ script/sql/easy_retry.sql `namespace` 琛�
+ # 璇﹁ script/sql/easy_retry.sql `er_namespace` 琛�
namespace: ${spring.profiles.active}
--- # 鏁版嵁婧愰厤缃�
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 afb27ac..c151a61 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 afb27ac..c151a61 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 a26bfd3..b6d8998 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 @@
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 703c0a7..cdd5451 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 @@
</appender>
<!-- EasyRetry appender -->
- <appender name="easy_log_server_appender" class="com.aizuda.easy.retry.server.job.task.support.appender.EasyRetryServerLogbackAppender">
+ <appender name="easy_log_server_appender" class="com.aizuda.easy.retry.server.common.appender.EasyRetryServerLogbackAppender">
</appender>
<!-- 鎺у埗鍙拌緭鍑烘棩蹇楃骇鍒� -->
diff --git a/script/sql/easy_retry.sql b/script/sql/easy_retry.sql
index 23f5142..c884c88 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 @@
) 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 @@
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 @@
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 @@
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 @@
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 @@
`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 @@
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 '鍚岀粍涓媔d鍞竴',
`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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
) 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 @@
DEFAULT CHARSET = utf8mb4 COMMENT ='鍙锋妯″紡搴忓彿ID鍒嗛厤琛�';
-- 鍒嗗竷寮忚皟搴DL
-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 @@
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 @@
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 @@
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 @@
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 @@
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鎴杦orkflow_id)',
+ `system_task_type` tinyint(4) NOT NULL DEFAULT '3' COMMENT '浠诲姟绫诲瀷 3銆丣OB浠诲姟 4銆乄ORKFLOW浠诲姟',
+ `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_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 @@
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 @@
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 0000000..4c8c062
--- /dev/null
+++ b/script/sql/oracle/easy_retry_oracle.sql
@@ -0,0 +1,826 @@
+-- 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 er_namespace (unique_id);
+
+COMMENT ON TABLE er_namespace IS '鍛藉悕绌洪棿';
+COMMENT ON COLUMN er_namespace.id IS '涓婚敭';
+COMMENT ON COLUMN er_namespace.name IS '鍚嶇О';
+COMMENT ON COLUMN er_namespace.unique_id IS '鍞竴id';
+COMMENT ON COLUMN er_namespace.description IS '鎻忚堪';
+COMMENT ON COLUMN er_namespace.create_dt IS '鍒涘缓鏃堕棿';
+COMMENT ON COLUMN er_namespace.update_dt IS '淇敼鏃堕棿';
+COMMENT ON COLUMN er_namespace.deleted IS '閫昏緫鍒犻櫎 1銆佸垹闄�';
+
+-- id 涓� IDENTITY 绫诲瀷, 涓嶈兘鎻掑叆
+INSERT INTO er_namespace(name, unique_id, description, create_dt, update_dt, deleted) VALUES('Development', 'dev', '', SYSDATE, SYSDATE, 0 );
+INSERT INTO er_namespace(name, unique_id, description, create_dt, update_dt, deleted) VALUES ('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 er_group_config (namespace_id, group_name);
+
+COMMENT ON TABLE er_group_config IS '缁勯厤缃�';
+COMMENT ON COLUMN er_group_config.id IS '涓婚敭';
+COMMENT ON COLUMN er_group_config.namespace_id IS '鍛藉悕绌洪棿';
+COMMENT ON COLUMN er_group_config.group_name IS '缁勫悕绉�';
+COMMENT ON COLUMN er_group_config.description IS '缁勬弿杩�';
+COMMENT ON COLUMN er_group_config.token IS 'token';
+COMMENT ON COLUMN er_group_config.group_status IS '缁勭姸鎬� 0銆佹湭鍚敤 1銆佸惎鐢�';
+COMMENT ON COLUMN er_group_config.version IS '鐗堟湰鍙�';
+COMMENT ON COLUMN er_group_config.group_partition IS '鍒嗗尯';
+COMMENT ON COLUMN er_group_config.id_generator_mode IS '鍞竴id鐢熸垚妯″紡 榛樿鍙锋妯″紡';
+COMMENT ON COLUMN er_group_config.init_scene IS '鏄惁鍒濆鍖栧満鏅� 0:鍚� 1:鏄�';
+COMMENT ON COLUMN er_group_config.bucket_index IS 'bucket';
+COMMENT ON COLUMN er_group_config.create_dt IS '鍒涘缓鏃堕棿';
+COMMENT ON COLUMN er_group_config.update_dt IS '淇敼鏃堕棿';
+
+INSERT INTO er_group_config(namespace_id, group_name, description, token, group_status, version, group_partition, id_generator_mode, init_scene, bucket_index, create_dt, update_dt) VALUES ('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 er_notify_config (namespace_id, group_name);
+
+COMMENT ON TABLE er_notify_config IS '閫氱煡閰嶇疆';
+COMMENT ON COLUMN er_notify_config.id IS '涓婚敭';
+COMMENT ON COLUMN er_notify_config.group_name IS '缁勫悕绉�';
+COMMENT ON COLUMN er_notify_config.namespace_id IS '鍛藉悕绌洪棿id';
+COMMENT ON COLUMN er_notify_config.scene_name IS '鍦烘櫙鍚嶇О';
+COMMENT ON COLUMN er_notify_config.notify_status IS '閫氱煡鐘舵�� 0銆佹湭鍚敤 1銆佸惎鐢�';
+COMMENT ON COLUMN er_notify_config.notify_type IS '閫氱煡绫诲瀷 1銆侀拤閽� 2銆侀偖浠� 3銆佷紒涓氬井淇�';
+COMMENT ON COLUMN er_notify_config.notify_attribute IS '閰嶇疆灞炴��';
+COMMENT ON COLUMN er_notify_config.notify_threshold IS '閫氱煡闃堝��';
+COMMENT ON COLUMN er_notify_config.notify_scene IS '閫氱煡鍦烘櫙';
+COMMENT ON COLUMN er_notify_config.rate_limiter_status IS '闄愭祦鐘舵�� 0銆佹湭鍚敤 1銆佸惎鐢�';
+COMMENT ON COLUMN er_notify_config.rate_limiter_threshold IS '姣忕闄愭祦闃堝��';
+COMMENT ON COLUMN er_notify_config.description IS '鎻忚堪';
+COMMENT ON COLUMN er_notify_config.create_dt IS '鍒涘缓鏃堕棿';
+COMMENT ON COLUMN er_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 er_retry_dead_letter_0 (namespace_id, group_name, unique_id);
+CREATE INDEX idx_retry_dead_letter_0_1 ON er_retry_dead_letter_0 (namespace_id, group_name, scene_name);
+CREATE INDEX idx_retry_dead_letter_0_2 ON er_retry_dead_letter_0 (idempotent_id);
+CREATE INDEX idx_retry_dead_letter_0_3 ON er_retry_dead_letter_0 (biz_no);
+CREATE INDEX idx_retry_dead_letter_0_4 ON er_retry_dead_letter_0 (create_dt);
+
+COMMENT ON TABLE er_retry_dead_letter_0 IS '姝讳俊闃熷垪琛�';
+COMMENT ON COLUMN er_retry_dead_letter_0.id IS '涓婚敭';
+COMMENT ON COLUMN er_retry_dead_letter_0.unique_id IS '鍚岀粍涓媔d鍞竴';
+COMMENT ON COLUMN er_retry_dead_letter_0.namespace_id IS '鍛藉悕绌洪棿id';
+COMMENT ON COLUMN er_retry_dead_letter_0.group_name IS '缁勫悕绉�';
+COMMENT ON COLUMN er_retry_dead_letter_0.scene_name IS '鍦烘櫙鍚嶇О';
+COMMENT ON COLUMN er_retry_dead_letter_0.idempotent_id IS '骞傜瓑id';
+COMMENT ON COLUMN er_retry_dead_letter_0.biz_no IS '涓氬姟缂栧彿';
+COMMENT ON COLUMN er_retry_dead_letter_0.executor_name IS '鎵ц鍣ㄥ悕绉�';
+COMMENT ON COLUMN er_retry_dead_letter_0.args_str IS '鎵ц鏂规硶鍙傛暟';
+COMMENT ON COLUMN er_retry_dead_letter_0.ext_attrs IS '鎵╁睍瀛楁';
+COMMENT ON COLUMN er_retry_dead_letter_0.task_type IS '浠诲姟绫诲瀷 1銆侀噸璇曟暟鎹� 2銆佸洖璋冩暟鎹�';
+COMMENT ON COLUMN er_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 er_retry_task_0 (namespace_id, group_name, unique_id);
+CREATE INDEX idx_retry_task_0_1 ON er_retry_task_0 (namespace_id, group_name, scene_name);
+CREATE INDEX idx_retry_task_0_2 ON er_retry_task_0 (namespace_id, group_name, retry_status);
+CREATE INDEX idx_retry_task_0_3 ON er_retry_task_0 (idempotent_id);
+CREATE INDEX idx_retry_task_0_4 ON er_retry_task_0 (biz_no);
+CREATE INDEX idx_retry_task_0_5 ON er_retry_task_0 (create_dt);
+
+COMMENT ON TABLE er_retry_task_0 IS '浠诲姟琛�';
+COMMENT ON COLUMN er_retry_task_0.id IS '涓婚敭';
+COMMENT ON COLUMN er_retry_task_0.unique_id IS '鍚岀粍涓媔d鍞竴';
+COMMENT ON COLUMN er_retry_task_0.namespace_id IS '鍛藉悕绌洪棿id';
+COMMENT ON COLUMN er_retry_task_0.group_name IS '缁勫悕绉�';
+COMMENT ON COLUMN er_retry_task_0.scene_name IS '鍦烘櫙鍚嶇О';
+COMMENT ON COLUMN er_retry_task_0.idempotent_id IS '骞傜瓑id';
+COMMENT ON COLUMN er_retry_task_0.biz_no IS '涓氬姟缂栧彿';
+COMMENT ON COLUMN er_retry_task_0.executor_name IS '鎵ц鍣ㄥ悕绉�';
+COMMENT ON COLUMN er_retry_task_0.args_str IS '鎵ц鏂规硶鍙傛暟';
+COMMENT ON COLUMN er_retry_task_0.ext_attrs IS '鎵╁睍瀛楁';
+COMMENT ON COLUMN er_retry_task_0.next_trigger_at IS '涓嬫瑙﹀彂鏃堕棿';
+COMMENT ON COLUMN er_retry_task_0.retry_count IS '閲嶈瘯娆℃暟';
+COMMENT ON COLUMN er_retry_task_0.retry_status IS '閲嶈瘯鐘舵�� 0銆侀噸璇曚腑 1銆佹垚鍔� 2銆佹渶澶ч噸璇曟鏁�';
+COMMENT ON COLUMN er_retry_task_0.task_type IS '浠诲姟绫诲瀷 1銆侀噸璇曟暟鎹� 2銆佸洖璋冩暟鎹�';
+COMMENT ON COLUMN er_retry_task_0.create_dt IS '鍒涘缓鏃堕棿';
+COMMENT ON COLUMN er_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 er_retry_task_log (namespace_id, group_name, scene_name);
+CREATE INDEX idx_retry_task_log_2 ON er_retry_task_log (retry_status);
+CREATE INDEX idx_retry_task_log_3 ON er_retry_task_log (idempotent_id);
+CREATE INDEX idx_retry_task_log_4 ON er_retry_task_log (namespace_id, group_name, unique_id);
+CREATE INDEX idx_retry_task_log_5 ON er_retry_task_log (biz_no);
+CREATE INDEX idx_retry_task_log_6 ON er_retry_task_log (create_dt);
+
+COMMENT ON TABLE er_retry_task_log IS '浠诲姟鏃ュ織鍩虹淇℃伅琛�';
+COMMENT ON COLUMN er_retry_task_log.id IS '涓婚敭';
+COMMENT ON COLUMN er_retry_task_log.namespace_id IS '鍛藉悕绌洪棿id';
+COMMENT ON COLUMN er_retry_task_log.unique_id IS '鍚岀粍涓媔d鍞竴';
+COMMENT ON COLUMN er_retry_task_log.group_name IS '缁勫悕绉�';
+COMMENT ON COLUMN er_retry_task_log.scene_name IS '鍦烘櫙鍚嶇О';
+COMMENT ON COLUMN er_retry_task_log.idempotent_id IS '骞傜瓑id';
+COMMENT ON COLUMN er_retry_task_log.biz_no IS '涓氬姟缂栧彿';
+COMMENT ON COLUMN er_retry_task_log.executor_name IS '鎵ц鍣ㄥ悕绉�';
+COMMENT ON COLUMN er_retry_task_log.args_str IS '鎵ц鏂规硶鍙傛暟';
+COMMENT ON COLUMN er_retry_task_log.ext_attrs IS '鎵╁睍瀛楁';
+COMMENT ON COLUMN er_retry_task_log.retry_status IS '閲嶈瘯鐘舵�� 0銆侀噸璇曚腑 1銆佹垚鍔� 2銆佹渶澶ф鏁�';
+COMMENT ON COLUMN er_retry_task_log.task_type IS '浠诲姟绫诲瀷 1銆侀噸璇曟暟鎹� 2銆佸洖璋冩暟鎹�';
+COMMENT ON COLUMN er_retry_task_log.create_dt IS '鍒涘缓鏃堕棿';
+COMMENT ON COLUMN er_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 er_retry_task_log_message (namespace_id, group_name, unique_id);
+CREATE INDEX idx_retry_task_log_message_2 ON er_retry_task_log_message (create_dt);
+
+COMMENT ON TABLE er_retry_task_log_message IS '浠诲姟璋冨害鏃ュ織淇℃伅璁板綍琛�';
+COMMENT ON COLUMN er_retry_task_log_message.id IS '涓婚敭';
+COMMENT ON COLUMN er_retry_task_log_message.namespace_id IS '鍛藉悕绌洪棿';
+COMMENT ON COLUMN er_retry_task_log_message.group_name IS '缁勫悕绉�';
+COMMENT ON COLUMN er_retry_task_log_message.unique_id IS '鍚岀粍涓媔d鍞竴';
+COMMENT ON COLUMN er_retry_task_log_message.create_dt IS '鍒涘缓鏃堕棿';
+COMMENT ON COLUMN er_retry_task_log_message.message IS '寮傚父淇℃伅';
+COMMENT ON COLUMN er_retry_task_log_message.log_num IS '鏃ュ織鏁伴噺';
+COMMENT ON COLUMN er_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 er_scene_config (namespace_id, group_name, scene_name);
+
+COMMENT ON TABLE er_scene_config IS '鍦烘櫙閰嶇疆';
+COMMENT ON COLUMN er_scene_config.id IS '涓婚敭';
+COMMENT ON COLUMN er_scene_config.namespace_id IS '鍛藉悕绌洪棿id';
+COMMENT ON COLUMN er_scene_config.scene_name IS '鍦烘櫙鍚嶇О';
+COMMENT ON COLUMN er_scene_config.group_name IS '缁勫悕绉�';
+COMMENT ON COLUMN er_scene_config.scene_status IS '缁勭姸鎬� 0銆佹湭鍚敤 1銆佸惎鐢�';
+COMMENT ON COLUMN er_scene_config.max_retry_count IS '鏈�澶ч噸璇曟鏁�';
+COMMENT ON COLUMN er_scene_config.back_off IS '1銆侀粯璁ょ瓑绾� 2銆佸浐瀹氶棿闅旀椂闂� 3銆丆RON 琛ㄨ揪寮�';
+COMMENT ON COLUMN er_scene_config.trigger_interval IS '闂撮殧鏃堕暱';
+COMMENT ON COLUMN er_scene_config.deadline_request IS 'Deadline Request 璋冪敤閾捐秴鏃� 鍗曚綅姣';
+COMMENT ON COLUMN er_scene_config.description IS '鎻忚堪';
+COMMENT ON COLUMN er_scene_config.route_key IS '璺敱绛栫暐';
+COMMENT ON COLUMN er_scene_config.executor_timeout IS '瓒呮椂鏃堕棿';
+COMMENT ON COLUMN er_scene_config.create_dt IS '鍒涘缓鏃堕棿';
+COMMENT ON COLUMN er_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 er_server_node (host_id, host_ip);
+CREATE INDEX idx_server_node_1 ON er_server_node (expire_at, node_type);
+CREATE INDEX idx_server_node_2 ON er_server_node (namespace_id, group_name);
+
+COMMENT ON TABLE er_server_node IS '鏈嶅姟鍣ㄨ妭鐐�';
+COMMENT ON COLUMN er_server_node.id IS '涓婚敭';
+COMMENT ON COLUMN er_server_node.group_name IS '缁勫悕绉�';
+COMMENT ON COLUMN er_server_node.namespace_id IS '鍛藉悕绌洪棿id';
+COMMENT ON COLUMN er_server_node.host_id IS '涓绘満id';
+COMMENT ON COLUMN er_server_node.host_ip IS '鏈哄櫒ip';
+COMMENT ON COLUMN er_server_node.context_path IS '瀹㈡埛绔笂涓嬫枃璺緞 server.servlet.context-path';
+COMMENT ON COLUMN er_server_node.host_port IS '鏈哄櫒绔彛';
+COMMENT ON COLUMN er_server_node.expire_at IS '杩囨湡鏃堕棿';
+COMMENT ON COLUMN er_server_node.node_type IS '鑺傜偣绫诲瀷 1銆佸鎴风 2銆佹槸鏈嶅姟绔�';
+COMMENT ON COLUMN er_server_node.ext_attrs IS '鎵╁睍瀛楁';
+COMMENT ON COLUMN er_server_node.create_dt IS '鍒涘缓鏃堕棿';
+COMMENT ON COLUMN er_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 er_distributed_lock
+ ADD CONSTRAINT uk_name_distributed_lock UNIQUE (name);
+
+COMMENT ON TABLE er_distributed_lock IS '閿佸畾琛�';
+COMMENT ON COLUMN er_distributed_lock.id IS '涓婚敭';
+COMMENT ON COLUMN er_distributed_lock.name IS '閿佸悕绉�';
+COMMENT ON COLUMN er_distributed_lock.lock_until IS '閿佸畾鏃堕暱';
+COMMENT ON COLUMN er_distributed_lock.locked_at IS '閿佸畾鏃堕棿';
+COMMENT ON COLUMN er_distributed_lock.locked_by IS '閿佸畾鑰�';
+COMMENT ON COLUMN er_distributed_lock.create_dt IS '鍒涘缓鏃堕棿';
+COMMENT ON COLUMN er_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 er_system_user (username);
+
+COMMENT ON TABLE er_system_user IS '绯荤粺鐢ㄦ埛琛�';
+COMMENT ON COLUMN er_system_user.id IS '涓婚敭';
+COMMENT ON COLUMN er_system_user.username IS '璐﹀彿';
+COMMENT ON COLUMN er_system_user.password IS '瀵嗙爜';
+COMMENT ON COLUMN er_system_user.role IS '瑙掕壊锛�1-鏅�氱敤鎴枫��2-绠$悊鍛�';
+COMMENT ON COLUMN er_system_user.create_dt IS '鍒涘缓鏃堕棿';
+COMMENT ON COLUMN er_system_user.update_dt IS '淇敼鏃堕棿';
+
+-- pwd: admin
+INSERT INTO er_system_user(username, password, role, create_dt, update_dt) VALUES ('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 er_system_user_permission (namespace_id, group_name, system_user_id);
+
+COMMENT ON TABLE er_system_user_permission IS '绯荤粺鐢ㄦ埛鏉冮檺琛�';
+COMMENT ON COLUMN er_system_user_permission.id IS '涓婚敭';
+COMMENT ON COLUMN er_system_user_permission.namespace_id IS '鍛藉悕绌洪棿id';
+COMMENT ON COLUMN er_system_user_permission.group_name IS '缁勫悕绉�';
+COMMENT ON COLUMN er_system_user_permission.system_user_id IS '绯荤粺鐢ㄦ埛id';
+COMMENT ON COLUMN er_system_user_permission.create_dt IS '鍒涘缓鏃堕棿';
+COMMENT ON COLUMN er_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 er_sequence_alloc (namespace_id, group_name);
+
+COMMENT ON TABLE er_sequence_alloc IS '鍙锋妯″紡搴忓彿ID鍒嗛厤琛�';
+COMMENT ON COLUMN er_sequence_alloc.id IS '涓婚敭';
+COMMENT ON COLUMN er_sequence_alloc.namespace_id IS '鍛藉悕绌洪棿id';
+COMMENT ON COLUMN er_sequence_alloc.group_name IS '缁勫悕绉�';
+COMMENT ON COLUMN er_sequence_alloc.max_id IS '鏈�澶d';
+COMMENT ON COLUMN er_sequence_alloc.step IS '姝ラ暱';
+COMMENT ON COLUMN er_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 er_job (namespace_id, group_name);
+CREATE INDEX idx_job_2 ON er_job (job_status, bucket_index);
+CREATE INDEX idx_job_3 ON er_job (create_dt);
+
+COMMENT ON TABLE er_job IS '浠诲姟淇℃伅';
+COMMENT ON COLUMN er_job.id IS '涓婚敭';
+COMMENT ON COLUMN er_job.namespace_id IS '鍛藉悕绌洪棿id';
+COMMENT ON COLUMN er_job.group_name IS '缁勫悕绉�';
+COMMENT ON COLUMN er_job.job_name IS '鍚嶇О';
+COMMENT ON COLUMN er_job.args_str IS '鎵ц鏂规硶鍙傛暟';
+COMMENT ON COLUMN er_job.args_type IS '鍙傛暟绫诲瀷';
+COMMENT ON COLUMN er_job.next_trigger_at IS '涓嬫瑙﹀彂鏃堕棿';
+COMMENT ON COLUMN er_job.job_status IS '閲嶈瘯鐘舵�� 0銆佸叧闂��1銆佸紑鍚�';
+COMMENT ON COLUMN er_job.task_type IS '浠诲姟绫诲瀷 1銆侀泦缇� 2銆佸箍鎾� 3銆佸垏鐗�';
+COMMENT ON COLUMN er_job.route_key IS '璺敱绛栫暐';
+COMMENT ON COLUMN er_job.executor_type IS '鎵ц鍣ㄧ被鍨�';
+COMMENT ON COLUMN er_job.executor_info IS '鎵ц鍣ㄥ悕绉�';
+COMMENT ON COLUMN er_job.trigger_type IS '瑙﹀彂绫诲瀷 1.CRON 琛ㄨ揪寮� 2. 鍥哄畾鏃堕棿';
+COMMENT ON COLUMN er_job.trigger_interval IS '闂撮殧鏃堕暱';
+COMMENT ON COLUMN er_job.block_strategy IS '闃诲绛栫暐 1銆佷涪寮� 2銆佽鐩� 3銆佸苟琛�';
+COMMENT ON COLUMN er_job.executor_timeout IS '浠诲姟鎵ц瓒呮椂鏃堕棿锛屽崟浣嶇';
+COMMENT ON COLUMN er_job.max_retry_times IS '鏈�澶ч噸璇曟鏁�';
+COMMENT ON COLUMN er_job.parallel_num IS '骞惰鏁�';
+COMMENT ON COLUMN er_job.retry_interval IS '鏇存柊閲嶈瘯闂撮殧(s)';
+COMMENT ON COLUMN er_job.bucket_index IS 'bucket';
+COMMENT ON COLUMN er_job.resident IS '鏄惁鏄父椹讳换鍔�';
+COMMENT ON COLUMN er_job.description IS '鎻忚堪';
+COMMENT ON COLUMN er_job.ext_attrs IS '鎵╁睍瀛楁';
+COMMENT ON COLUMN er_job.create_dt IS '鍒涘缓鏃堕棿';
+COMMENT ON COLUMN er_job.deleted IS '閫昏緫鍒犻櫎 1銆佸垹闄�';
+COMMENT ON COLUMN er_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 er_job_log_message (namespace_id, group_name);
+CREATE INDEX idx_job_log_message_2 ON er_job_log_message (task_batch_id, task_id);
+CREATE INDEX idx_job_log_message_3 ON er_job_log_message (create_dt);
+
+COMMENT ON TABLE er_job_log_message IS '璋冨害鏃ュ織';
+COMMENT ON COLUMN er_job_log_message.id IS '涓婚敭';
+COMMENT ON COLUMN er_job_log_message.namespace_id IS '鍛藉悕绌洪棿id';
+COMMENT ON COLUMN er_job_log_message.group_name IS '缁勫悕绉�';
+COMMENT ON COLUMN er_job_log_message.job_id IS '浠诲姟淇℃伅id';
+COMMENT ON COLUMN er_job_log_message.task_batch_id IS '浠诲姟鎵规id';
+COMMENT ON COLUMN er_job_log_message.task_id IS '璋冨害浠诲姟id';
+COMMENT ON COLUMN er_job_log_message.message IS '璋冨害淇℃伅';
+COMMENT ON COLUMN er_job_log_message.log_num IS '鏃ュ織搴忓彿';
+COMMENT ON COLUMN er_job_log_message.real_time IS '瀹為檯鏃堕棿';
+COMMENT ON COLUMN er_job_log_message.create_dt IS '鍒涘缓鏃堕棿';
+COMMENT ON COLUMN er_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 er_job_task (namespace_id, group_name);
+CREATE INDEX idx_job_task_2 ON er_job_task (task_batch_id, task_status);
+CREATE INDEX idx_job_task_3 ON er_job_task (create_dt);
+
+COMMENT ON TABLE er_job_task IS '浠诲姟瀹炰緥';
+COMMENT ON COLUMN er_job_task.id IS '涓婚敭';
+COMMENT ON COLUMN er_job_task.namespace_id IS '鍛藉悕绌洪棿id';
+COMMENT ON COLUMN er_job_task.group_name IS '缁勫悕绉�';
+COMMENT ON COLUMN er_job_task.job_id IS '浠诲姟淇℃伅id';
+COMMENT ON COLUMN er_job_task.task_batch_id IS '浠诲姟鎵规id';
+COMMENT ON COLUMN er_job_task.parent_id IS '鐖舵墽琛屽櫒id';
+COMMENT ON COLUMN er_job_task.task_status IS '鎵ц鐨勭姸鎬� 0銆佸け璐� 1銆佹垚鍔�';
+COMMENT ON COLUMN er_job_task.retry_count IS '閲嶈瘯娆℃暟';
+COMMENT ON COLUMN er_job_task.client_info IS '瀹㈡埛绔湴鍧� clientId#ip:port';
+COMMENT ON COLUMN er_job_task.result_message IS '璋冨害淇℃伅';
+COMMENT ON COLUMN er_job_task.args_str IS '鎵ц鏂规硶鍙傛暟';
+COMMENT ON COLUMN er_job_task.args_type IS '鍙傛暟绫诲瀷';
+COMMENT ON COLUMN er_job_task.create_dt IS '鍒涘缓鏃堕棿';
+COMMENT ON COLUMN er_job_task.update_dt IS '鍒涘缓鏃堕棿';
+COMMENT ON COLUMN er_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 er_job_task_batch (namespace_id, group_name);
+CREATE INDEX idx_job_task_batch_2 ON er_job_task_batch (job_id, task_batch_status);
+CREATE INDEX idx_job_task_batch_3 ON er_job_task_batch (create_dt);
+CREATE INDEX idx_job_task_batch_4 ON er_job_task_batch (workflow_task_batch_id, workflow_node_id);
+
+COMMENT ON TABLE er_job_task_batch IS '浠诲姟鎵规';
+COMMENT ON COLUMN er_job_task_batch.id IS '涓婚敭';
+COMMENT ON COLUMN er_job_task_batch.namespace_id IS '鍛藉悕绌洪棿id';
+COMMENT ON COLUMN er_job_task_batch.group_name IS '缁勫悕绉�';
+COMMENT ON COLUMN er_job_task_batch.job_id IS '浠诲姟淇℃伅id';
+COMMENT ON COLUMN er_job_task_batch.task_batch_status IS '浠诲姟鎵规鐘舵�� 0銆佸け璐� 1銆佹垚鍔�';
+COMMENT ON COLUMN er_job_task_batch.operation_reason IS '鎿嶄綔鍘熷洜';
+COMMENT ON COLUMN er_job_task_batch.workflow_node_id IS '宸ヤ綔娴佽妭鐐筰d';
+COMMENT ON COLUMN er_job_task_batch.parent_workflow_node_id IS '鐖惰妭鐐�';
+COMMENT ON COLUMN er_job_task_batch.workflow_task_batch_id IS '浠诲姟鎵规id';
+COMMENT ON COLUMN er_job_task_batch.system_task_type IS '浠诲姟绫诲瀷 0銆佺郴缁熶换鍔� 1銆佷笟鍔′换鍔�';
+COMMENT ON COLUMN er_job_task_batch.execution_at IS '浠诲姟鎵ц鏃堕棿';
+COMMENT ON COLUMN er_job_task_batch.parent_id IS '鐖惰妭鐐�';
+COMMENT ON COLUMN er_job_task_batch.deleted IS '閫昏緫鍒犻櫎 1銆佸垹闄�';
+COMMENT ON COLUMN er_job_task_batch.create_dt IS '鍒涘缓鏃堕棿';
+COMMENT ON COLUMN er_job_task_batch.update_dt IS '鍒涘缓鏃堕棿';
+COMMENT ON COLUMN er_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 er_job_notify_config (namespace_id, group_name, job_id);
+
+COMMENT ON TABLE er_job_notify_config IS '閫氱煡閰嶇疆';
+COMMENT ON COLUMN er_job_notify_config.id IS '涓婚敭';
+COMMENT ON COLUMN er_job_notify_config.namespace_id IS '鍛藉悕绌洪棿id';
+COMMENT ON COLUMN er_job_notify_config.group_name IS '缁勫悕绉�';
+COMMENT ON COLUMN er_job_notify_config.job_id IS '浠诲姟淇℃伅id';
+COMMENT ON COLUMN er_job_notify_config.notify_status IS '閫氱煡鐘舵�� 0銆佹湭鍚敤 1銆佸惎鐢�';
+COMMENT ON COLUMN er_job_notify_config.notify_type IS '閫氱煡绫诲瀷 1銆侀拤閽� 2銆侀偖浠� 3銆佷紒涓氬井淇�';
+COMMENT ON COLUMN er_job_notify_config.notify_attribute IS '閰嶇疆灞炴��';
+COMMENT ON COLUMN er_job_notify_config.notify_threshold IS '閫氱煡闃堝��';
+COMMENT ON COLUMN er_job_notify_config.notify_scene IS '閫氱煡鍦烘櫙';
+COMMENT ON COLUMN er_job_notify_config.rate_limiter_status IS '闄愭祦鐘舵�� 0銆佹湭鍚敤 1銆佸惎鐢�';
+COMMENT ON COLUMN er_job_notify_config.rate_limiter_threshold IS '姣忕闄愭祦闃堝��';
+COMMENT ON COLUMN er_job_notify_config.description IS '鎻忚堪';
+COMMENT ON COLUMN er_job_notify_config.create_dt IS '鍒涘缓鏃堕棿';
+COMMENT ON COLUMN er_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 er_retry_summary (namespace_id, group_name, scene_name, trigger_at);
+
+COMMENT ON TABLE er_retry_summary IS 'DashBoard_Retry';
+COMMENT ON COLUMN er_retry_summary.id IS '涓婚敭';
+COMMENT ON COLUMN er_retry_summary.namespace_id IS '鍛藉悕绌洪棿id';
+COMMENT ON COLUMN er_retry_summary.group_name IS '缁勫悕绉�';
+COMMENT ON COLUMN er_retry_summary.scene_name IS '鍦烘櫙鍚嶇О';
+COMMENT ON COLUMN er_retry_summary.trigger_at IS '缁熻鏃堕棿';
+COMMENT ON COLUMN er_retry_summary.running_num IS '閲嶈瘯涓�-鏃ュ織鏁伴噺';
+COMMENT ON COLUMN er_retry_summary.finish_num IS '閲嶈瘯瀹屾垚-鏃ュ織鏁伴噺';
+COMMENT ON COLUMN er_retry_summary.max_count_num IS '閲嶈瘯鍒拌揪鏈�澶ф鏁�-鏃ュ織鏁伴噺';
+COMMENT ON COLUMN er_retry_summary.suspend_num IS '鏆傚仠閲嶈瘯-鏃ュ織鏁伴噺';
+COMMENT ON COLUMN er_retry_summary.create_dt IS '鍒涘缓鏃堕棿';
+COMMENT ON COLUMN er_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 er_job_summary (trigger_at, system_task_type, business_id);
+CREATE INDEX idx_job_summary_1 ON er_job_summary (namespace_id, group_name, business_id);
+
+COMMENT ON TABLE er_job_summary IS 'DashBoard_Job';
+COMMENT ON COLUMN er_job_summary.id IS '涓婚敭';
+COMMENT ON COLUMN er_job_summary.namespace_id IS '鍛藉悕绌洪棿id';
+COMMENT ON COLUMN er_job_summary.group_name IS '缁勫悕绉�';
+COMMENT ON COLUMN er_job_summary.business_id IS '涓氬姟id (job_id鎴杦orkflow_id)';
+COMMENT ON COLUMN er_job_summary.system_task_type IS '浠诲姟绫诲瀷 3銆丣OB浠诲姟 4銆乄ORKFLOW浠诲姟';
+COMMENT ON COLUMN er_job_summary.trigger_at IS '缁熻鏃堕棿';
+COMMENT ON COLUMN er_job_summary.success_num IS '鎵ц鎴愬姛-鏃ュ織鏁伴噺';
+COMMENT ON COLUMN er_job_summary.fail_num IS '鎵ц澶辫触-鏃ュ織鏁伴噺';
+COMMENT ON COLUMN er_job_summary.fail_reason IS '澶辫触鍘熷洜';
+COMMENT ON COLUMN er_job_summary.stop_num IS '鎵ц澶辫触-鏃ュ織鏁伴噺';
+COMMENT ON COLUMN er_job_summary.stop_reason IS '澶辫触鍘熷洜';
+COMMENT ON COLUMN er_job_summary.cancel_num IS '鎵ц澶辫触-鏃ュ織鏁伴噺';
+COMMENT ON COLUMN er_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 er_workflow (create_dt);
+CREATE INDEX idx_workflow_2 ON er_workflow (namespace_id, group_name);
+
+COMMENT ON TABLE er_workflow IS '宸ヤ綔娴�';
+COMMENT ON COLUMN er_workflow.id IS '涓婚敭';
+COMMENT ON COLUMN er_workflow.workflow_name IS '宸ヤ綔娴佸悕绉�';
+COMMENT ON COLUMN er_workflow.namespace_id IS '鍛藉悕绌洪棿id';
+COMMENT ON COLUMN er_workflow.group_name IS '缁勫悕绉�';
+COMMENT ON COLUMN er_workflow.workflow_status IS '宸ヤ綔娴佺姸鎬� 0銆佸叧闂��1銆佸紑鍚�';
+COMMENT ON COLUMN er_workflow.trigger_type IS '瑙﹀彂绫诲瀷 1.CRON 琛ㄨ揪寮� 2. 鍥哄畾鏃堕棿';
+COMMENT ON COLUMN er_workflow.trigger_interval IS '闂撮殧鏃堕暱';
+COMMENT ON COLUMN er_workflow.next_trigger_at IS '涓嬫瑙﹀彂鏃堕棿';
+COMMENT ON COLUMN er_workflow.block_strategy IS '闃诲绛栫暐 1銆佷涪寮� 2銆佽鐩� 3銆佸苟琛�';
+COMMENT ON COLUMN er_workflow.executor_timeout IS '浠诲姟鎵ц瓒呮椂鏃堕棿锛屽崟浣嶇';
+COMMENT ON COLUMN er_workflow.description IS '鎻忚堪';
+COMMENT ON COLUMN er_workflow.flow_info IS '娴佺▼淇℃伅';
+COMMENT ON COLUMN er_workflow.bucket_index IS 'bucket';
+COMMENT ON COLUMN er_workflow.version IS '鐗堟湰鍙�';
+COMMENT ON COLUMN er_workflow.create_dt IS '鍒涘缓鏃堕棿';
+COMMENT ON COLUMN er_workflow.update_dt IS '淇敼鏃堕棿';
+COMMENT ON COLUMN er_workflow.deleted IS '閫昏緫鍒犻櫎 1銆佸垹闄�';
+COMMENT ON COLUMN er_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 er_workflow_node (create_dt);
+CREATE INDEX idx_workflow_node_2 ON er_workflow_node (namespace_id, group_name);
+
+COMMENT ON TABLE er_workflow_node IS '宸ヤ綔娴佽妭鐐�';
+COMMENT ON COLUMN er_workflow_node.id IS '涓婚敭';
+COMMENT ON COLUMN er_workflow_node.namespace_id IS '鍛藉悕绌洪棿id';
+COMMENT ON COLUMN er_workflow_node.node_name IS '鑺傜偣鍚嶇О';
+COMMENT ON COLUMN er_workflow_node.group_name IS '缁勫悕绉�';
+COMMENT ON COLUMN er_workflow_node.job_id IS '浠诲姟淇℃伅id';
+COMMENT ON COLUMN er_workflow_node.workflow_id IS '宸ヤ綔娴両D';
+COMMENT ON COLUMN er_workflow_node.node_type IS '1銆佷换鍔¤妭鐐� 2銆佹潯浠惰妭鐐�';
+COMMENT ON COLUMN er_workflow_node.expression_type IS '1銆丼pEl銆�2銆丄viator 3銆丵L';
+COMMENT ON COLUMN er_workflow_node.fail_strategy IS '澶辫触绛栫暐 1銆佽烦杩� 2銆侀樆濉�';
+COMMENT ON COLUMN er_workflow_node.workflow_node_status IS '宸ヤ綔娴佽妭鐐圭姸鎬� 0銆佸叧闂��1銆佸紑鍚�';
+COMMENT ON COLUMN er_workflow_node.priority_level IS '浼樺厛绾�';
+COMMENT ON COLUMN er_workflow_node.node_info IS '鑺傜偣淇℃伅';
+COMMENT ON COLUMN er_workflow_node.version IS '鐗堟湰鍙�';
+COMMENT ON COLUMN er_workflow_node.create_dt IS '鍒涘缓鏃堕棿';
+COMMENT ON COLUMN er_workflow_node.update_dt IS '淇敼鏃堕棿';
+COMMENT ON COLUMN er_workflow_node.deleted IS '閫昏緫鍒犻櫎 1銆佸垹闄�';
+COMMENT ON COLUMN er_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 er_workflow_task_batch (workflow_id, task_batch_status);
+CREATE INDEX idx_workflow_task_batch_2 ON er_workflow_task_batch (create_dt);
+CREATE INDEX idx_workflow_task_batch_3 ON er_workflow_task_batch (namespace_id, group_name);
+
+COMMENT ON TABLE er_workflow_task_batch IS '宸ヤ綔娴佹壒娆�';
+COMMENT ON COLUMN er_workflow_task_batch.id IS '涓婚敭';
+COMMENT ON COLUMN er_workflow_task_batch.namespace_id IS '鍛藉悕绌洪棿id';
+COMMENT ON COLUMN er_workflow_task_batch.group_name IS '缁勫悕绉�';
+COMMENT ON COLUMN er_workflow_task_batch.workflow_id IS '宸ヤ綔娴佷换鍔d';
+COMMENT ON COLUMN er_workflow_task_batch.task_batch_status IS '浠诲姟鎵规鐘舵�� 0銆佸け璐� 1銆佹垚鍔�';
+COMMENT ON COLUMN er_workflow_task_batch.operation_reason IS '鎿嶄綔鍘熷洜';
+COMMENT ON COLUMN er_workflow_task_batch.flow_info IS '娴佺▼淇℃伅';
+COMMENT ON COLUMN er_workflow_task_batch.execution_at IS '浠诲姟鎵ц鏃堕棿';
+COMMENT ON COLUMN er_workflow_task_batch.create_dt IS '鍒涘缓鏃堕棿';
+COMMENT ON COLUMN er_workflow_task_batch.update_dt IS '淇敼鏃堕棿';
+COMMENT ON COLUMN er_workflow_task_batch.deleted IS '閫昏緫鍒犻櫎 1銆佸垹闄�';
+COMMENT ON COLUMN er_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 fa0a07e..0000000
--- 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 '鍚岀粍涓媔d鍞竴';
-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 '鍚岀粍涓媔d鍞竴';
-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 '鍚岀粍涓媔d鍞竴';
-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 '鍚岀粍涓媔d鍞竴';
-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銆丆RON 琛ㄨ揪寮�';
-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 '鏈�澶d';
-COMMENT ON COLUMN "sequence_alloc"."step" IS '姝ラ暱';
-COMMENT ON COLUMN "sequence_alloc"."update_dt" IS '鏇存柊鏃堕棿';
-COMMENT ON TABLE "sequence_alloc" IS '鍙锋妯″紡搴忓彿ID鍒嗛厤琛�';
-
--- 鍒嗗竷寮忚皟搴DL
-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 '宸ヤ綔娴佽妭鐐筰d';
-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 '宸ヤ綔娴両D';
-COMMENT ON COLUMN workflow_node.node_type IS '1銆佷换鍔¤妭鐐� 2銆佹潯浠惰妭鐐�';
-COMMENT ON COLUMN workflow_node.expression_type IS '1銆丼pEl銆�2銆丄viator 3銆丵L';
-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 '宸ヤ綔娴佷换鍔d';
-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 0000000..62801e9
--- /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 er_namespace (unique_id);
+
+COMMENT ON COLUMN er_namespace.id IS '涓婚敭';
+COMMENT ON COLUMN er_namespace.name IS '鍚嶇О';
+COMMENT ON COLUMN er_namespace.unique_id IS '鍞竴id';
+COMMENT ON COLUMN er_namespace.description IS '鎻忚堪';
+COMMENT ON COLUMN er_namespace.create_dt IS '鍒涘缓鏃堕棿';
+COMMENT ON COLUMN er_namespace.update_dt IS '淇敼鏃堕棿';
+COMMENT ON COLUMN er_namespace.deleted IS '閫昏緫鍒犻櫎 1銆佸垹闄�';
+COMMENT ON TABLE er_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 er_group_config (namespace_id, group_name);
+
+COMMENT ON COLUMN er_group_config.id IS '涓婚敭';
+COMMENT ON COLUMN er_group_config.namespace_id IS '鍛藉悕绌洪棿';
+COMMENT ON COLUMN er_group_config.group_name IS '缁勫悕绉�';
+COMMENT ON COLUMN er_group_config.description IS '缁勬弿杩�';
+COMMENT ON COLUMN er_group_config.token IS 'token';
+COMMENT ON COLUMN er_group_config.group_status IS '缁勭姸鎬� 0銆佹湭鍚敤 1銆佸惎鐢�';
+COMMENT ON COLUMN er_group_config.version IS '鐗堟湰鍙�';
+COMMENT ON COLUMN er_group_config.group_partition IS '鍒嗗尯';
+COMMENT ON COLUMN er_group_config.id_generator_mode IS '鍞竴id鐢熸垚妯″紡 榛樿鍙锋妯″紡';
+COMMENT ON COLUMN er_group_config.init_scene IS '鏄惁鍒濆鍖栧満鏅� 0:鍚� 1:鏄�';
+COMMENT ON COLUMN er_group_config.bucket_index IS 'bucket';
+COMMENT ON COLUMN er_group_config.create_dt IS '鍒涘缓鏃堕棿';
+COMMENT ON COLUMN er_group_config.update_dt IS '淇敼鏃堕棿';
+COMMENT ON TABLE er_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 er_notify_config (namespace_id, group_name);
+
+COMMENT ON COLUMN er_notify_config.id IS '涓婚敭';
+COMMENT ON COLUMN er_notify_config.group_name IS '缁勫悕绉�';
+COMMENT ON COLUMN er_notify_config.namespace_id IS '鍛藉悕绌洪棿id';
+COMMENT ON COLUMN er_notify_config.scene_name IS '鍦烘櫙鍚嶇О';
+COMMENT ON COLUMN er_notify_config.notify_status IS '閫氱煡鐘舵�� 0銆佹湭鍚敤 1銆佸惎鐢�';
+COMMENT ON COLUMN er_notify_config.notify_type IS '閫氱煡绫诲瀷 1銆侀拤閽� 2銆侀偖浠� 3銆佷紒涓氬井淇�';
+COMMENT ON COLUMN er_notify_config.notify_attribute IS '閰嶇疆灞炴��';
+COMMENT ON COLUMN er_notify_config.notify_threshold IS '閫氱煡闃堝��';
+COMMENT ON COLUMN er_notify_config.notify_scene IS '閫氱煡鍦烘櫙';
+COMMENT ON COLUMN er_notify_config.rate_limiter_status IS '闄愭祦鐘舵�� 0銆佹湭鍚敤 1銆佸惎鐢�';
+COMMENT ON COLUMN er_notify_config.rate_limiter_threshold IS '姣忕闄愭祦闃堝��';
+COMMENT ON COLUMN er_notify_config.description IS '鎻忚堪';
+COMMENT ON COLUMN er_notify_config.create_dt IS '鍒涘缓鏃堕棿';
+COMMENT ON COLUMN er_notify_config.update_dt IS '淇敼鏃堕棿';
+COMMENT ON TABLE er_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 er_retry_dead_letter_0 (namespace_id, group_name, unique_id);
+CREATE INDEX idx_namespace_id_group_name_scene_name_retry_dead_letter ON er_retry_dead_letter_0 (namespace_id, group_name, scene_name);
+CREATE INDEX idx_idempotent_id_retry_dead_letter ON er_retry_dead_letter_0 (idempotent_id);
+CREATE INDEX idx_biz_no_retry_dead_letter ON er_retry_dead_letter_0 (biz_no);
+CREATE INDEX idx_create_dt_retry_dead_letter ON er_retry_dead_letter_0 (create_dt);
+
+COMMENT ON COLUMN er_retry_dead_letter_0.id IS '涓婚敭';
+COMMENT ON COLUMN er_retry_dead_letter_0.unique_id IS '鍚岀粍涓媔d鍞竴';
+COMMENT ON COLUMN er_retry_dead_letter_0.namespace_id IS '鍛藉悕绌洪棿id';
+COMMENT ON COLUMN er_retry_dead_letter_0.group_name IS '缁勫悕绉�';
+COMMENT ON COLUMN er_retry_dead_letter_0.scene_name IS '鍦烘櫙鍚嶇О';
+COMMENT ON COLUMN er_retry_dead_letter_0.idempotent_id IS '骞傜瓑id';
+COMMENT ON COLUMN er_retry_dead_letter_0.biz_no IS '涓氬姟缂栧彿';
+COMMENT ON COLUMN er_retry_dead_letter_0.executor_name IS '鎵ц鍣ㄥ悕绉�';
+COMMENT ON COLUMN er_retry_dead_letter_0.args_str IS '鎵ц鏂规硶鍙傛暟';
+COMMENT ON COLUMN er_retry_dead_letter_0.ext_attrs IS '鎵╁睍瀛楁';
+COMMENT ON COLUMN er_retry_dead_letter_0.task_type IS '浠诲姟绫诲瀷 1銆侀噸璇曟暟鎹� 2銆佸洖璋冩暟鎹�';
+COMMENT ON COLUMN er_retry_dead_letter_0.create_dt IS '鍒涘缓鏃堕棿';
+COMMENT ON TABLE er_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 er_retry_task_0 (namespace_id, group_name, unique_id);
+CREATE INDEX idx_namespace_id_group_name_scene_name_retry_task ON er_retry_task_0 (namespace_id, group_name, scene_name);
+CREATE INDEX idx_namespace_id_group_name_retry_status_retry_task ON er_retry_task_0 (namespace_id, group_name, retry_status);
+CREATE INDEX idx_idempotent_id_retry_task ON er_retry_task_0 (idempotent_id);
+CREATE INDEX idx_biz_no_retry_task ON er_retry_task_0 (biz_no);
+CREATE INDEX idx_create_dt_retry_task ON er_retry_task_0 (create_dt);
+
+COMMENT ON COLUMN er_retry_task_0.id IS '涓婚敭';
+COMMENT ON COLUMN er_retry_task_0.unique_id IS '鍚岀粍涓媔d鍞竴';
+COMMENT ON COLUMN er_retry_task_0.namespace_id IS '鍛藉悕绌洪棿id';
+COMMENT ON COLUMN er_retry_task_0.group_name IS '缁勫悕绉�';
+COMMENT ON COLUMN er_retry_task_0.scene_name IS '鍦烘櫙鍚嶇О';
+COMMENT ON COLUMN er_retry_task_0.idempotent_id IS '骞傜瓑id';
+COMMENT ON COLUMN er_retry_task_0.biz_no IS '涓氬姟缂栧彿';
+COMMENT ON COLUMN er_retry_task_0.executor_name IS '鎵ц鍣ㄥ悕绉�';
+COMMENT ON COLUMN er_retry_task_0.args_str IS '鎵ц鏂规硶鍙傛暟';
+COMMENT ON COLUMN er_retry_task_0.ext_attrs IS '鎵╁睍瀛楁';
+COMMENT ON COLUMN er_retry_task_0.next_trigger_at IS '涓嬫瑙﹀彂鏃堕棿';
+COMMENT ON COLUMN er_retry_task_0.retry_count IS '閲嶈瘯娆℃暟';
+COMMENT ON COLUMN er_retry_task_0.retry_status IS '閲嶈瘯鐘舵�� 0銆侀噸璇曚腑 1銆佹垚鍔� 2銆佹渶澶ч噸璇曟鏁�';
+COMMENT ON COLUMN er_retry_task_0.task_type IS '浠诲姟绫诲瀷 1銆侀噸璇曟暟鎹� 2銆佸洖璋冩暟鎹�';
+COMMENT ON COLUMN er_retry_task_0.create_dt IS '鍒涘缓鏃堕棿';
+COMMENT ON COLUMN er_retry_task_0.update_dt IS '淇敼鏃堕棿';
+COMMENT ON TABLE er_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 er_retry_task_log (namespace_id, group_name, scene_name);
+CREATE INDEX idx_retry_status_retry_task_log ON er_retry_task_log (retry_status);
+CREATE INDEX idx_idempotent_id_retry_task_log ON er_retry_task_log (idempotent_id);
+CREATE INDEX idx_unique_id ON er_retry_task_log (namespace_id, group_name, unique_id);
+CREATE INDEX idx_biz_no_retry_task_log ON er_retry_task_log (biz_no);
+CREATE INDEX idx_create_dt_retry_task_log ON er_retry_task_log (create_dt);
+
+COMMENT ON COLUMN er_retry_task_log.id IS '涓婚敭';
+COMMENT ON COLUMN er_retry_task_log.namespace_id IS '鍛藉悕绌洪棿id';
+COMMENT ON COLUMN er_retry_task_log.unique_id IS '鍚岀粍涓媔d鍞竴';
+COMMENT ON COLUMN er_retry_task_log.group_name IS '缁勫悕绉�';
+COMMENT ON COLUMN er_retry_task_log.scene_name IS '鍦烘櫙鍚嶇О';
+COMMENT ON COLUMN er_retry_task_log.idempotent_id IS '骞傜瓑id';
+COMMENT ON COLUMN er_retry_task_log.biz_no IS '涓氬姟缂栧彿';
+COMMENT ON COLUMN er_retry_task_log.executor_name IS '鎵ц鍣ㄥ悕绉�';
+COMMENT ON COLUMN er_retry_task_log.args_str IS '鎵ц鏂规硶鍙傛暟';
+COMMENT ON COLUMN er_retry_task_log.ext_attrs IS '鎵╁睍瀛楁';
+COMMENT ON COLUMN er_retry_task_log.retry_status IS '閲嶈瘯鐘舵�� 0銆侀噸璇曚腑 1銆佹垚鍔� 2銆佹渶澶ф鏁�';
+COMMENT ON COLUMN er_retry_task_log.task_type IS '浠诲姟绫诲瀷 1銆侀噸璇曟暟鎹� 2銆佸洖璋冩暟鎹�';
+COMMENT ON COLUMN er_retry_task_log.create_dt IS '鍒涘缓鏃堕棿';
+COMMENT ON COLUMN er_retry_task_log.update_dt IS '淇敼鏃堕棿';
+COMMENT ON TABLE er_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 er_retry_task_log_message (namespace_id, group_name, unique_id);
+CREATE INDEX idx_create_dt ON er_retry_task_log_message (create_dt);
+COMMENT ON COLUMN er_retry_task_log_message.id IS '涓婚敭';
+COMMENT ON COLUMN er_retry_task_log_message.namespace_id IS '鍛藉悕绌洪棿';
+COMMENT ON COLUMN er_retry_task_log_message.group_name IS '缁勫悕绉�';
+COMMENT ON COLUMN er_retry_task_log_message.unique_id IS '鍚岀粍涓媔d鍞竴';
+COMMENT ON COLUMN er_retry_task_log_message.create_dt IS '鍒涘缓鏃堕棿';
+COMMENT ON COLUMN er_retry_task_log_message.message IS '寮傚父淇℃伅';
+COMMENT ON COLUMN er_retry_task_log_message.log_num IS '鏃ュ織鏉℃暟';
+COMMENT ON COLUMN er_retry_task_log_message.real_time IS '瀹為檯鏃堕棿';
+COMMENT ON TABLE er_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 er_scene_config (namespace_id, group_name, scene_name);
+COMMENT ON COLUMN er_scene_config.id IS '涓婚敭';
+COMMENT ON COLUMN er_scene_config.namespace_id IS '鍛藉悕绌洪棿id';
+COMMENT ON COLUMN er_scene_config.scene_name IS '鍦烘櫙鍚嶇О';
+COMMENT ON COLUMN er_scene_config.group_name IS '缁勫悕绉�';
+COMMENT ON COLUMN er_scene_config.scene_status IS '缁勭姸鎬� 0銆佹湭鍚敤 1銆佸惎鐢�';
+COMMENT ON COLUMN er_scene_config.max_retry_count IS '鏈�澶ч噸璇曟鏁�';
+COMMENT ON COLUMN er_scene_config.back_off IS '1銆侀粯璁ょ瓑绾� 2銆佸浐瀹氶棿闅旀椂闂� 3銆丆RON 琛ㄨ揪寮�';
+COMMENT ON COLUMN er_scene_config.trigger_interval IS '闂撮殧鏃堕暱';
+COMMENT ON COLUMN er_scene_config.deadline_request IS 'Deadline Request 璋冪敤閾捐秴鏃� 鍗曚綅姣';
+COMMENT ON COLUMN er_scene_config.description IS '鎻忚堪';
+COMMENT ON COLUMN er_scene_config.route_key IS '璺敱绛栫暐';
+COMMENT ON COLUMN er_scene_config.executor_timeout IS '瓒呮椂鏃堕棿';
+COMMENT ON COLUMN er_scene_config.create_dt IS '鍒涘缓鏃堕棿';
+COMMENT ON COLUMN er_scene_config.update_dt IS '淇敼鏃堕棿';
+COMMENT ON TABLE er_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 er_server_node (host_id, host_ip);
+CREATE INDEX idx_expire_at_node_type ON er_server_node (expire_at, node_type);
+CREATE INDEX idx_namespace_id_group_name_server_node ON er_server_node (namespace_id, group_name);
+
+COMMENT ON COLUMN er_server_node.id IS '涓婚敭';
+COMMENT ON COLUMN er_server_node.group_name IS '缁勫悕绉�';
+COMMENT ON COLUMN er_server_node.namespace_id IS '鍛藉悕绌洪棿id';
+COMMENT ON COLUMN er_server_node.host_id IS '涓绘満id';
+COMMENT ON COLUMN er_server_node.host_ip IS '鏈哄櫒ip';
+COMMENT ON COLUMN er_server_node.context_path IS '瀹㈡埛绔笂涓嬫枃璺緞 server.servlet.context-path';
+COMMENT ON COLUMN er_server_node.host_port IS '鏈哄櫒绔彛';
+COMMENT ON COLUMN er_server_node.expire_at IS '杩囨湡鏃堕棿';
+COMMENT ON COLUMN er_server_node.node_type IS '鑺傜偣绫诲瀷 1銆佸鎴风 2銆佹槸鏈嶅姟绔�';
+COMMENT ON COLUMN er_server_node.ext_attrs IS '鎵╁睍瀛楁';
+COMMENT ON COLUMN er_server_node.create_dt IS '鍒涘缓鏃堕棿';
+COMMENT ON COLUMN er_server_node.update_dt IS '淇敼鏃堕棿';
+COMMENT ON TABLE er_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 er_distributed_lock
+ ADD CONSTRAINT uk_name UNIQUE (name);
+
+COMMENT ON COLUMN er_distributed_lock.id IS '涓婚敭';
+COMMENT ON COLUMN er_distributed_lock.name IS '閿佸悕绉�';
+COMMENT ON COLUMN er_distributed_lock.lock_until IS '閿佸畾鏃堕暱';
+COMMENT ON COLUMN er_distributed_lock.locked_at IS '閿佸畾鏃堕棿';
+COMMENT ON COLUMN er_distributed_lock.locked_by IS '閿佸畾鑰�';
+COMMENT ON COLUMN er_distributed_lock.create_dt IS '鍒涘缓鏃堕棿';
+COMMENT ON COLUMN er_distributed_lock.update_dt IS '淇敼鏃堕棿';
+COMMENT ON TABLE er_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 er_system_user (username);
+COMMENT ON COLUMN er_system_user.id IS '涓婚敭';
+COMMENT ON COLUMN er_system_user.username IS '璐﹀彿';
+COMMENT ON COLUMN er_system_user.password IS '瀵嗙爜';
+COMMENT ON COLUMN er_system_user.role IS '瑙掕壊锛�1-鏅�氱敤鎴枫��2-绠$悊鍛�';
+COMMENT ON COLUMN er_system_user.create_dt IS '鍒涘缓鏃堕棿';
+COMMENT ON COLUMN er_system_user.update_dt IS '淇敼鏃堕棿';
+COMMENT ON TABLE er_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 er_system_user_permission (namespace_id, group_name, system_user_id);
+COMMENT ON COLUMN er_system_user_permission.id IS '涓婚敭';
+COMMENT ON COLUMN er_system_user_permission.namespace_id IS '鍛藉悕绌洪棿id';
+COMMENT ON COLUMN er_system_user_permission.group_name IS '缁勫悕绉�';
+COMMENT ON COLUMN er_system_user_permission.system_user_id IS '绯荤粺鐢ㄦ埛id';
+COMMENT ON COLUMN er_system_user_permission.create_dt IS '鍒涘缓鏃堕棿';
+COMMENT ON COLUMN er_system_user_permission.update_dt IS '淇敼鏃堕棿';
+COMMENT ON TABLE er_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 er_sequence_alloc (namespace_id, group_name);
+
+COMMENT ON COLUMN er_sequence_alloc.id IS '涓婚敭';
+COMMENT ON COLUMN er_sequence_alloc.namespace_id IS '鍛藉悕绌洪棿id';
+COMMENT ON COLUMN er_sequence_alloc.group_name IS '缁勫悕绉�';
+COMMENT ON COLUMN er_sequence_alloc.max_id IS '鏈�澶d';
+COMMENT ON COLUMN er_sequence_alloc.step IS '姝ラ暱';
+COMMENT ON COLUMN er_sequence_alloc.update_dt IS '鏇存柊鏃堕棿';
+COMMENT ON TABLE er_sequence_alloc IS '鍙锋妯″紡搴忓彿ID鍒嗛厤琛�';
+
+-- 鍒嗗竷寮忚皟搴DL
+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 er_job (namespace_id, group_name);
+CREATE INDEX idx_job_status_bucket_index_job ON er_job (job_status, bucket_index);
+CREATE INDEX idx_create_dt_job ON er_job (create_dt);
+
+COMMENT ON COLUMN er_job.id IS '涓婚敭';
+COMMENT ON COLUMN er_job.namespace_id IS '鍛藉悕绌洪棿id';
+COMMENT ON COLUMN er_job.group_name IS '缁勫悕绉�';
+COMMENT ON COLUMN er_job.job_name IS '鍚嶇О';
+COMMENT ON COLUMN er_job.args_str IS '鎵ц鏂规硶鍙傛暟';
+COMMENT ON COLUMN er_job.args_type IS '鍙傛暟绫诲瀷';
+COMMENT ON COLUMN er_job.next_trigger_at IS '涓嬫瑙﹀彂鏃堕棿';
+COMMENT ON COLUMN er_job.job_status IS '閲嶈瘯鐘舵�� 0銆佸叧闂��1銆佸紑鍚�';
+COMMENT ON COLUMN er_job.task_type IS '浠诲姟绫诲瀷 1銆侀泦缇� 2銆佸箍鎾� 3銆佸垏鐗�';
+COMMENT ON COLUMN er_job.route_key IS '璺敱绛栫暐';
+COMMENT ON COLUMN er_job.executor_type IS '鎵ц鍣ㄧ被鍨�';
+COMMENT ON COLUMN er_job.executor_info IS '鎵ц鍣ㄥ悕绉�';
+COMMENT ON COLUMN er_job.trigger_type IS '瑙﹀彂绫诲瀷 1.CRON 琛ㄨ揪寮� 2. 鍥哄畾鏃堕棿';
+COMMENT ON COLUMN er_job.trigger_interval IS '闂撮殧鏃堕暱';
+COMMENT ON COLUMN er_job.block_strategy IS '闃诲绛栫暐 1銆佷涪寮� 2銆佽鐩� 3銆佸苟琛�';
+COMMENT ON COLUMN er_job.executor_timeout IS '浠诲姟鎵ц瓒呮椂鏃堕棿锛屽崟浣嶇';
+COMMENT ON COLUMN er_job.max_retry_times IS '鏈�澶ч噸璇曟鏁�';
+COMMENT ON COLUMN er_job.parallel_num IS '骞惰鏁�';
+COMMENT ON COLUMN er_job.retry_interval IS '鏇存柊閲嶈瘯闂撮殧(s)';
+COMMENT ON COLUMN er_job.bucket_index IS 'bucket';
+COMMENT ON COLUMN er_job.resident IS '鏄惁鏄父椹讳换鍔�';
+COMMENT ON COLUMN er_job.description IS '鎻忚堪';
+COMMENT ON COLUMN er_job.ext_attrs IS '鎵╁睍瀛楁';
+COMMENT ON COLUMN er_job.create_dt IS '鍒涘缓鏃堕棿';
+COMMENT ON COLUMN er_job.deleted IS '閫昏緫鍒犻櫎 1銆佸垹闄�';
+COMMENT ON COLUMN er_job.update_dt IS '鏇存柊鏃堕棿';
+COMMENT ON TABLE er_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 er_job_log_message (namespace_id, group_name);
+CREATE INDEX idx_task_batch_id_task_id_to_job_log_message ON er_job_log_message (task_batch_id, task_id);
+CREATE INDEX idx_create_dt_to_job_log_message ON er_job_log_message (create_dt);
+
+COMMENT ON COLUMN er_job_log_message.id IS '涓婚敭';
+COMMENT ON COLUMN er_job_log_message.namespace_id IS '鍛藉悕绌洪棿id';
+COMMENT ON COLUMN er_job_log_message.group_name IS '缁勫悕绉�';
+COMMENT ON COLUMN er_job_log_message.job_id IS '浠诲姟淇℃伅id';
+COMMENT ON COLUMN er_job_log_message.task_batch_id IS '浠诲姟鎵规id';
+COMMENT ON COLUMN er_job_log_message.task_id IS '璋冨害浠诲姟id';
+COMMENT ON COLUMN er_job_log_message.message IS '璋冨害淇℃伅';
+COMMENT ON COLUMN er_job_log_message.log_num IS '鏃ュ織搴忓彿';
+COMMENT ON COLUMN er_job_log_message.real_time IS '瀹為檯鏃堕棿';
+COMMENT ON COLUMN er_job_log_message.create_dt IS '鍒涘缓鏃堕棿';
+COMMENT ON COLUMN er_job_log_message.ext_attrs IS '鎵╁睍瀛楁';
+COMMENT ON TABLE er_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 er_job_task (namespace_id, group_name);
+CREATE INDEX idx_task_batch_id_task_status_to_job_task ON er_job_task (task_batch_id, task_status);
+CREATE INDEX idx_create_dt_to_job_task ON er_job_task (create_dt);
+COMMENT ON COLUMN er_job_task.id IS '涓婚敭';
+COMMENT ON COLUMN er_job_task.namespace_id IS '鍛藉悕绌洪棿id';
+COMMENT ON COLUMN er_job_task.group_name IS '缁勫悕绉�';
+COMMENT ON COLUMN er_job_task.job_id IS '浠诲姟淇℃伅id';
+COMMENT ON COLUMN er_job_task.task_batch_id IS '浠诲姟鎵规id';
+COMMENT ON COLUMN er_job_task.parent_id IS '鐖舵墽琛屽櫒id';
+COMMENT ON COLUMN er_job_task.task_status IS '鎵ц鐨勭姸鎬� 0銆佸け璐� 1銆佹垚鍔�';
+COMMENT ON COLUMN er_job_task.retry_count IS '閲嶈瘯娆℃暟';
+COMMENT ON COLUMN er_job_task.client_info IS '瀹㈡埛绔湴鍧� clientId#ip:port';
+COMMENT ON COLUMN er_job_task.result_message IS '璋冨害淇℃伅';
+COMMENT ON COLUMN er_job_task.args_str IS '鎵ц鏂规硶鍙傛暟';
+COMMENT ON COLUMN er_job_task.args_type IS '鍙傛暟绫诲瀷';
+COMMENT ON COLUMN er_job_task.create_dt IS '鍒涘缓鏃堕棿';
+COMMENT ON COLUMN er_job_task.update_dt IS '鍒涘缓鏃堕棿';
+COMMENT ON COLUMN er_job_task.ext_attrs IS '鎵╁睍瀛楁';
+COMMENT ON TABLE er_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 er_job_task_batch (namespace_id, group_name);
+CREATE INDEX idx_job_id_task_batch_status_to_job_task_batch ON er_job_task_batch (job_id, task_batch_status);
+CREATE INDEX idx_create_dt_to_job_task_batch ON er_job_task_batch (create_dt);
+CREATE INDEX idx_workflow_task_batch_id_workflow_node_id ON er_job_task_batch (workflow_task_batch_id, workflow_node_id);
+
+COMMENT ON COLUMN er_job_task_batch.id IS '涓婚敭';
+COMMENT ON COLUMN er_job_task_batch.namespace_id IS '鍛藉悕绌洪棿id';
+COMMENT ON COLUMN er_job_task_batch.group_name IS '缁勫悕绉�';
+COMMENT ON COLUMN er_job_task_batch.job_id IS '浠诲姟淇℃伅id';
+COMMENT ON COLUMN er_job_task_batch.task_batch_status IS '浠诲姟鎵规鐘舵�� 0銆佸け璐� 1銆佹垚鍔�';
+COMMENT ON COLUMN er_job_task_batch.operation_reason IS '鎿嶄綔鍘熷洜';
+COMMENT ON COLUMN er_job_task_batch.workflow_node_id IS '宸ヤ綔娴佽妭鐐筰d';
+COMMENT ON COLUMN er_job_task_batch.parent_workflow_node_id IS '鐖惰妭鐐�';
+COMMENT ON COLUMN er_job_task_batch.workflow_task_batch_id IS '浠诲姟鎵规id';
+COMMENT ON COLUMN er_job_task_batch.system_task_type IS '浠诲姟绫诲瀷 0銆佺郴缁熶换鍔� 1銆佷笟鍔′换鍔�';
+COMMENT ON COLUMN er_job_task_batch.execution_at IS '浠诲姟鎵ц鏃堕棿';
+COMMENT ON COLUMN er_job_task_batch.parent_id IS '鐖惰妭鐐�';
+COMMENT ON COLUMN er_job_task_batch.deleted IS '閫昏緫鍒犻櫎 1銆佸垹闄�';
+COMMENT ON COLUMN er_job_task_batch.create_dt IS '鍒涘缓鏃堕棿';
+COMMENT ON COLUMN er_job_task_batch.update_dt IS '鍒涘缓鏃堕棿';
+COMMENT ON COLUMN er_job_task_batch.ext_attrs IS '鎵╁睍瀛楁';
+COMMENT ON TABLE er_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 er_job_notify_config (namespace_id, group_name, job_id);
+
+COMMENT ON COLUMN er_job_notify_config.id IS '涓婚敭';
+COMMENT ON COLUMN er_job_notify_config.namespace_id IS '鍛藉悕绌洪棿id';
+COMMENT ON COLUMN er_job_notify_config.group_name IS '缁勫悕绉�';
+COMMENT ON COLUMN er_job_notify_config.job_id IS '浠诲姟淇℃伅id';
+COMMENT ON COLUMN er_job_notify_config.notify_status IS '閫氱煡鐘舵�� 0銆佹湭鍚敤 1銆佸惎鐢�';
+COMMENT ON COLUMN er_job_notify_config.notify_type IS '閫氱煡绫诲瀷 1銆侀拤閽� 2銆侀偖浠� 3銆佷紒涓氬井淇�';
+COMMENT ON COLUMN er_job_notify_config.notify_attribute IS '閰嶇疆灞炴��';
+COMMENT ON COLUMN er_job_notify_config.notify_threshold IS '閫氱煡闃堝��';
+COMMENT ON COLUMN er_job_notify_config.notify_scene IS '閫氱煡鍦烘櫙';
+COMMENT ON COLUMN er_job_notify_config.rate_limiter_status IS '闄愭祦鐘舵�� 0銆佹湭鍚敤 1銆佸惎鐢�';
+COMMENT ON COLUMN er_job_notify_config.rate_limiter_threshold IS '姣忕闄愭祦闃堝��';
+COMMENT ON COLUMN er_job_notify_config.description IS '鎻忚堪';
+COMMENT ON COLUMN er_job_notify_config.create_dt IS '鍒涘缓鏃堕棿';
+COMMENT ON COLUMN er_job_notify_config.update_dt IS '淇敼鏃堕棿';
+COMMENT ON TABLE er_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 er_retry_summary (namespace_id, group_name, scene_name, trigger_at);
+
+COMMENT ON COLUMN er_retry_summary.id IS '涓婚敭';
+COMMENT ON COLUMN er_retry_summary.namespace_id IS '鍛藉悕绌洪棿id';
+COMMENT ON COLUMN er_retry_summary.group_name IS '缁勫悕绉�';
+COMMENT ON COLUMN er_retry_summary.scene_name IS '鍦烘櫙鍚嶇О';
+COMMENT ON COLUMN er_retry_summary.trigger_at IS '缁熻鏃堕棿';
+COMMENT ON COLUMN er_retry_summary.running_num IS '閲嶈瘯涓�-鏃ュ織鏁伴噺';
+COMMENT ON COLUMN er_retry_summary.finish_num IS '閲嶈瘯瀹屾垚-鏃ュ織鏁伴噺';
+COMMENT ON COLUMN er_retry_summary.max_count_num IS '閲嶈瘯鍒拌揪鏈�澶ф鏁�-鏃ュ織鏁伴噺';
+COMMENT ON COLUMN er_retry_summary.suspend_num IS '鏆傚仠閲嶈瘯-鏃ュ織鏁伴噺';
+COMMENT ON COLUMN er_retry_summary.create_dt IS '鍒涘缓鏃堕棿';
+COMMENT ON COLUMN er_retry_summary.update_dt IS '淇敼鏃堕棿';
+COMMENT ON TABLE er_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 er_job_summary (trigger_at, system_task_type, business_id);
+CREATE INDEX idx_namespace_id_group_name_job_id ON er_job_summary (namespace_id, group_name, business_id);
+
+COMMENT ON COLUMN er_job_summary.id IS '涓婚敭';
+COMMENT ON COLUMN er_job_summary.namespace_id IS '鍛藉悕绌洪棿id';
+COMMENT ON COLUMN er_job_summary.group_name IS '缁勫悕绉�';
+COMMENT ON COLUMN er_job_summary.business_id IS '涓氬姟id (job_id鎴杦orkflow_id)';
+COMMENT ON COLUMN er_job_summary.system_task_type IS '浠诲姟绫诲瀷 3銆丣OB浠诲姟 4銆乄ORKFLOW浠诲姟';
+COMMENT ON COLUMN er_job_summary.trigger_at IS '缁熻鏃堕棿';
+COMMENT ON COLUMN er_job_summary.success_num IS '鎵ц鎴愬姛-鏃ュ織鏁伴噺';
+COMMENT ON COLUMN er_job_summary.fail_num IS '鎵ц澶辫触-鏃ュ織鏁伴噺';
+COMMENT ON COLUMN er_job_summary.fail_reason IS '澶辫触鍘熷洜';
+COMMENT ON COLUMN er_job_summary.stop_num IS '鎵ц澶辫触-鏃ュ織鏁伴噺';
+COMMENT ON COLUMN er_job_summary.stop_reason IS '澶辫触鍘熷洜';
+COMMENT ON COLUMN er_job_summary.cancel_num IS '鎵ц澶辫触-鏃ュ織鏁伴噺';
+COMMENT ON COLUMN er_job_summary.cancel_reason IS '澶辫触鍘熷洜';
+COMMENT ON TABLE er_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 er_workflow (create_dt);
+CREATE INDEX idx_namespace_id_group_name_workflow ON er_workflow (namespace_id, group_name);
+
+COMMENT ON TABLE er_workflow IS '宸ヤ綔娴�';
+COMMENT ON COLUMN er_workflow.id IS '涓婚敭';
+COMMENT ON COLUMN er_workflow.workflow_name IS '宸ヤ綔娴佸悕绉�';
+COMMENT ON COLUMN er_workflow.namespace_id IS '鍛藉悕绌洪棿id';
+COMMENT ON COLUMN er_workflow.group_name IS '缁勫悕绉�';
+COMMENT ON COLUMN er_workflow.workflow_status IS '宸ヤ綔娴佺姸鎬� 0銆佸叧闂��1銆佸紑鍚�';
+COMMENT ON COLUMN er_workflow.trigger_type IS '瑙﹀彂绫诲瀷 1.CRON 琛ㄨ揪寮� 2. 鍥哄畾鏃堕棿';
+COMMENT ON COLUMN er_workflow.trigger_interval IS '闂撮殧鏃堕暱';
+COMMENT ON COLUMN er_workflow.next_trigger_at IS '涓嬫瑙﹀彂鏃堕棿';
+COMMENT ON COLUMN er_workflow.block_strategy IS '闃诲绛栫暐 1銆佷涪寮� 2銆佽鐩� 3銆佸苟琛�';
+COMMENT ON COLUMN er_workflow.executor_timeout IS '浠诲姟鎵ц瓒呮椂鏃堕棿锛屽崟浣嶇';
+COMMENT ON COLUMN er_workflow.description IS '鎻忚堪';
+COMMENT ON COLUMN er_workflow.flow_info IS '娴佺▼淇℃伅';
+COMMENT ON COLUMN er_workflow.bucket_index IS 'bucket';
+COMMENT ON COLUMN er_workflow.version IS '鐗堟湰鍙�';
+COMMENT ON COLUMN er_workflow.create_dt IS '鍒涘缓鏃堕棿';
+COMMENT ON COLUMN er_workflow.update_dt IS '淇敼鏃堕棿';
+COMMENT ON COLUMN er_workflow.deleted IS '閫昏緫鍒犻櫎 1銆佸垹闄�';
+COMMENT ON COLUMN er_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 er_workflow_node (create_dt);
+CREATE INDEX idx_namespace_id_group_name_workflow_node ON er_workflow_node (namespace_id, group_name);
+
+COMMENT ON TABLE er_workflow_node IS '宸ヤ綔娴佽妭鐐�';
+COMMENT ON COLUMN er_workflow_node.id IS '涓婚敭';
+COMMENT ON COLUMN er_workflow_node.namespace_id IS '鍛藉悕绌洪棿id';
+COMMENT ON COLUMN er_workflow_node.node_name IS '鑺傜偣鍚嶇О';
+COMMENT ON COLUMN er_workflow_node.group_name IS '缁勫悕绉�';
+COMMENT ON COLUMN er_workflow_node.job_id IS '浠诲姟淇℃伅id';
+COMMENT ON COLUMN er_workflow_node.workflow_id IS '宸ヤ綔娴両D';
+COMMENT ON COLUMN er_workflow_node.node_type IS '1銆佷换鍔¤妭鐐� 2銆佹潯浠惰妭鐐�';
+COMMENT ON COLUMN er_workflow_node.expression_type IS '1銆丼pEl銆�2銆丄viator 3銆丵L';
+COMMENT ON COLUMN er_workflow_node.fail_strategy IS '澶辫触绛栫暐 1銆佽烦杩� 2銆侀樆濉�';
+COMMENT ON COLUMN er_workflow_node.workflow_node_status IS '宸ヤ綔娴佽妭鐐圭姸鎬� 0銆佸叧闂��1銆佸紑鍚�';
+COMMENT ON COLUMN er_workflow_node.priority_level IS '浼樺厛绾�';
+COMMENT ON COLUMN er_workflow_node.node_info IS '鑺傜偣淇℃伅';
+COMMENT ON COLUMN er_workflow_node.version IS '鐗堟湰鍙�';
+COMMENT ON COLUMN er_workflow_node.create_dt IS '鍒涘缓鏃堕棿';
+COMMENT ON COLUMN er_workflow_node.update_dt IS '淇敼鏃堕棿';
+COMMENT ON COLUMN er_workflow_node.deleted IS '閫昏緫鍒犻櫎 1銆佸垹闄�';
+COMMENT ON COLUMN er_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 er_workflow_task_batch (workflow_id, task_batch_status);
+CREATE INDEX idx_create_dt_workflow_task_batch ON er_workflow_task_batch (create_dt);
+CREATE INDEX idx_namespace_id_group_name_workflow_task_batch ON er_workflow_task_batch (namespace_id, group_name);
+
+COMMENT ON TABLE er_workflow_task_batch IS '宸ヤ綔娴佹壒娆�';
+COMMENT ON COLUMN er_workflow_task_batch.id IS '涓婚敭';
+COMMENT ON COLUMN er_workflow_task_batch.namespace_id IS '鍛藉悕绌洪棿id';
+COMMENT ON COLUMN er_workflow_task_batch.group_name IS '缁勫悕绉�';
+COMMENT ON COLUMN er_workflow_task_batch.workflow_id IS '宸ヤ綔娴佷换鍔d';
+COMMENT ON COLUMN er_workflow_task_batch.task_batch_status IS '浠诲姟鎵规鐘舵�� 0銆佸け璐� 1銆佹垚鍔�';
+COMMENT ON COLUMN er_workflow_task_batch.operation_reason IS '鎿嶄綔鍘熷洜';
+COMMENT ON COLUMN er_workflow_task_batch.flow_info IS '娴佺▼淇℃伅';
+COMMENT ON COLUMN er_workflow_task_batch.execution_at IS '浠诲姟鎵ц鏃堕棿';
+COMMENT ON COLUMN er_workflow_task_batch.create_dt IS '鍒涘缓鏃堕棿';
+COMMENT ON COLUMN er_workflow_task_batch.update_dt IS '淇敼鏃堕棿';
+COMMENT ON COLUMN er_workflow_task_batch.deleted IS '閫昏緫鍒犻櫎 1銆佸垹闄�';
+COMMENT ON COLUMN er_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 0000000..da22b5f
--- /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 er_distributed_lock (name ASC)
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'涓婚敭',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_distributed_lock',
+ 'COLUMN', N'id'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'閿佸悕绉�',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_distributed_lock',
+ 'COLUMN', N'name'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'閿佸畾鏃堕暱',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_distributed_lock',
+ 'COLUMN', N'lock_until'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'閿佸畾鏃堕棿',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_distributed_lock',
+ 'COLUMN', N'locked_at'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'閿佸畾鑰�',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_distributed_lock',
+ 'COLUMN', N'locked_by'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'鍒涘缓鏃堕棿',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_distributed_lock',
+ 'COLUMN', N'create_dt'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'淇敼鏃堕棿',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_distributed_lock',
+ 'COLUMN', N'update_dt'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'閿佸畾琛�',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_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 er_group_config (namespace_id ASC, group_name ASC)
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'涓婚敭',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_group_config',
+ 'COLUMN', N'id'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'鍛藉悕绌洪棿id',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_group_config',
+ 'COLUMN', N'namespace_id'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'缁勫悕绉�',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_group_config',
+ 'COLUMN', N'group_name'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'缁勬弿杩�',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_group_config',
+ 'COLUMN', N'description'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'token',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_group_config',
+ 'COLUMN', N'token'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'缁勭姸鎬� 0銆佹湭鍚敤 1銆佸惎鐢�',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_group_config',
+ 'COLUMN', N'group_status'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'鐗堟湰鍙�',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_group_config',
+ 'COLUMN', N'version'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'鍒嗗尯',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_group_config',
+ 'COLUMN', N'group_partition'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'鍞竴id鐢熸垚妯″紡 榛樿鍙锋妯″紡',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_group_config',
+ 'COLUMN', N'id_generator_mode'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'鏄惁鍒濆鍖栧満鏅� 0:鍚� 1:鏄�',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_group_config',
+ 'COLUMN', N'init_scene'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'bucket',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_group_config',
+ 'COLUMN', N'bucket_index'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'鍒涘缓鏃堕棿',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_group_config',
+ 'COLUMN', N'create_dt'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'淇敼鏃堕棿',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_group_config',
+ 'COLUMN', N'update_dt'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'缁勯厤缃�',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_group_config'
+GO
+
+INSERT INTO er_group_config(namespace_id, group_name, description, token, group_status, version, group_partition, id_generator_mode, init_scene, bucket_index, create_dt, update_dt) VALUES (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 er_job (namespace_id ASC, group_name ASC)
+GO
+CREATE NONCLUSTERED INDEX idx_job_status_bucket_index ON er_job (job_status ASC, bucket_index ASC)
+GO
+CREATE NONCLUSTERED INDEX idx_create_dt ON er_job (create_dt ASC)
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'涓婚敭',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_job',
+ 'COLUMN', N'id'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'鍛藉悕绌洪棿id',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_job',
+ 'COLUMN', N'namespace_id'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'缁勫悕绉�',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_job',
+ 'COLUMN', N'group_name'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'鍚嶇О',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_job',
+ 'COLUMN', N'job_name'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'鎵ц鏂规硶鍙傛暟',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_job',
+ 'COLUMN', N'args_str'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'鍙傛暟绫诲瀷 ',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_job',
+ 'COLUMN', N'args_type'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'涓嬫瑙﹀彂鏃堕棿',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_job',
+ 'COLUMN', N'next_trigger_at'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'浠诲姟鐘舵�� 0銆佸叧闂��1銆佸紑鍚�',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_job',
+ 'COLUMN', N'job_status'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'浠诲姟绫诲瀷 1銆侀泦缇� 2銆佸箍鎾� 3銆佸垏鐗�',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_job',
+ 'COLUMN', N'task_type'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'璺敱绛栫暐',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_job',
+ 'COLUMN', N'route_key'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'鎵ц鍣ㄧ被鍨�',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_job',
+ 'COLUMN', N'executor_type'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'鎵ц鍣ㄥ悕绉�',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_job',
+ 'COLUMN', N'executor_info'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'瑙﹀彂绫诲瀷 1.CRON 琛ㄨ揪寮� 2. 鍥哄畾鏃堕棿',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_job',
+ 'COLUMN', N'trigger_type'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'闂撮殧鏃堕暱',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_job',
+ 'COLUMN', N'trigger_interval'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'闃诲绛栫暐 1銆佷涪寮� 2銆佽鐩� 3銆佸苟琛�',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_job',
+ 'COLUMN', N'block_strategy'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'浠诲姟鎵ц瓒呮椂鏃堕棿锛屽崟浣嶇',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_job',
+ 'COLUMN', N'executor_timeout'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'鏈�澶ч噸璇曟鏁�',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_job',
+ 'COLUMN', N'max_retry_times'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'骞惰鏁�',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_job',
+ 'COLUMN', N'parallel_num'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'閲嶈瘯闂撮殧(s)',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_job',
+ 'COLUMN', N'retry_interval'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'bucket',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_job',
+ 'COLUMN', N'bucket_index'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'鏄惁鏄父椹讳换鍔�',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_job',
+ 'COLUMN', N'resident'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'鎻忚堪',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_job',
+ 'COLUMN', N'description'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'鎵╁睍瀛楁',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_job',
+ 'COLUMN', N'ext_attrs'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'鍒涘缓鏃堕棿',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_job',
+ 'COLUMN', N'create_dt'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'淇敼鏃堕棿',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_job',
+ 'COLUMN', N'update_dt'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'閫昏緫鍒犻櫎 1銆佸垹闄�',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_job',
+ 'COLUMN', N'deleted'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'浠诲姟淇℃伅',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_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 er_job_log_message (task_batch_id ASC, task_id ASC)
+GO
+CREATE NONCLUSTERED INDEX idx_create_dt ON er_job_log_message (create_dt ASC)
+GO
+CREATE NONCLUSTERED INDEX idx_namespace_id_group_name ON er_job_log_message (namespace_id ASC, group_name ASC)
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'涓婚敭',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_job_log_message',
+ 'COLUMN', N'id'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'鍛藉悕绌洪棿id',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_job_log_message',
+ 'COLUMN', N'namespace_id'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'缁勫悕绉�',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_job_log_message',
+ 'COLUMN', N'group_name'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'浠诲姟淇℃伅id',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_job_log_message',
+ 'COLUMN', N'job_id'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'浠诲姟鎵规id',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_job_log_message',
+ 'COLUMN', N'task_batch_id'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'璋冨害浠诲姟id',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_job_log_message',
+ 'COLUMN', N'task_id'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'璋冨害淇℃伅',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_job_log_message',
+ 'COLUMN', N'message'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'鏃ュ織鏁伴噺',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_job_log_message',
+ 'COLUMN', N'log_num'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'涓婃姤鏃堕棿',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_job_log_message',
+ 'COLUMN', N'real_time'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'鍒涘缓鏃堕棿',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_job_log_message',
+ 'COLUMN', N'create_dt'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'鎵╁睍瀛楁',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_job_log_message',
+ 'COLUMN', N'ext_attrs'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'璋冨害鏃ュ織',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_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 er_job_notify_config (namespace_id ASC, group_name ASC, job_id ASC)
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'涓婚敭',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_job_notify_config',
+ 'COLUMN', N'id'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'鍛藉悕绌洪棿id',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_job_notify_config',
+ 'COLUMN', N'namespace_id'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'缁勫悕绉�',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_job_notify_config',
+ 'COLUMN', N'group_name'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'浠诲姟id',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_job_notify_config',
+ 'COLUMN', N'job_id'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'閫氱煡鐘舵�� 0銆佹湭鍚敤 1銆佸惎鐢�',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_job_notify_config',
+ 'COLUMN', N'notify_status'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'閫氱煡绫诲瀷 1銆侀拤閽� 2銆侀偖浠� 3銆佷紒涓氬井淇�',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_job_notify_config',
+ 'COLUMN', N'notify_type'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'閰嶇疆灞炴��',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_job_notify_config',
+ 'COLUMN', N'notify_attribute'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'閫氱煡闃堝��',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_job_notify_config',
+ 'COLUMN', N'notify_threshold'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'閫氱煡鍦烘櫙',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_job_notify_config',
+ 'COLUMN', N'notify_scene'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'闄愭祦鐘舵�� 0銆佹湭鍚敤 1銆佸惎鐢�',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_job_notify_config',
+ 'COLUMN', N'rate_limiter_status'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'姣忕闄愭祦闃堝��',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_job_notify_config',
+ 'COLUMN', N'rate_limiter_threshold'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'鎻忚堪',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_job_notify_config',
+ 'COLUMN', N'description'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'鍒涘缓鏃堕棿',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_job_notify_config',
+ 'COLUMN', N'create_dt'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'淇敼鏃堕棿',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_job_notify_config',
+ 'COLUMN', N'update_dt'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'job閫氱煡閰嶇疆',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_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 er_job_summary (trigger_at ASC, system_task_type ASC, business_id ASC)
+GO
+CREATE NONCLUSTERED INDEX idx_namespace_id_group_name_business_id ON er_job_summary (namespace_id ASC, group_name ASC, business_id ASC)
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'涓婚敭',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_job_summary',
+ 'COLUMN', N'id'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'鍛藉悕绌洪棿id',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_job_summary',
+ 'COLUMN', N'namespace_id'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'缁勫悕绉�',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_job_summary',
+ 'COLUMN', N'group_name'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'涓氬姟id (job_id鎴杦orkflow_id)',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_job_summary',
+ 'COLUMN', N'business_id'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'浠诲姟绫诲瀷 3銆丣OB浠诲姟 4銆乄ORKFLOW浠诲姟',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_job_summary',
+ 'COLUMN', N'system_task_type'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'缁熻鏃堕棿',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_job_summary',
+ 'COLUMN', N'trigger_at'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'鎵ц鎴愬姛-鏃ュ織鏁伴噺',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_job_summary',
+ 'COLUMN', N'success_num'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'鎵ц澶辫触-鏃ュ織鏁伴噺',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_job_summary',
+ 'COLUMN', N'fail_num'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'澶辫触鍘熷洜',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_job_summary',
+ 'COLUMN', N'fail_reason'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'鎵ц澶辫触-鏃ュ織鏁伴噺',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_job_summary',
+ 'COLUMN', N'stop_num'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'澶辫触鍘熷洜',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_job_summary',
+ 'COLUMN', N'stop_reason'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'鎵ц澶辫触-鏃ュ織鏁伴噺',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_job_summary',
+ 'COLUMN', N'cancel_num'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'澶辫触鍘熷洜',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_job_summary',
+ 'COLUMN', N'cancel_reason'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'鍒涘缓鏃堕棿',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_job_summary',
+ 'COLUMN', N'create_dt'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'淇敼鏃堕棿',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_job_summary',
+ 'COLUMN', N'update_dt'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'DashBoard_Job',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_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 er_job_task (task_batch_id ASC, task_status ASC)
+GO
+CREATE NONCLUSTERED INDEX idx_create_dt ON er_job_task (create_dt ASC)
+GO
+CREATE NONCLUSTERED INDEX idx_namespace_id_group_name ON er_job_task (namespace_id ASC, group_name ASC)
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'涓婚敭',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_job_task',
+ 'COLUMN', N'id'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'鍛藉悕绌洪棿id',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_job_task',
+ 'COLUMN', N'namespace_id'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'缁勫悕绉�',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_job_task',
+ 'COLUMN', N'group_name'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'浠诲姟淇℃伅id',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_job_task',
+ 'COLUMN', N'job_id'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'璋冨害浠诲姟id',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_job_task',
+ 'COLUMN', N'task_batch_id'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'鐖舵墽琛屽櫒id',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_job_task',
+ 'COLUMN', N'parent_id'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'鎵ц鐨勭姸鎬� 0銆佸け璐� 1銆佹垚鍔�',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_job_task',
+ 'COLUMN', N'task_status'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'閲嶈瘯娆℃暟',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_job_task',
+ 'COLUMN', N'retry_count'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'瀹㈡埛绔湴鍧� clientId#ip:port',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_job_task',
+ 'COLUMN', N'client_info'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'鎵ц缁撴灉',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_job_task',
+ 'COLUMN', N'result_message'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'鎵ц鏂规硶鍙傛暟',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_job_task',
+ 'COLUMN', N'args_str'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'鍙傛暟绫诲瀷 ',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_job_task',
+ 'COLUMN', N'args_type'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'鎵╁睍瀛楁',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_job_task',
+ 'COLUMN', N'ext_attrs'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'鍒涘缓鏃堕棿',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_job_task',
+ 'COLUMN', N'create_dt'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'淇敼鏃堕棿',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_job_task',
+ 'COLUMN', N'update_dt'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'浠诲姟瀹炰緥',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_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 er_job_task_batch (job_id ASC, task_batch_status ASC)
+GO
+CREATE NONCLUSTERED INDEX idx_create_dt ON er_job_task_batch (create_dt ASC)
+GO
+CREATE NONCLUSTERED INDEX idx_namespace_id_group_name ON er_job_task_batch (namespace_id ASC, group_name ASC)
+GO
+CREATE NONCLUSTERED INDEX idx_workflow_task_batch_id_workflow_node_id ON er_job_task_batch (workflow_task_batch_id ASC, workflow_node_id ASC)
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'涓婚敭',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_job_task_batch',
+ 'COLUMN', N'id'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'鍛藉悕绌洪棿id',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_job_task_batch',
+ 'COLUMN', N'namespace_id'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'缁勫悕绉�',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_job_task_batch',
+ 'COLUMN', N'group_name'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'浠诲姟id',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_job_task_batch',
+ 'COLUMN', N'job_id'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'宸ヤ綔娴佽妭鐐筰d',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_job_task_batch',
+ 'COLUMN', N'workflow_node_id'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'宸ヤ綔娴佷换鍔$埗鎵规id',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_job_task_batch',
+ 'COLUMN', N'parent_workflow_node_id'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'宸ヤ綔娴佷换鍔℃壒娆d',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_job_task_batch',
+ 'COLUMN', N'workflow_task_batch_id'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'浠诲姟鎵规鐘舵�� 0銆佸け璐� 1銆佹垚鍔�',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_job_task_batch',
+ 'COLUMN', N'task_batch_status'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'鎿嶄綔鍘熷洜',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_job_task_batch',
+ 'COLUMN', N'operation_reason'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'浠诲姟鎵ц鏃堕棿',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_job_task_batch',
+ 'COLUMN', N'execution_at'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'浠诲姟绫诲瀷 3銆丣OB浠诲姟 4銆乄ORKFLOW浠诲姟',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_job_task_batch',
+ 'COLUMN', N'system_task_type'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'鐖惰妭鐐�',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_job_task_batch',
+ 'COLUMN', N'parent_id'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'鍒涘缓鏃堕棿',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_job_task_batch',
+ 'COLUMN', N'create_dt'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'淇敼鏃堕棿',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_job_task_batch',
+ 'COLUMN', N'update_dt'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'閫昏緫鍒犻櫎 1銆佸垹闄�',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_job_task_batch',
+ 'COLUMN', N'deleted'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'鎵╁睍瀛楁',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_job_task_batch',
+ 'COLUMN', N'ext_attrs'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'浠诲姟鎵规',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_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 er_namespace (unique_id ASC)
+GO
+CREATE NONCLUSTERED INDEX idx_name ON er_namespace (name ASC)
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'涓婚敭',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_namespace',
+ 'COLUMN', N'id'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'鍚嶇О',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_namespace',
+ 'COLUMN', N'name'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'鍞竴id',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_namespace',
+ 'COLUMN', N'unique_id'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'鎻忚堪',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_namespace',
+ 'COLUMN', N'description'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'鍒涘缓鏃堕棿',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_namespace',
+ 'COLUMN', N'create_dt'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'淇敼鏃堕棿',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_namespace',
+ 'COLUMN', N'update_dt'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'閫昏緫鍒犻櫎 1銆佸垹闄�',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_namespace',
+ 'COLUMN', N'deleted'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'鍛藉悕绌洪棿',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_namespace'
+GO
+
+INSERT INTO er_namespace(name, unique_id, description, create_dt, update_dt, deleted) VALUES (N'Development', N'dev', N'', getdate(), getdate(), N'0');
+INSERT INTO er_namespace(name, unique_id, description, create_dt, update_dt, deleted) VALUES (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 er_notify_config (namespace_id ASC, group_name ASC, scene_name ASC)
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'涓婚敭',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_notify_config',
+ 'COLUMN', N'id'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'鍛藉悕绌洪棿id',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_notify_config',
+ 'COLUMN', N'namespace_id'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'缁勫悕绉�',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_notify_config',
+ 'COLUMN', N'group_name'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'鍦烘櫙鍚嶇О',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_notify_config',
+ 'COLUMN', N'scene_name'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'閫氱煡鐘舵�� 0銆佹湭鍚敤 1銆佸惎鐢�',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_notify_config',
+ 'COLUMN', N'notify_status'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'閫氱煡绫诲瀷 1銆侀拤閽� 2銆侀偖浠� 3銆佷紒涓氬井淇�',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_notify_config',
+ 'COLUMN', N'notify_type'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'閰嶇疆灞炴��',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_notify_config',
+ 'COLUMN', N'notify_attribute'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'閫氱煡闃堝��',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_notify_config',
+ 'COLUMN', N'notify_threshold'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'閫氱煡鍦烘櫙',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_notify_config',
+ 'COLUMN', N'notify_scene'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'闄愭祦鐘舵�� 0銆佹湭鍚敤 1銆佸惎鐢�',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_notify_config',
+ 'COLUMN', N'rate_limiter_status'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'姣忕闄愭祦闃堝��',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_notify_config',
+ 'COLUMN', N'rate_limiter_threshold'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'鎻忚堪',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_notify_config',
+ 'COLUMN', N'description'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'鍒涘缓鏃堕棿',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_notify_config',
+ 'COLUMN', N'create_dt'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'淇敼鏃堕棿',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_notify_config',
+ 'COLUMN', N'update_dt'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'閫氱煡閰嶇疆',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_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 er_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 er_retry_dead_letter_0 (namespace_id ASC, group_name ASC, scene_name ASC)
+GO
+CREATE NONCLUSTERED INDEX idx_idempotent_id ON er_retry_dead_letter_0 (idempotent_id ASC)
+GO
+CREATE NONCLUSTERED INDEX idx_biz_no ON er_retry_dead_letter_0 (biz_no ASC)
+GO
+CREATE NONCLUSTERED INDEX idx_create_dt ON er_retry_dead_letter_0 (create_dt ASC)
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'涓婚敭',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_retry_dead_letter_0',
+ 'COLUMN', N'id'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'鍛藉悕绌洪棿id',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_retry_dead_letter_0',
+ 'COLUMN', N'namespace_id'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'鍚岀粍涓媔d鍞竴',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_retry_dead_letter_0',
+ 'COLUMN', N'unique_id'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'缁勫悕绉�',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_retry_dead_letter_0',
+ 'COLUMN', N'group_name'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'鍦烘櫙鍚嶇О',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_retry_dead_letter_0',
+ 'COLUMN', N'scene_name'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'骞傜瓑id',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_retry_dead_letter_0',
+ 'COLUMN', N'idempotent_id'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'涓氬姟缂栧彿',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_retry_dead_letter_0',
+ 'COLUMN', N'biz_no'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'鎵ц鍣ㄥ悕绉�',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_retry_dead_letter_0',
+ 'COLUMN', N'executor_name'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'鎵ц鏂规硶鍙傛暟',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_retry_dead_letter_0',
+ 'COLUMN', N'args_str'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'鎵╁睍瀛楁',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_retry_dead_letter_0',
+ 'COLUMN', N'ext_attrs'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'浠诲姟绫诲瀷 1銆侀噸璇曟暟鎹� 2銆佸洖璋冩暟鎹�',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_retry_dead_letter_0',
+ 'COLUMN', N'task_type'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'鍒涘缓鏃堕棿',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_retry_dead_letter_0',
+ 'COLUMN', N'create_dt'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'姝讳俊闃熷垪琛�',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_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 er_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'er_retry_summary',
+ 'COLUMN', N'id'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'鍛藉悕绌洪棿id',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_retry_summary',
+ 'COLUMN', N'namespace_id'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'缁勫悕绉�',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_retry_summary',
+ 'COLUMN', N'group_name'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'鍦烘櫙鍚嶇О',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_retry_summary',
+ 'COLUMN', N'scene_name'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'缁熻鏃堕棿',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_retry_summary',
+ 'COLUMN', N'trigger_at'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'閲嶈瘯涓�-鏃ュ織鏁伴噺',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_retry_summary',
+ 'COLUMN', N'running_num'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'閲嶈瘯瀹屾垚-鏃ュ織鏁伴噺',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_retry_summary',
+ 'COLUMN', N'finish_num'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'閲嶈瘯鍒拌揪鏈�澶ф鏁�-鏃ュ織鏁伴噺',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_retry_summary',
+ 'COLUMN', N'max_count_num'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'鏆傚仠閲嶈瘯-鏃ュ織鏁伴噺',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_retry_summary',
+ 'COLUMN', N'suspend_num'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'鍒涘缓鏃堕棿',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_retry_summary',
+ 'COLUMN', N'create_dt'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'淇敼鏃堕棿',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_retry_summary',
+ 'COLUMN', N'update_dt'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'DashBoard_Retry',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_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 er_retry_task_0 (namespace_id ASC, group_name ASC, unique_id ASC)
+GO
+CREATE NONCLUSTERED INDEX idx_namespace_id_group_name_scene_name ON er_retry_task_0 (namespace_id ASC, group_name ASC, scene_name ASC)
+GO
+CREATE NONCLUSTERED INDEX idx_namespace_id_group_name_task_type ON er_retry_task_0 (namespace_id ASC, group_name ASC, task_type ASC)
+GO
+CREATE NONCLUSTERED INDEX idx_namespace_id_group_name_retry_status ON er_retry_task_0 (namespace_id ASC, group_name ASC, retry_status ASC)
+GO
+CREATE NONCLUSTERED INDEX idx_idempotent_id ON er_retry_task_0 (idempotent_id ASC)
+GO
+CREATE NONCLUSTERED INDEX idx_biz_no ON er_retry_task_0 (biz_no ASC)
+GO
+CREATE NONCLUSTERED INDEX idx_create_dt ON er_retry_task_0 (create_dt ASC)
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'涓婚敭',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_retry_task_0',
+ 'COLUMN', N'id'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'鍛藉悕绌洪棿id',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_retry_task_0',
+ 'COLUMN', N'namespace_id'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'鍚岀粍涓媔d鍞竴',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_retry_task_0',
+ 'COLUMN', N'unique_id'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'缁勫悕绉�',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_retry_task_0',
+ 'COLUMN', N'group_name'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'鍦烘櫙鍚嶇О',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_retry_task_0',
+ 'COLUMN', N'scene_name'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'骞傜瓑id',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_retry_task_0',
+ 'COLUMN', N'idempotent_id'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'涓氬姟缂栧彿',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_retry_task_0',
+ 'COLUMN', N'biz_no'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'鎵ц鍣ㄥ悕绉�',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_retry_task_0',
+ 'COLUMN', N'executor_name'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'鎵ц鏂规硶鍙傛暟',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_retry_task_0',
+ 'COLUMN', N'args_str'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'鎵╁睍瀛楁',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_retry_task_0',
+ 'COLUMN', N'ext_attrs'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'涓嬫瑙﹀彂鏃堕棿',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_retry_task_0',
+ 'COLUMN', N'next_trigger_at'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'閲嶈瘯娆℃暟',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_retry_task_0',
+ 'COLUMN', N'retry_count'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'閲嶈瘯鐘舵�� 0銆侀噸璇曚腑 1銆佹垚鍔� 2銆佹渶澶ч噸璇曟鏁�',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_retry_task_0',
+ 'COLUMN', N'retry_status'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'浠诲姟绫诲瀷 1銆侀噸璇曟暟鎹� 2銆佸洖璋冩暟鎹�',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_retry_task_0',
+ 'COLUMN', N'task_type'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'鍒涘缓鏃堕棿',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_retry_task_0',
+ 'COLUMN', N'create_dt'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'淇敼鏃堕棿',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_retry_task_0',
+ 'COLUMN', N'update_dt'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'浠诲姟琛�',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_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 er_retry_task_log (namespace_id ASC, group_name ASC, scene_name ASC)
+GO
+CREATE NONCLUSTERED INDEX idx_retry_status ON er_retry_task_log (retry_status ASC)
+GO
+CREATE NONCLUSTERED INDEX idx_idempotent_id ON er_retry_task_log (idempotent_id ASC)
+GO
+CREATE NONCLUSTERED INDEX idx_unique_id ON er_retry_task_log (unique_id ASC)
+GO
+CREATE NONCLUSTERED INDEX idx_biz_no ON er_retry_task_log (biz_no ASC)
+GO
+CREATE NONCLUSTERED INDEX idx_create_dt ON er_retry_task_log (create_dt ASC)
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'涓婚敭',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_retry_task_log',
+ 'COLUMN', N'id'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'鍛藉悕绌洪棿id',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_retry_task_log',
+ 'COLUMN', N'namespace_id'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'鍚岀粍涓媔d鍞竴',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_retry_task_log',
+ 'COLUMN', N'unique_id'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'缁勫悕绉�',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_retry_task_log',
+ 'COLUMN', N'group_name'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'鍦烘櫙鍚嶇О',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_retry_task_log',
+ 'COLUMN', N'scene_name'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'骞傜瓑id',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_retry_task_log',
+ 'COLUMN', N'idempotent_id'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'涓氬姟缂栧彿',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_retry_task_log',
+ 'COLUMN', N'biz_no'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'鎵ц鍣ㄥ悕绉�',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_retry_task_log',
+ 'COLUMN', N'executor_name'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'鎵ц鏂规硶鍙傛暟',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_retry_task_log',
+ 'COLUMN', N'args_str'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'鎵╁睍瀛楁',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_retry_task_log',
+ 'COLUMN', N'ext_attrs'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'閲嶈瘯鐘舵�� 0銆侀噸璇曚腑 1銆佹垚鍔� 2銆佹渶澶ф鏁�',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_retry_task_log',
+ 'COLUMN', N'retry_status'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'浠诲姟绫诲瀷 1銆侀噸璇曟暟鎹� 2銆佸洖璋冩暟鎹�',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_retry_task_log',
+ 'COLUMN', N'task_type'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'鍒涘缓鏃堕棿',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_retry_task_log',
+ 'COLUMN', N'create_dt'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'淇敼鏃堕棿',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_retry_task_log',
+ 'COLUMN', N'update_dt'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'浠诲姟鏃ュ織鍩虹淇℃伅琛�',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_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 er_retry_task_log_message (namespace_id ASC, group_name ASC, unique_id ASC)
+GO
+CREATE NONCLUSTERED INDEX idx_create_dt ON er_retry_task_log_message (create_dt ASC)
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'涓婚敭',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_retry_task_log_message',
+ 'COLUMN', N'id'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'鍛藉悕绌洪棿id',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_retry_task_log_message',
+ 'COLUMN', N'namespace_id'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'缁勫悕绉�',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_retry_task_log_message',
+ 'COLUMN', N'group_name'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'鍚岀粍涓媔d鍞竴',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_retry_task_log_message',
+ 'COLUMN', N'unique_id'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'鍒涘缓鏃堕棿',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_retry_task_log_message',
+ 'COLUMN', N'create_dt'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'寮傚父淇℃伅',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_retry_task_log_message',
+ 'COLUMN', N'message'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'鏃ュ織鏁伴噺',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_retry_task_log_message',
+ 'COLUMN', N'log_num'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'涓婃姤鏃堕棿',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_retry_task_log_message',
+ 'COLUMN', N'real_time'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'浠诲姟璋冨害鏃ュ織淇℃伅璁板綍琛�',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_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 er_scene_config (namespace_id ASC, group_name ASC, scene_name ASC)
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'涓婚敭',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_scene_config',
+ 'COLUMN', N'id'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'鍛藉悕绌洪棿id',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_scene_config',
+ 'COLUMN', N'namespace_id'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'鍦烘櫙鍚嶇О',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_scene_config',
+ 'COLUMN', N'scene_name'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'缁勫悕绉�',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_scene_config',
+ 'COLUMN', N'group_name'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'缁勭姸鎬� 0銆佹湭鍚敤 1銆佸惎鐢�',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_scene_config',
+ 'COLUMN', N'scene_status'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'鏈�澶ч噸璇曟鏁�',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_scene_config',
+ 'COLUMN', N'max_retry_count'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'1銆侀粯璁ょ瓑绾� 2銆佸浐瀹氶棿闅旀椂闂� 3銆丆RON 琛ㄨ揪寮�',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_scene_config',
+ 'COLUMN', N'back_off'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'闂撮殧鏃堕暱',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_scene_config',
+ 'COLUMN', N'trigger_interval'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'Deadline Request 璋冪敤閾捐秴鏃� 鍗曚綅姣',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_scene_config',
+ 'COLUMN', N'deadline_request'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'浠诲姟鎵ц瓒呮椂鏃堕棿锛屽崟浣嶇',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_scene_config',
+ 'COLUMN', N'executor_timeout'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'璺敱绛栫暐',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_scene_config',
+ 'COLUMN', N'route_key'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'鎻忚堪',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_scene_config',
+ 'COLUMN', N'description'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'鍒涘缓鏃堕棿',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_scene_config',
+ 'COLUMN', N'create_dt'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'淇敼鏃堕棿',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_scene_config',
+ 'COLUMN', N'update_dt'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'鍦烘櫙閰嶇疆',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_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 er_sequence_alloc (namespace_id ASC, group_name ASC)
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'涓婚敭',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_sequence_alloc',
+ 'COLUMN', N'id'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'鍛藉悕绌洪棿id',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_sequence_alloc',
+ 'COLUMN', N'namespace_id'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'缁勫悕绉�',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_sequence_alloc',
+ 'COLUMN', N'group_name'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'鏈�澶d',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_sequence_alloc',
+ 'COLUMN', N'max_id'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'姝ラ暱',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_sequence_alloc',
+ 'COLUMN', N'step'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'鏇存柊鏃堕棿',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_sequence_alloc',
+ 'COLUMN', N'update_dt'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'鍙锋妯″紡搴忓彿ID鍒嗛厤琛�',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_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 er_server_node (host_id ASC, host_ip ASC)
+GO
+CREATE NONCLUSTERED INDEX idx_namespace_id_group_name ON er_server_node (namespace_id ASC, group_name ASC)
+GO
+CREATE NONCLUSTERED INDEX idx_expire_at_node_type ON er_server_node (expire_at ASC, node_type ASC)
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'涓婚敭',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_server_node',
+ 'COLUMN', N'id'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'鍛藉悕绌洪棿id',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_server_node',
+ 'COLUMN', N'namespace_id'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'缁勫悕绉�',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_server_node',
+ 'COLUMN', N'group_name'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'涓绘満id',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_server_node',
+ 'COLUMN', N'host_id'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'鏈哄櫒ip',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_server_node',
+ 'COLUMN', N'host_ip'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'瀹㈡埛绔笂涓嬫枃璺緞 server.servlet.context-path',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_server_node',
+ 'COLUMN', N'context_path'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'鏈哄櫒绔彛',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_server_node',
+ 'COLUMN', N'host_port'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'杩囨湡鏃堕棿',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_server_node',
+ 'COLUMN', N'expire_at'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'鑺傜偣绫诲瀷 1銆佸鎴风 2銆佹槸鏈嶅姟绔�',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_server_node',
+ 'COLUMN', N'node_type'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'鎵╁睍瀛楁',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_server_node',
+ 'COLUMN', N'ext_attrs'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'鍒涘缓鏃堕棿',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_server_node',
+ 'COLUMN', N'create_dt'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'淇敼鏃堕棿',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_server_node',
+ 'COLUMN', N'update_dt'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'鏈嶅姟鍣ㄨ妭鐐�',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_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 er_system_user (username ASC)
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'涓婚敭',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_system_user',
+ 'COLUMN', N'id'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'璐﹀彿',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_system_user',
+ 'COLUMN', N'username'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'瀵嗙爜',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_system_user',
+ 'COLUMN', N'password'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'瑙掕壊锛�1-鏅�氱敤鎴枫��2-绠$悊鍛�',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_system_user',
+ 'COLUMN', N'role'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'鍒涘缓鏃堕棿',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_system_user',
+ 'COLUMN', N'create_dt'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'淇敼鏃堕棿',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_system_user',
+ 'COLUMN', N'update_dt'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'绯荤粺鐢ㄦ埛琛�',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_system_user'
+GO
+
+-- pwd: admin
+INSERT INTO er_system_user(username, password, role, create_dt, update_dt) VALUES (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 er_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'er_system_user_permission',
+ 'COLUMN', N'id'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'缁勫悕绉�',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_system_user_permission',
+ 'COLUMN', N'group_name'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'鍛藉悕绌洪棿id',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_system_user_permission',
+ 'COLUMN', N'namespace_id'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'绯荤粺鐢ㄦ埛id',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_system_user_permission',
+ 'COLUMN', N'system_user_id'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'鍒涘缓鏃堕棿',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_system_user_permission',
+ 'COLUMN', N'create_dt'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'淇敼鏃堕棿',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_system_user_permission',
+ 'COLUMN', N'update_dt'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'绯荤粺鐢ㄦ埛鏉冮檺琛�',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_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 er_workflow (create_dt ASC)
+GO
+CREATE NONCLUSTERED INDEX idx_namespace_id_group_name ON er_workflow (namespace_id ASC, group_name ASC)
+GO
+
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'涓婚敭',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_workflow',
+ 'COLUMN', N'id'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'宸ヤ綔娴佸悕绉�',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_workflow',
+ 'COLUMN', N'workflow_name'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'鍛藉悕绌洪棿id',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_workflow',
+ 'COLUMN', N'namespace_id'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'缁勫悕绉�',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_workflow',
+ 'COLUMN', N'group_name'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'宸ヤ綔娴佺姸鎬� 0銆佸叧闂��1銆佸紑鍚�',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_workflow',
+ 'COLUMN', N'workflow_status'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'瑙﹀彂绫诲瀷 1.CRON 琛ㄨ揪寮� 2. 鍥哄畾鏃堕棿',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_workflow',
+ 'COLUMN', N'trigger_type'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'闂撮殧鏃堕暱',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_workflow',
+ 'COLUMN', N'trigger_interval'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'涓嬫瑙﹀彂鏃堕棿',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_workflow',
+ 'COLUMN', N'next_trigger_at'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'闃诲绛栫暐 1銆佷涪寮� 2銆佽鐩� 3銆佸苟琛�',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_workflow',
+ 'COLUMN', N'block_strategy'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'浠诲姟鎵ц瓒呮椂鏃堕棿锛屽崟浣嶇',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_workflow',
+ 'COLUMN', N'executor_timeout'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'鎻忚堪',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_workflow',
+ 'COLUMN', N'description'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'娴佺▼淇℃伅',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_workflow',
+ 'COLUMN', N'flow_info'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'bucket',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_workflow',
+ 'COLUMN', N'bucket_index'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'鐗堟湰鍙�',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_workflow',
+ 'COLUMN', N'version'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'鍒涘缓鏃堕棿',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_workflow',
+ 'COLUMN', N'create_dt'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'淇敼鏃堕棿',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_workflow',
+ 'COLUMN', N'update_dt'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'閫昏緫鍒犻櫎 1銆佸垹闄�',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_workflow',
+ 'COLUMN', N'deleted'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'鎵╁睍瀛楁',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_workflow',
+ 'COLUMN', N'ext_attrs'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'宸ヤ綔娴�',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_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 er_workflow_node (create_dt ASC)
+GO
+CREATE NONCLUSTERED INDEX idx_namespace_id_group_name ON er_workflow_node (namespace_id ASC, group_name ASC)
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'涓婚敭',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_workflow_node',
+ 'COLUMN', N'id'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'鍛藉悕绌洪棿id',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_workflow_node',
+ 'COLUMN', N'namespace_id'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'鑺傜偣鍚嶇О',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_workflow_node',
+ 'COLUMN', N'node_name'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'缁勫悕绉�',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_workflow_node',
+ 'COLUMN', N'group_name'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'浠诲姟淇℃伅id',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_workflow_node',
+ 'COLUMN', N'job_id'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'宸ヤ綔娴両D',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_workflow_node',
+ 'COLUMN', N'workflow_id'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'1銆佷换鍔¤妭鐐� 2銆佹潯浠惰妭鐐�',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_workflow_node',
+ 'COLUMN', N'node_type'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'1銆丼pEl銆�2銆丄viator 3銆丵L',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_workflow_node',
+ 'COLUMN', N'expression_type'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'澶辫触绛栫暐 1銆佽烦杩� 2銆侀樆濉�',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_workflow_node',
+ 'COLUMN', N'fail_strategy'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'宸ヤ綔娴佽妭鐐圭姸鎬� 0銆佸叧闂��1銆佸紑鍚�',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_workflow_node',
+ 'COLUMN', N'workflow_node_status'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'浼樺厛绾�',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_workflow_node',
+ 'COLUMN', N'priority_level'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'鑺傜偣淇℃伅 ',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_workflow_node',
+ 'COLUMN', N'node_info'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'鐗堟湰鍙�',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_workflow_node',
+ 'COLUMN', N'version'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'鍒涘缓鏃堕棿',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_workflow_node',
+ 'COLUMN', N'create_dt'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'淇敼鏃堕棿',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_workflow_node',
+ 'COLUMN', N'update_dt'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'閫昏緫鍒犻櫎 1銆佸垹闄�',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_workflow_node',
+ 'COLUMN', N'deleted'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'鎵╁睍瀛楁',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_workflow_node',
+ 'COLUMN', N'ext_attrs'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'宸ヤ綔娴佽妭鐐�',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_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 er_workflow_task_batch (workflow_id ASC, task_batch_status ASC)
+GO
+CREATE NONCLUSTERED INDEX idx_create_dt ON er_workflow_task_batch (create_dt ASC)
+GO
+CREATE NONCLUSTERED INDEX idx_namespace_id_group_name ON er_workflow_task_batch (namespace_id ASC, group_name ASC)
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'涓婚敭',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_workflow_task_batch',
+ 'COLUMN', N'id'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'鍛藉悕绌洪棿id',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_workflow_task_batch',
+ 'COLUMN', N'namespace_id'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'缁勫悕绉�',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_workflow_task_batch',
+ 'COLUMN', N'group_name'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'宸ヤ綔娴佷换鍔d',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_workflow_task_batch',
+ 'COLUMN', N'workflow_id'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'浠诲姟鎵规鐘舵�� 0銆佸け璐� 1銆佹垚鍔�',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_workflow_task_batch',
+ 'COLUMN', N'task_batch_status'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'鎿嶄綔鍘熷洜',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_workflow_task_batch',
+ 'COLUMN', N'operation_reason'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'娴佺▼淇℃伅',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_workflow_task_batch',
+ 'COLUMN', N'flow_info'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'浠诲姟鎵ц鏃堕棿',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_workflow_task_batch',
+ 'COLUMN', N'execution_at'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'鍒涘缓鏃堕棿',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_workflow_task_batch',
+ 'COLUMN', N'create_dt'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'淇敼鏃堕棿',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_workflow_task_batch',
+ 'COLUMN', N'update_dt'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'閫昏緫鍒犻櫎 1銆佸垹闄�',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_workflow_task_batch',
+ 'COLUMN', N'deleted'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'鎵╁睍瀛楁',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_workflow_task_batch',
+ 'COLUMN', N'ext_attrs'
+GO
+
+EXEC sp_addextendedproperty
+ 'MS_Description', N'宸ヤ綔娴佹壒娆�',
+ 'SCHEMA', N'dbo',
+ 'TABLE', N'er_workflow_task_batch'
+GO
--
Gitblit v1.9.3