From ef57259386e58c3c12e44760e8e41aade68d219e Mon Sep 17 00:00:00 2001
From: dhb52 <dhb52@126.com>
Date: 星期五, 17 五月 2024 09:54:18 +0800
Subject: [PATCH] !535 feat: EasyRetry-v3.2.0 => SnailJob-v1.0.0beta1 * feat: EasyRetry-v3.2.0 => SnailJob-v1.0.0beta1

---
 ruoyi-extend/ruoyi-snailjob-server/Dockerfile                                                                                     |    6 
 ruoyi-extend/ruoyi-snailjob-server/src/main/resources/application.yml                                                             |    9 
 pom.xml                                                                                                                           |   17 
 script/sql/update/update_5.1.2-5.2.0.sql                                                                                          |    1 
 ruoyi-extend/ruoyi-snailjob-server/src/main/resources/logback-plus.xml                                                            |    8 
 script/sql/update/oracle/update_5.1.2-5.2.0.sql                                                                                   |    1 
 script/sql/oracle/oracle_ry_vue_5.X.sql                                                                                           |    4 
 .run/ruoyi-snailjob-server.run.xml                                                                                                |   12 
 ruoyi-admin/pom.xml                                                                                                               |    9 
 script/docker/docker-compose.yml                                                                                                  |    8 
 script/sql/ry_vue_5.X.sql                                                                                                         |    4 
 ruoyi-common/ruoyi-common-job/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports |    2 
 script/sql/sqlserver/sqlserver_ry_vue_5.X.sql                                                                                     |    2 
 ruoyi-admin/src/main/resources/application.yml                                                                                    |    3 
 script/docker/nginx/conf/nginx.conf                                                                                               |    6 
 script/sql/sqlserver/snail_job_sqlserver.sql                                                                                      | 3466 +++++++++++++++----------------
 ruoyi-extend/ruoyi-snailjob-server/src/main/resources/application-prod.yml                                                        |    7 
 ruoyi-modules/ruoyi-job/src/main/java/org/dromara/job/snailjob/TestClassJobExecutor.java                                          |   19 
 ruoyi-common/ruoyi-common-job/pom.xml                                                                                             |   10 
 /dev/null                                                                                                                         |  807 -------
 ruoyi-extend/ruoyi-snailjob-server/src/main/resources/application-dev.yml                                                         |    9 
 ruoyi-extend/pom.xml                                                                                                              |    2 
 ruoyi-extend/ruoyi-snailjob-server/pom.xml                                                                                        |    6 
 script/sql/update/postgres/update_5.1.2-5.2.0.sql                                                                                 |    1 
 script/sql/snail_job.sql                                                                                                          |  288 +-
 ruoyi-admin/src/main/resources/application-prod.yml                                                                               |   12 
 script/sql/postgres/postgres_ry_vue_5.X.sql                                                                                       |    4 
 script/sql/update/sqlserver/update_5.1.2-5.2.0.sql                                                                                |   18 
 ruoyi-common/ruoyi-common-job/src/main/java/org/dromara/common/job/config/SnailJobConfig.java                                     |   37 
 ruoyi-extend/ruoyi-snailjob-server/src/main/java/org/dromara/snailjob/SnailJobServerApplication.java                              |   19 
 script/sql/postgres/snail_job_postgre.sql                                                                                         |  825 +++++++
 ruoyi-modules/ruoyi-job/src/main/java/org/dromara/job/snailjob/TestAnnoJobExecutor.java                                           |   23 
 script/sql/oracle/snail_job_oracle.sql                                                                                            |  894 ++++++++
 ruoyi-admin/src/main/resources/application-dev.yml                                                                                |   12 
 34 files changed, 3,742 insertions(+), 2,809 deletions(-)

diff --git a/.run/ruoyi-easyretry-server.run.xml b/.run/ruoyi-easyretry-server.run.xml
deleted file mode 100644
index 2d5d3f5..0000000
--- a/.run/ruoyi-easyretry-server.run.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<component name="ProjectRunConfigurationManager">
-  <configuration default="false" name="ruoyi-easyretry-server" type="docker-deploy" factoryName="dockerfile" server-name="Docker">
-    <deployment type="dockerfile">
-      <settings>
-        <option name="imageTag" value="ruoyi/ruoyi-easyretry-server:5.2.0" />
-        <option name="buildOnly" value="true" />
-        <option name="sourceFilePath" value="ruoyi-extend/ruoyi-easyretry-server/Dockerfile" />
-      </settings>
-    </deployment>
-    <method v="2" />
-  </configuration>
-</component>
diff --git a/.run/ruoyi-snailjob-server.run.xml b/.run/ruoyi-snailjob-server.run.xml
new file mode 100644
index 0000000..a655cab
--- /dev/null
+++ b/.run/ruoyi-snailjob-server.run.xml
@@ -0,0 +1,12 @@
+<component name="ProjectRunConfigurationManager">
+  <configuration default="false" name="ruoyi-snailjob-server/Dockerfile: Compose Deployment" type="docker-deploy" factoryName="dockerfile" server-name="Docker">
+    <deployment type="dockerfile">
+      <settings>
+        <option name="imageTag" value="ruoyi/ruoyi-snailjob-server:5.2.0" />
+        <option name="buildOnly" value="true" />
+        <option name="sourceFilePath" value="ruoyi-extend/ruoyi-snailjob-server/Dockerfile" />
+      </settings>
+    </deployment>
+    <method v="2" />
+  </configuration>
+</component>
\ No newline at end of file
diff --git a/pom.xml b/pom.xml
index b084048..2183076 100644
--- a/pom.xml
+++ b/pom.xml
@@ -34,7 +34,7 @@
         <lock4j.version>2.2.7</lock4j.version>
         <dynamic-ds.version>4.3.0</dynamic-ds.version>
         <alibaba-ttl.version>2.14.4</alibaba-ttl.version>
-        <easyretry.version>3.2.0</easyretry.version>
+        <snailjob.version>1.0.0-beta1</snailjob.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.32</lombok.version>
@@ -296,21 +296,16 @@
                 <version>${lock4j.version}</version>
             </dependency>
 
-            <!--  EasyRetry Client -->
+            <!-- SnailJob Client -->
             <dependency>
                 <groupId>com.aizuda</groupId>
-                <artifactId>easy-retry-client-starter</artifactId>
-                <version>${easyretry.version}</version>
+                <artifactId>snail-job-client-starter</artifactId>
+                <version>${snailjob.version}</version>
             </dependency>
             <dependency>
                 <groupId>com.aizuda</groupId>
-                <artifactId>easy-retry-client-core</artifactId>
-                <version>${easyretry.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>com.aizuda</groupId>
-                <artifactId>easy-retry-client-job-core</artifactId>
-                <version>${easyretry.version}</version>
+                <artifactId>snail-job-client-job-core</artifactId>
+                <version>${snailjob.version}</version>
             </dependency>
 
             <dependency>
diff --git a/ruoyi-admin/pom.xml b/ruoyi-admin/pom.xml
index 155f594..ca52813 100644
--- a/ruoyi-admin/pom.xml
+++ b/ruoyi-admin/pom.xml
@@ -97,17 +97,14 @@
             <artifactId>JustAuth</artifactId>
         </dependency>
 
+        <!-- SnailJob client -->
         <dependency>
             <groupId>com.aizuda</groupId>
-            <artifactId>easy-retry-client-starter</artifactId>
+            <artifactId>snail-job-client-starter</artifactId>
         </dependency>
         <dependency>
             <groupId>com.aizuda</groupId>
-            <artifactId>easy-retry-client-core</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>com.aizuda</groupId>
-            <artifactId>easy-retry-client-job-core</artifactId>
+            <artifactId>snail-job-client-job-core</artifactId>
         </dependency>
 
         <!-- skywalking 鏁村悎 logback -->
diff --git a/ruoyi-admin/src/main/resources/application-dev.yml b/ruoyi-admin/src/main/resources/application-dev.yml
index d35c45f..529a106 100644
--- a/ruoyi-admin/src/main/resources/application-dev.yml
+++ b/ruoyi-admin/src/main/resources/application-dev.yml
@@ -8,17 +8,17 @@
   username: ruoyi
   password: 123456
 
---- # easy-retry 閰嶇疆
-easy-retry:
+--- # snail-job 閰嶇疆
+snail-job:
   enabled: true
-  # 闇�瑕佸湪EasyRetry鍚庡彴缁勭鐞嗗垱寤哄搴斿悕绉扮殑缁�,鐒跺悗鍒涘缓浠诲姟鐨勬椂鍊欓�夋嫨瀵瑰簲鐨勭粍,鎵嶈兘姝g‘鍒嗘淳浠诲姟
+  # 闇�瑕佸湪 SnailJob 鍚庡彴缁勭鐞嗗垱寤哄搴斿悕绉扮殑缁�,鐒跺悗鍒涘缓浠诲姟鐨勬椂鍊欓�夋嫨瀵瑰簲鐨勭粍,鎵嶈兘姝g‘鍒嗘淳浠诲姟
   group-name: "ruoyi_group"
-  # EasyRetry鎺ュ叆楠岃瘉浠ょ墝 璇﹁ script/sql/easy_retry.sql `er_group_config` 琛�
-  token: "ER_cKqBTPzCsWA3VyuCfFoccmuIEGXjr5KT"
+  # SnailJob 鎺ュ叆楠岃瘉浠ょ墝 璇﹁ script/sql/snail_job.sql `sj_group_config` 琛�
+  token: "SJ_cKqBTPzCsWA3VyuCfFoccmuIEGXjr5KT"
   server:
     host: 127.0.0.1
     port: 1788
-  # 璇﹁ script/sql/easy_retry.sql `er_namespace` 琛�
+  # 璇﹁ script/sql/snail_job.sql `sj_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 d680ac9..0613bd7 100644
--- a/ruoyi-admin/src/main/resources/application-prod.yml
+++ b/ruoyi-admin/src/main/resources/application-prod.yml
@@ -11,17 +11,17 @@
   username: ruoyi
   password: 123456
 
---- # easy-retry 閰嶇疆
-easy-retry:
+--- # snail-job 閰嶇疆
+snail-job:
   enabled: false
-  # 闇�瑕佸湪EasyRetry鍚庡彴缁勭鐞嗗垱寤哄搴斿悕绉扮殑缁�,鐒跺悗鍒涘缓浠诲姟鐨勬椂鍊欓�夋嫨瀵瑰簲鐨勭粍,鎵嶈兘姝g‘鍒嗘淳浠诲姟
+  # 闇�瑕佸湪 SnailJob 鍚庡彴缁勭鐞嗗垱寤哄搴斿悕绉扮殑缁�,鐒跺悗鍒涘缓浠诲姟鐨勬椂鍊欓�夋嫨瀵瑰簲鐨勭粍,鎵嶈兘姝g‘鍒嗘淳浠诲姟
   group-name: "ruoyi_group"
-  # EasyRetry鎺ュ叆楠岃瘉浠ょ墝 璇﹁ script/sql/easy_retry.sql `er_group_config` 琛�
-  token: "ER_cKqBTPzCsWA3VyuCfFoccmuIEGXjr5KT"
+  # SnailJob 鎺ュ叆楠岃瘉浠ょ墝 璇﹁ script/sql/snail_job.sql `sj_group_config` 琛�
+  token: "SJ_cKqBTPzCsWA3VyuCfFoccmuIEGXjr5KT"
   server:
     host: 127.0.0.1
     port: 1788
-  # 璇﹁ script/sql/easy_retry.sql `er_namespace` 琛�
+  # 璇﹁ script/sql/snail_job.sql `sj_namespace` 琛�
   namespace: ${spring.profiles.active}
 
 --- # 鏁版嵁婧愰厤缃�
diff --git a/ruoyi-admin/src/main/resources/application.yml b/ruoyi-admin/src/main/resources/application.yml
index 99ea405..27de286 100644
--- a/ruoyi-admin/src/main/resources/application.yml
+++ b/ruoyi-admin/src/main/resources/application.yml
@@ -124,9 +124,6 @@
     # actuator 鐩戞帶閰嶇疆
     - /actuator
     - /actuator/**
-    # EasyRetry Job 鍒嗘淳 @see com.aizuda.easy.retry.client.job.core.client.JobEndPoint
-    - /job/dispatch/v1
-    - /job/stop/v1
 
 # 澶氱鎴烽厤缃�
 tenant:
diff --git a/ruoyi-common/ruoyi-common-job/pom.xml b/ruoyi-common/ruoyi-common-job/pom.xml
index 92082d2..3a4a0cb 100644
--- a/ruoyi-common/ruoyi-common-job/pom.xml
+++ b/ruoyi-common/ruoyi-common-job/pom.xml
@@ -22,18 +22,14 @@
             <artifactId>spring-boot-autoconfigure</artifactId>
         </dependency>
 
-        <!-- EasyRetry client -->
+        <!-- SnailJob client -->
         <dependency>
             <groupId>com.aizuda</groupId>
-            <artifactId>easy-retry-client-starter</artifactId>
+            <artifactId>snail-job-client-starter</artifactId>
         </dependency>
         <dependency>
             <groupId>com.aizuda</groupId>
-            <artifactId>easy-retry-client-core</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>com.aizuda</groupId>
-            <artifactId>easy-retry-client-job-core</artifactId>
+            <artifactId>snail-job-client-job-core</artifactId>
         </dependency>
 
         <dependency>
diff --git a/ruoyi-common/ruoyi-common-job/src/main/java/org/dromara/common/job/config/EasyRetryConfig.java b/ruoyi-common/ruoyi-common-job/src/main/java/org/dromara/common/job/config/EasyRetryConfig.java
deleted file mode 100644
index 13f36dc..0000000
--- a/ruoyi-common/ruoyi-common-job/src/main/java/org/dromara/common/job/config/EasyRetryConfig.java
+++ /dev/null
@@ -1,37 +0,0 @@
-package org.dromara.common.job.config;
-
-import ch.qos.logback.classic.Logger;
-import ch.qos.logback.classic.LoggerContext;
-import ch.qos.logback.classic.spi.ILoggingEvent;
-import com.aizuda.easy.retry.client.common.appender.EasyRetryLogbackAppender;
-import com.aizuda.easy.retry.client.common.event.EasyRetryStartingEvent;
-import com.aizuda.easy.retry.client.starter.EnableEasyRetry;
-import org.slf4j.LoggerFactory;
-import org.springframework.boot.autoconfigure.AutoConfiguration;
-import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
-import org.springframework.context.event.EventListener;
-import org.springframework.scheduling.annotation.EnableScheduling;
-
-/**
- * 鍚姩瀹氭椂浠诲姟
- *
- * @author dhb52
- * @since 2024/3/12
- */
-@AutoConfiguration
-@ConditionalOnProperty(prefix = "easy-retry", name = "enabled", havingValue = "true")
-@EnableScheduling
-@EnableEasyRetry(group = "${easy-retry.group-name}")
-public class EasyRetryConfig {
-
-    @EventListener(EasyRetryStartingEvent.class)
-    public void onStarting(EasyRetryStartingEvent event) {
-        LoggerContext lc = (LoggerContext) LoggerFactory.getILoggerFactory();
-        EasyRetryLogbackAppender<ILoggingEvent> ca = new EasyRetryLogbackAppender<>();
-        ca.setName("easy_log_appender");
-        ca.start();
-        Logger rootLogger = lc.getLogger(Logger.ROOT_LOGGER_NAME);
-        rootLogger.addAppender(ca);
-    }
-
-}
diff --git a/ruoyi-common/ruoyi-common-job/src/main/java/org/dromara/common/job/config/SnailJobConfig.java b/ruoyi-common/ruoyi-common-job/src/main/java/org/dromara/common/job/config/SnailJobConfig.java
new file mode 100644
index 0000000..d671f0e
--- /dev/null
+++ b/ruoyi-common/ruoyi-common-job/src/main/java/org/dromara/common/job/config/SnailJobConfig.java
@@ -0,0 +1,37 @@
+package org.dromara.common.job.config;
+
+import ch.qos.logback.classic.Logger;
+import ch.qos.logback.classic.LoggerContext;
+import ch.qos.logback.classic.spi.ILoggingEvent;
+import com.aizuda.snailjob.client.common.appender.SnailLogbackAppender;
+import com.aizuda.snailjob.client.common.event.SnailClientStartingEvent;
+import com.aizuda.snailjob.client.starter.EnableSnailJob;
+import org.slf4j.LoggerFactory;
+import org.springframework.boot.autoconfigure.AutoConfiguration;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
+import org.springframework.context.event.EventListener;
+import org.springframework.scheduling.annotation.EnableScheduling;
+
+/**
+ * 鍚姩瀹氭椂浠诲姟
+ *
+ * @author opensnail
+ * @date 2024-05-17
+ */
+@AutoConfiguration
+@ConditionalOnProperty(prefix = "snail-job", name = "enabled", havingValue = "true")
+@EnableScheduling
+@EnableSnailJob(group = "${snail-job.group-name}")
+public class SnailJobConfig {
+
+    @EventListener(SnailClientStartingEvent.class)
+    public void onStarting(SnailClientStartingEvent event) {
+        LoggerContext lc = (LoggerContext) LoggerFactory.getILoggerFactory();
+        SnailLogbackAppender<ILoggingEvent> ca = new SnailLogbackAppender<>();
+        ca.setName("snail_log_appender");
+        ca.start();
+        Logger rootLogger = lc.getLogger(Logger.ROOT_LOGGER_NAME);
+        rootLogger.addAppender(ca);
+    }
+
+}
diff --git a/ruoyi-common/ruoyi-common-job/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/ruoyi-common/ruoyi-common-job/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
index 806829f..3aa1881 100644
--- a/ruoyi-common/ruoyi-common-job/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
+++ b/ruoyi-common/ruoyi-common-job/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports
@@ -1 +1 @@
-org.dromara.common.job.config.EasyRetryConfig
+org.dromara.common.job.config.SnailJobConfig
diff --git a/ruoyi-extend/pom.xml b/ruoyi-extend/pom.xml
index cc8f507..d7280ce 100644
--- a/ruoyi-extend/pom.xml
+++ b/ruoyi-extend/pom.xml
@@ -13,7 +13,7 @@
 
     <modules>
         <module>ruoyi-monitor-admin</module>
-        <module>ruoyi-easyretry-server</module>
+        <module>ruoyi-snailjob-server</module>
     </modules>
 
 </project>
diff --git a/ruoyi-extend/ruoyi-easyretry-server/src/main/java/org/dromara/easyretry/EasyRetryServerApplication.java b/ruoyi-extend/ruoyi-easyretry-server/src/main/java/org/dromara/easyretry/EasyRetryServerApplication.java
deleted file mode 100644
index 9d01bc0..0000000
--- a/ruoyi-extend/ruoyi-easyretry-server/src/main/java/org/dromara/easyretry/EasyRetryServerApplication.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package org.dromara.easyretry;
-
-import org.springframework.boot.SpringApplication;
-import org.springframework.boot.autoconfigure.SpringBootApplication;
-
-/**
- * EasyRetry Server 鍚姩绋嬪簭
- *
- * @author dhb52
- */
-@SpringBootApplication
-public class EasyRetryServerApplication {
-
-    public static void main(String[] args) {
-        SpringApplication.run(com.aizuda.easy.retry.server.EasyRetryServerApplication.class, args);
-    }
-
-}
diff --git a/ruoyi-extend/ruoyi-easyretry-server/src/main/resources/banner.txt b/ruoyi-extend/ruoyi-easyretry-server/src/main/resources/banner.txt
deleted file mode 100644
index 869a420..0000000
--- a/ruoyi-extend/ruoyi-easyretry-server/src/main/resources/banner.txt
+++ /dev/null
@@ -1,10 +0,0 @@
-Application Version: ${revision}
-Spring Boot Version: ${spring-boot.version}
-                                      _
-                                     | |
-  ___  __ _ ___ _   _ ______ _ __ ___| |_ _ __ _   _ ______ ___  ___ _ ____   _____ _ __
- / _ \/ _` / __| | | |______| '__/ _ \ __| '__| | | |______/ __|/ _ \ '__\ \ / / _ \ '__|
-|  __/ (_| \__ \ |_| |      | | |  __/ |_| |  | |_| |      \__ \  __/ |   \ V /  __/ |
- \___|\__,_|___/\__, |      |_|  \___|\__|_|   \__, |      |___/\___|_|    \_/ \___|_|
-                 __/ |                          __/ |
-                |___/                          |___/
diff --git a/ruoyi-extend/ruoyi-easyretry-server/Dockerfile b/ruoyi-extend/ruoyi-snailjob-server/Dockerfile
similarity index 75%
rename from ruoyi-extend/ruoyi-easyretry-server/Dockerfile
rename to ruoyi-extend/ruoyi-snailjob-server/Dockerfile
index 6fe5f0b..1fda8db 100644
--- a/ruoyi-extend/ruoyi-easyretry-server/Dockerfile
+++ b/ruoyi-extend/ruoyi-snailjob-server/Dockerfile
@@ -3,16 +3,16 @@
 
 MAINTAINER Lion Li
 
-RUN mkdir -p /ruoyi/easyretry/logs
+RUN mkdir -p /ruoyi/snailjob/logs
 
-WORKDIR /ruoyi/easyretry
+WORKDIR /ruoyi/snailjob
 
 ENV LANG=C.UTF-8 LC_ALL=C.UTF-8 JAVA_OPTS="-Xms512m -Xmx1024m"
 
 EXPOSE 8800
 EXPOSE 1788
 
-ADD ./target/ruoyi-easyretry-server.jar ./app.jar
+ADD ./target/ruoyi-snailjob-server.jar ./app.jar
 
 ENTRYPOINT java -Djava.security.egd=file:/dev/./urandom \
            -XX:+HeapDumpOnOutOfMemoryError -XX:+UseZGC ${JAVA_OPTS} \
diff --git a/ruoyi-extend/ruoyi-easyretry-server/pom.xml b/ruoyi-extend/ruoyi-snailjob-server/pom.xml
similarity index 89%
rename from ruoyi-extend/ruoyi-easyretry-server/pom.xml
rename to ruoyi-extend/ruoyi-snailjob-server/pom.xml
index 4ea4d74..7348b29 100644
--- a/ruoyi-extend/ruoyi-easyretry-server/pom.xml
+++ b/ruoyi-extend/ruoyi-snailjob-server/pom.xml
@@ -9,13 +9,13 @@
     </parent>
     <modelVersion>4.0.0</modelVersion>
     <packaging>jar</packaging>
-    <artifactId>ruoyi-easyretry-server</artifactId>
+    <artifactId>ruoyi-snailjob-server</artifactId>
 
     <dependencies>
         <dependency>
             <groupId>com.aizuda</groupId>
-            <artifactId>easy-retry-server-starter</artifactId>
-            <version>${easyretry.version}</version>
+            <artifactId>snail-job-server-starter</artifactId>
+            <version>${snailjob.version}</version>
         </dependency>
 
         <dependency>
diff --git a/ruoyi-extend/ruoyi-snailjob-server/src/main/java/org/dromara/snailjob/SnailJobServerApplication.java b/ruoyi-extend/ruoyi-snailjob-server/src/main/java/org/dromara/snailjob/SnailJobServerApplication.java
new file mode 100644
index 0000000..dfab068
--- /dev/null
+++ b/ruoyi-extend/ruoyi-snailjob-server/src/main/java/org/dromara/snailjob/SnailJobServerApplication.java
@@ -0,0 +1,19 @@
+package org.dromara.snailjob;
+
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+
+/**
+ * SnailJob Server 鍚姩绋嬪簭
+ *
+ * @author opensnail
+ * @date 2024-05-17
+ */
+@SpringBootApplication
+public class SnailJobServerApplication {
+
+    public static void main(String[] args) {
+        SpringApplication.run(com.aizuda.snailjob.server.SnailJobServerApplication.class, args);
+    }
+
+}
diff --git a/ruoyi-extend/ruoyi-easyretry-server/src/main/resources/application-dev.yml b/ruoyi-extend/ruoyi-snailjob-server/src/main/resources/application-dev.yml
similarity index 89%
rename from ruoyi-extend/ruoyi-easyretry-server/src/main/resources/application-dev.yml
rename to ruoyi-extend/ruoyi-snailjob-server/src/main/resources/application-dev.yml
index c151a61..be0b9b4 100644
--- a/ruoyi-extend/ruoyi-easyretry-server/src/main/resources/application-dev.yml
+++ b/ruoyi-extend/ruoyi-snailjob-server/src/main/resources/application-dev.yml
@@ -14,16 +14,14 @@
       max-lifetime: 900000
       keepaliveTime: 30000
 
---- # easy-retry 鏈嶅姟绔厤缃�
-easy-retry:
+--- # snail-job 鏈嶅姟绔厤缃�
+snail-job:
   # 鎷夊彇閲嶈瘯鏁版嵁鐨勬瘡鎵规鐨勫ぇ灏�
   retry-pull-page-size: 1000
   # 鎷夊彇閲嶈瘯鏁版嵁鐨勬瘡鎵规鐨勫ぇ灏�
   job-pull-page-size: 1000
-  # 鏈嶅姟绔� netty 绔彛
+  # 鏈嶅姟绔痭etty绔彛
   netty-port: 1788
-  # 閲嶈瘯鍜屾淇¤〃鐨勫垎鍖烘�绘暟
-  total-partition: 2
   # 涓�涓鎴风姣忕鏈�澶氭帴鏀剁殑閲嶈瘯鏁伴噺鎸囦护
   limiter: 1000
   # 鍙锋妯″紡涓嬫闀块厤缃�
@@ -36,7 +34,6 @@
     max-count: 288
     #闂撮殧鏃堕棿
     trigger-interval: 900
-  mode: all
   retry-max-pull-count: 10
 
 --- # 鐩戞帶涓績閰嶇疆
diff --git a/ruoyi-extend/ruoyi-easyretry-server/src/main/resources/application-prod.yml b/ruoyi-extend/ruoyi-snailjob-server/src/main/resources/application-prod.yml
similarity index 91%
rename from ruoyi-extend/ruoyi-easyretry-server/src/main/resources/application-prod.yml
rename to ruoyi-extend/ruoyi-snailjob-server/src/main/resources/application-prod.yml
index c151a61..4c69ee7 100644
--- a/ruoyi-extend/ruoyi-easyretry-server/src/main/resources/application-prod.yml
+++ b/ruoyi-extend/ruoyi-snailjob-server/src/main/resources/application-prod.yml
@@ -14,16 +14,14 @@
       max-lifetime: 900000
       keepaliveTime: 30000
 
---- # easy-retry 鏈嶅姟绔厤缃�
-easy-retry:
+--- # snail-job 鏈嶅姟绔厤缃�
+snail-job:
   # 鎷夊彇閲嶈瘯鏁版嵁鐨勬瘡鎵规鐨勫ぇ灏�
   retry-pull-page-size: 1000
   # 鎷夊彇閲嶈瘯鏁版嵁鐨勬瘡鎵规鐨勫ぇ灏�
   job-pull-page-size: 1000
   # 鏈嶅姟绔� netty 绔彛
   netty-port: 1788
-  # 閲嶈瘯鍜屾淇¤〃鐨勫垎鍖烘�绘暟
-  total-partition: 2
   # 涓�涓鎴风姣忕鏈�澶氭帴鏀剁殑閲嶈瘯鏁伴噺鎸囦护
   limiter: 1000
   # 鍙锋妯″紡涓嬫闀块厤缃�
@@ -36,7 +34,6 @@
     max-count: 288
     #闂撮殧鏃堕棿
     trigger-interval: 900
-  mode: all
   retry-max-pull-count: 10
 
 --- # 鐩戞帶涓績閰嶇疆
diff --git a/ruoyi-extend/ruoyi-easyretry-server/src/main/resources/application.yml b/ruoyi-extend/ruoyi-snailjob-server/src/main/resources/application.yml
similarity index 71%
rename from ruoyi-extend/ruoyi-easyretry-server/src/main/resources/application.yml
rename to ruoyi-extend/ruoyi-snailjob-server/src/main/resources/application.yml
index b6d8998..ba6df45 100644
--- a/ruoyi-extend/ruoyi-easyretry-server/src/main/resources/application.yml
+++ b/ruoyi-extend/ruoyi-snailjob-server/src/main/resources/application.yml
@@ -1,11 +1,11 @@
 server:
   port: 8800
   servlet:
-    context-path: /easy-retry
+    context-path: /snail-job
 
 spring:
   application:
-    name: ruoyi-easyretry-server
+    name: ruoyi-snailjob-server
   profiles:
     active: @profiles.active@
   web:
@@ -13,10 +13,9 @@
       static-locations: classpath:admin/
 
 mybatis-plus:
-  typeAliasesPackage: com.aizuda.easy.retry.template.datasource.persistence.po
+  typeAliasesPackage: com.aizuda.snailjob.template.datasource.persistence.po
   global-config:
     db-config:
-      table-prefix: er_
       where-strategy: NOT_EMPTY
       capital-mode: false
       logic-delete-value: 1
@@ -37,4 +36,4 @@
     health:
       show-details: ALWAYS
     logfile:
-      external-file: ./logs/ruoyi-easyretry-server/console.log
+      external-file: ./logs/ruoyi-snailjob-server/console.log
diff --git a/ruoyi-extend/ruoyi-easyretry-server/src/main/resources/logback-plus.xml b/ruoyi-extend/ruoyi-snailjob-server/src/main/resources/logback-plus.xml
similarity index 91%
rename from ruoyi-extend/ruoyi-easyretry-server/src/main/resources/logback-plus.xml
rename to ruoyi-extend/ruoyi-snailjob-server/src/main/resources/logback-plus.xml
index bcd3abc..a40262c 100644
--- a/ruoyi-extend/ruoyi-easyretry-server/src/main/resources/logback-plus.xml
+++ b/ruoyi-extend/ruoyi-snailjob-server/src/main/resources/logback-plus.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <configuration>
-    <property name="log.path" value="./logs/ruoyi-easyretry-server" />
+    <property name="log.path" value="./logs/ruoyi-snailjob-server" />
     <property name="console.log.pattern"
               value="%red(%d{yyyy-MM-dd HH:mm:ss}) %green([%thread]) %highlight(%-5level) %boldMagenta(%logger{36}%n) - %msg%n"/>
     <property name="log.pattern" value="%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} - %msg%n"/>
@@ -78,8 +78,8 @@
         <appender-ref ref ="file_error"/>
     </appender>
 
-    <!-- EasyRetry appender -->
-    <appender name="easy_log_server_appender" class="com.aizuda.easy.retry.server.common.appender.EasyRetryServerLogbackAppender">
+    <!-- SnailJob appender -->
+    <appender name="snail_log_server_appender" class="com.aizuda.snailjob.server.common.appender.SnailJobServerLogbackAppender">
     </appender>
 
     <!-- 鎺у埗鍙拌緭鍑烘棩蹇楃骇鍒� -->
@@ -87,6 +87,6 @@
         <appender-ref ref="console" />
         <appender-ref ref="async_info" />
         <appender-ref ref="async_error" />
-        <appender-ref ref="easy_log_server_appender" />
+        <appender-ref ref="snail_log_server_appender" />
     </root>
 </configuration>
diff --git a/ruoyi-modules/ruoyi-job/src/main/java/org/dromara/job/easyretry/TestAnnoJobExecutor.java b/ruoyi-modules/ruoyi-job/src/main/java/org/dromara/job/easyretry/TestAnnoJobExecutor.java
deleted file mode 100644
index 05c4f2f..0000000
--- a/ruoyi-modules/ruoyi-job/src/main/java/org/dromara/job/easyretry/TestAnnoJobExecutor.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package org.dromara.job.easyretry;
-
-import com.aizuda.easy.retry.client.job.core.annotation.JobExecutor;
-import com.aizuda.easy.retry.client.job.core.dto.JobArgs;
-import com.aizuda.easy.retry.client.model.ExecuteResult;
-import com.aizuda.easy.retry.common.core.util.JsonUtil;
-import com.aizuda.easy.retry.common.log.EasyRetryLog;
-import org.springframework.stereotype.Component;
-
-/**
- * @author www.byteblogs.com
- * @date 2023-09-28 22:54:07
- */
-@Component
-@JobExecutor(name = "testJobExecutor")
-public class TestAnnoJobExecutor {
-
-    public ExecuteResult jobExecute(JobArgs jobArgs) {
-        EasyRetryLog.LOCAL.info("testJobExecutor. jobArgs:{}", JsonUtil.toJsonString(jobArgs));
-        EasyRetryLog.REMOTE.info("testJobExecutor. jobArgs:{}", JsonUtil.toJsonString(jobArgs));
-        return ExecuteResult.success("娴嬭瘯鎴愬姛");
-    }
-}
diff --git a/ruoyi-modules/ruoyi-job/src/main/java/org/dromara/job/easyretry/TestClassJobExecutor.java b/ruoyi-modules/ruoyi-job/src/main/java/org/dromara/job/easyretry/TestClassJobExecutor.java
deleted file mode 100644
index d675cec..0000000
--- a/ruoyi-modules/ruoyi-job/src/main/java/org/dromara/job/easyretry/TestClassJobExecutor.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package org.dromara.job.easyretry;
-
-import com.aizuda.easy.retry.client.job.core.dto.JobArgs;
-import com.aizuda.easy.retry.client.job.core.executor.AbstractJobExecutor;
-import com.aizuda.easy.retry.client.model.ExecuteResult;
-import org.springframework.stereotype.Component;
-
-/**
- * @author www.byteblogs.com
- * @date 2023-09-28 22:54:07
- */
-@Component
-public class TestClassJobExecutor extends AbstractJobExecutor {
-
-    @Override
-    protected ExecuteResult doJobExecute(JobArgs jobArgs) {
-        return ExecuteResult.success("TestJobExecutor娴嬭瘯鎴愬姛");
-    }
-}
diff --git a/ruoyi-modules/ruoyi-job/src/main/java/org/dromara/job/snailjob/TestAnnoJobExecutor.java b/ruoyi-modules/ruoyi-job/src/main/java/org/dromara/job/snailjob/TestAnnoJobExecutor.java
new file mode 100644
index 0000000..5bea9da
--- /dev/null
+++ b/ruoyi-modules/ruoyi-job/src/main/java/org/dromara/job/snailjob/TestAnnoJobExecutor.java
@@ -0,0 +1,23 @@
+package org.dromara.job.snailjob;
+
+import com.aizuda.snailjob.client.job.core.annotation.JobExecutor;
+import com.aizuda.snailjob.client.job.core.dto.JobArgs;
+import com.aizuda.snailjob.client.model.ExecuteResult;
+import com.aizuda.snailjob.common.core.util.JsonUtil;
+import com.aizuda.snailjob.common.log.SnailJobLog;
+import org.springframework.stereotype.Component;
+
+/**
+ * @author opensnail
+ * @date 2024-05-17
+ */
+@Component
+@JobExecutor(name = "testJobExecutor")
+public class TestAnnoJobExecutor {
+
+    public ExecuteResult jobExecute(JobArgs jobArgs) {
+        SnailJobLog.LOCAL.info("testJobExecutor. jobArgs:{}", JsonUtil.toJsonString(jobArgs));
+        SnailJobLog.REMOTE.info("testJobExecutor. jobArgs:{}", JsonUtil.toJsonString(jobArgs));
+        return ExecuteResult.success("娴嬭瘯鎴愬姛");
+    }
+}
diff --git a/ruoyi-modules/ruoyi-job/src/main/java/org/dromara/job/snailjob/TestClassJobExecutor.java b/ruoyi-modules/ruoyi-job/src/main/java/org/dromara/job/snailjob/TestClassJobExecutor.java
new file mode 100644
index 0000000..6f7c21f
--- /dev/null
+++ b/ruoyi-modules/ruoyi-job/src/main/java/org/dromara/job/snailjob/TestClassJobExecutor.java
@@ -0,0 +1,19 @@
+package org.dromara.job.snailjob;
+
+import com.aizuda.snailjob.client.job.core.dto.JobArgs;
+import com.aizuda.snailjob.client.job.core.executor.AbstractJobExecutor;
+import com.aizuda.snailjob.client.model.ExecuteResult;
+import org.springframework.stereotype.Component;
+
+/**
+ * @author opensnail
+ * @date 2024-05-17
+ */
+@Component
+public class TestClassJobExecutor extends AbstractJobExecutor {
+
+    @Override
+    protected ExecuteResult doJobExecute(JobArgs jobArgs) {
+        return ExecuteResult.success("TestJobExecutor娴嬭瘯鎴愬姛");
+    }
+}
diff --git a/script/docker/docker-compose.yml b/script/docker/docker-compose.yml
index f6f822b..97024a0 100644
--- a/script/docker/docker-compose.yml
+++ b/script/docker/docker-compose.yml
@@ -141,9 +141,9 @@
     privileged: true
     network_mode: "host"
 
-  ruoyi-easyretry-server:
-    image: ruoyi/ruoyi-easyretry-server:5.2.0
-    container_name: ruoyi-easyretry-server
+  ruoyi-snailjob-server:
+    image: ruoyi/ruoyi-snailjob-server:5.2.0
+    container_name: ruoyi-snailjob-server
     environment:
       # 鏃跺尯涓婃捣
       TZ: Asia/Shanghai
@@ -151,6 +151,6 @@
       - "8800:8800"
       - "1788:1788"
     volumes:
-      - /docker/easyretry/logs/:/ruoyi/easyretry/logs
+      - /docker/snailjob/logs/:/ruoyi/snailjob/logs
     privileged: true
     network_mode: "host"
diff --git a/script/docker/nginx/conf/nginx.conf b/script/docker/nginx/conf/nginx.conf
index 791d491..dcc4525 100644
--- a/script/docker/nginx/conf/nginx.conf
+++ b/script/docker/nginx/conf/nginx.conf
@@ -31,7 +31,7 @@
         server 127.0.0.1:9090;
     }
 
-    upstream easyretry-server {
+    upstream snailjob-server {
         server 127.0.0.1:8800;
     }
 
@@ -96,12 +96,12 @@
             proxy_pass http://monitor-admin/admin/;
         }
 
-        location /easy-retry/ {
+        location /snail-job/ {
             proxy_set_header Host $http_host;
             proxy_set_header X-Real-IP $remote_addr;
             proxy_set_header REMOTE-HOST $remote_addr;
             proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
-            proxy_pass http://easyretry-server/easy-retry/;
+            proxy_pass http://snailjob-server/snail-job/;
         }
 
         error_page   500 502 503 504  /50x.html;
diff --git a/script/sql/oracle/easy_retry_oracle.sql b/script/sql/oracle/easy_retry_oracle.sql
deleted file mode 100644
index 78ef6ca..0000000
--- a/script/sql/oracle/easy_retry_oracle.sql
+++ /dev/null
@@ -1,829 +0,0 @@
--- 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.update_dt IS '鏇存柊鏃堕棿';
-COMMENT ON COLUMN er_job.deleted IS '閫昏緫鍒犻櫎 1銆佸垹闄�';
-
-INSERT INTO er_job (namespace_id, group_name, job_name, args_str, args_type, next_trigger_at, job_status, task_type, route_key, executor_type, executor_info, trigger_type, trigger_interval, block_strategy,executor_timeout, max_retry_times, parallel_num, retry_interval, bucket_index, resident, description, ext_attrs, create_dt, update_dt, deleted)
-VALUES ('dev', 'ruoyi_group', 'demo-job', NULL, 1, 1710344035622, 1, 1, 4, 1, 'testJobExecutor', 2, '60', 1, 60, 3, 1, 1, 116, 0, '', '', SYSDATE, SYSDATE, 0);
-
--- 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/oracle/oracle_ry_vue_5.X.sql b/script/sql/oracle/oracle_ry_vue_5.X.sql
index d50361d..06ea5fe 100644
--- a/script/sql/oracle/oracle_ry_vue_5.X.sql
+++ b/script/sql/oracle/oracle_ry_vue_5.X.sql
@@ -452,8 +452,8 @@
 insert into sys_menu values('117',  'Admin鐩戞帶',   '2',    '5', 'Admin',            'monitor/admin/index',         '', 1, 0, 'C', '0', '0', 'monitor:admin:list',          'dashboard',     103, 1, sysdate, null, null, 'Admin鐩戞帶鑿滃崟');
 -- oss鑿滃崟
 insert into sys_menu values('118',  '鏂囦欢绠$悊',     '1',    '10', 'oss',             'system/oss/index',            '', 1, 0, 'C', '0', '0', 'system:oss:list',             'upload',        103, 1, sysdate, null, null, '鏂囦欢绠$悊鑿滃崟');
--- powerjob server鎺у埗鍙�
-insert into sys_menu values('120',  '浠诲姟璋冨害涓績',  '2',    '5', 'easyretry',           'monitor/easyretry/index',        '', 1, 0, 'C', '0', '0', 'monitor:easyretry:list', 'job',           103, 1, sysdate, null, null, 'easyretry鎺у埗鍙拌彍鍗�');
+-- snail-job server鎺у埗鍙�
+insert into sys_menu values('120',  '浠诲姟璋冨害涓績',  '2',    '5', 'snailjob',           'monitor/snailjob/index',        '', 1, 0, 'C', '0', '0', 'monitor:snailjob:list', 'job',           103, 1, sysdate, null, null, 'snailjob鎺у埗鍙拌彍鍗�');
 
 -- 涓夌骇鑿滃崟
 insert into sys_menu values('500',  '鎿嶄綔鏃ュ織', '108', '1', 'operlog',    'monitor/operlog/index',    '', 1, 0, 'C', '0', '0', 'monitor:operlog:list',    'form',          103, 1, sysdate, null, null, '鎿嶄綔鏃ュ織鑿滃崟');
diff --git a/script/sql/oracle/snail_job_oracle.sql b/script/sql/oracle/snail_job_oracle.sql
new file mode 100644
index 0000000..19aa07e
--- /dev/null
+++ b/script/sql/oracle/snail_job_oracle.sql
@@ -0,0 +1,894 @@
+/*
+ SnailJob Database Transfer Tool
+ Source Server Type    : MySQL
+ Target Server Type    : Oracle
+ Date: 2024-05-14 23:36:38
+*/
+
+
+-- sj_namespace
+CREATE TABLE sj_namespace
+(
+    id          number GENERATED ALWAYS AS IDENTITY,
+    name        varchar2(64)                            NULL,
+    unique_id   varchar2(64)                            NULL,
+    description varchar2(256) DEFAULT ''                NULL,
+    deleted     smallint      DEFAULT 0                 NOT NULL,
+    create_dt   date          DEFAULT CURRENT_TIMESTAMP NOT NULL,
+    update_dt   date          DEFAULT CURRENT_TIMESTAMP NOT NULL
+);
+
+ALTER TABLE sj_namespace
+    ADD CONSTRAINT pk_sj_namespace PRIMARY KEY (id);
+
+CREATE INDEX idx_sj_namespace_01 ON sj_namespace (name);
+
+COMMENT ON COLUMN sj_namespace.id IS '涓婚敭';
+COMMENT ON COLUMN sj_namespace.name IS '鍚嶇О';
+COMMENT ON COLUMN sj_namespace.unique_id IS '鍞竴id';
+COMMENT ON COLUMN sj_namespace.description IS '鎻忚堪';
+COMMENT ON COLUMN sj_namespace.deleted IS '閫昏緫鍒犻櫎 1銆佸垹闄�';
+COMMENT ON COLUMN sj_namespace.create_dt IS '鍒涘缓鏃堕棿';
+COMMENT ON COLUMN sj_namespace.update_dt IS '淇敼鏃堕棿';
+COMMENT ON TABLE sj_namespace IS '鍛藉悕绌洪棿';
+
+INSERT INTO sj_namespace(name, unique_id, description, deleted, create_dt, update_dt) VALUES ('Development', 'dev', '', 0, sysdate, sysdate);
+INSERT INTO sj_namespace(name, unique_id, description, deleted, create_dt, update_dt) VALUES ('Production', 'prod', '', 0, sysdate, sysdate);
+
+-- sj_group_config
+CREATE TABLE sj_group_config
+(
+    id                number GENERATED ALWAYS AS IDENTITY,
+    namespace_id      varchar2(64)  DEFAULT '764d604ec6fc45f68cd92514c40e9e1a'    NULL,
+    group_name        varchar2(64)  DEFAULT ''                                    NULL,
+    description       varchar2(256) DEFAULT ''                                    NULL,
+    token             varchar2(64)  DEFAULT 'SJ_cKqBTPzCsWA3VyuCfFoccmuIEGXjr5KT' NULL,
+    group_status      smallint      DEFAULT 0                                     NOT NULL,
+    version           number                                                      NOT NULL,
+    group_partition   number                                                      NOT NULL,
+    id_generator_mode smallint      DEFAULT 1                                     NOT NULL,
+    init_scene        smallint      DEFAULT 0                                     NOT NULL,
+    bucket_index      number        DEFAULT 0                                     NOT NULL,
+    create_dt         date          DEFAULT CURRENT_TIMESTAMP                     NOT NULL,
+    update_dt         date          DEFAULT CURRENT_TIMESTAMP                     NOT NULL
+);
+
+ALTER TABLE sj_group_config
+    ADD CONSTRAINT pk_sj_group_config PRIMARY KEY (id);
+
+CREATE UNIQUE INDEX uk_sj_group_config_01 ON sj_group_config (namespace_id, group_name);
+
+COMMENT ON COLUMN sj_group_config.id IS '涓婚敭';
+COMMENT ON COLUMN sj_group_config.namespace_id IS '鍛藉悕绌洪棿id';
+COMMENT ON COLUMN sj_group_config.group_name IS '缁勫悕绉�';
+COMMENT ON COLUMN sj_group_config.description IS '缁勬弿杩�';
+COMMENT ON COLUMN sj_group_config.token IS 'token';
+COMMENT ON COLUMN sj_group_config.group_status IS '缁勭姸鎬� 0銆佹湭鍚敤 1銆佸惎鐢�';
+COMMENT ON COLUMN sj_group_config.version IS '鐗堟湰鍙�';
+COMMENT ON COLUMN sj_group_config.group_partition IS '鍒嗗尯';
+COMMENT ON COLUMN sj_group_config.id_generator_mode IS '鍞竴id鐢熸垚妯″紡 榛樿鍙锋妯″紡';
+COMMENT ON COLUMN sj_group_config.init_scene IS '鏄惁鍒濆鍖栧満鏅� 0:鍚� 1:鏄�';
+COMMENT ON COLUMN sj_group_config.bucket_index IS 'bucket';
+COMMENT ON COLUMN sj_group_config.create_dt IS '鍒涘缓鏃堕棿';
+COMMENT ON COLUMN sj_group_config.update_dt IS '淇敼鏃堕棿';
+COMMENT ON TABLE sj_group_config IS '缁勯厤缃�';
+
+INSERT INTO sj_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', '', 'SJ_cKqBTPzCsWA3VyuCfFoccmuIEGXjr5KT', 1, 1, 0, 1, 1, 4, sysdate, sysdate);
+
+-- sj_notify_config
+CREATE TABLE sj_notify_config
+(
+    id                     number GENERATED ALWAYS AS IDENTITY,
+    namespace_id           varchar2(64)  DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' NULL,
+    group_name             varchar2(64)                                             NULL,
+    business_id            varchar2(64)                                             NULL,
+    system_task_type       smallint      DEFAULT 3                                  NOT NULL,
+    notify_status          smallint      DEFAULT 0                                  NOT NULL,
+    recipient_ids          varchar2(128)                                            NULL,
+    notify_threshold       number        DEFAULT 0                                  NOT NULL,
+    notify_scene           smallint      DEFAULT 0                                  NOT NULL,
+    rate_limiter_status    smallint      DEFAULT 0                                  NOT NULL,
+    rate_limiter_threshold number        DEFAULT 0                                  NOT NULL,
+    description            varchar2(256) DEFAULT ''                                 NULL,
+    create_dt              date          DEFAULT CURRENT_TIMESTAMP                  NOT NULL,
+    update_dt              date          DEFAULT CURRENT_TIMESTAMP                  NOT NULL
+);
+
+ALTER TABLE sj_notify_config
+    ADD CONSTRAINT pk_sj_notify_config PRIMARY KEY (id);
+
+CREATE INDEX idx_sj_notify_config_01 ON sj_notify_config (namespace_id, group_name, business_id);
+
+COMMENT ON COLUMN sj_notify_config.id IS '涓婚敭';
+COMMENT ON COLUMN sj_notify_config.namespace_id IS '鍛藉悕绌洪棿id';
+COMMENT ON COLUMN sj_notify_config.group_name IS '缁勫悕绉�';
+COMMENT ON COLUMN sj_notify_config.business_id IS '涓氬姟id  ( job_id鎴杦orkflow_id鎴杝cene_name ) ';
+COMMENT ON COLUMN sj_notify_config.system_task_type IS '浠诲姟绫诲瀷 1. 閲嶈瘯浠诲姟 2. 閲嶈瘯鍥炶皟 3銆丣OB浠诲姟 4銆乄ORKFLOW浠诲姟';
+COMMENT ON COLUMN sj_notify_config.notify_status IS '閫氱煡鐘舵�� 0銆佹湭鍚敤 1銆佸惎鐢�';
+COMMENT ON COLUMN sj_notify_config.recipient_ids IS '鎺ユ敹浜篿d鍒楄〃';
+COMMENT ON COLUMN sj_notify_config.notify_threshold IS '閫氱煡闃堝��';
+COMMENT ON COLUMN sj_notify_config.notify_scene IS '閫氱煡鍦烘櫙';
+COMMENT ON COLUMN sj_notify_config.rate_limiter_status IS '闄愭祦鐘舵�� 0銆佹湭鍚敤 1銆佸惎鐢�';
+COMMENT ON COLUMN sj_notify_config.rate_limiter_threshold IS '姣忕闄愭祦闃堝��';
+COMMENT ON COLUMN sj_notify_config.description IS '鎻忚堪';
+COMMENT ON COLUMN sj_notify_config.create_dt IS '鍒涘缓鏃堕棿';
+COMMENT ON COLUMN sj_notify_config.update_dt IS '淇敼鏃堕棿';
+COMMENT ON TABLE sj_notify_config IS '閫氱煡閰嶇疆';
+
+-- sj_notify_recipient
+CREATE TABLE sj_notify_recipient
+(
+    id               number GENERATED ALWAYS AS IDENTITY,
+    namespace_id     varchar2(64)  DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' NULL,
+    recipient_name   varchar2(64)                                             NULL,
+    notify_type      smallint      DEFAULT 0                                  NOT NULL,
+    notify_attribute varchar2(512)                                            NULL,
+    description      varchar2(256) DEFAULT ''                                 NULL,
+    create_dt        date          DEFAULT CURRENT_TIMESTAMP                  NOT NULL,
+    update_dt        date          DEFAULT CURRENT_TIMESTAMP                  NOT NULL
+);
+
+ALTER TABLE sj_notify_recipient
+    ADD CONSTRAINT pk_sj_notify_recipient PRIMARY KEY (id);
+
+CREATE INDEX idx_sj_notify_recipient_01 ON sj_notify_recipient (namespace_id);
+
+COMMENT ON COLUMN sj_notify_recipient.id IS '涓婚敭';
+COMMENT ON COLUMN sj_notify_recipient.namespace_id IS '鍛藉悕绌洪棿id';
+COMMENT ON COLUMN sj_notify_recipient.recipient_name IS '鎺ユ敹浜哄悕绉�';
+COMMENT ON COLUMN sj_notify_recipient.notify_type IS '閫氱煡绫诲瀷 1銆侀拤閽� 2銆侀偖浠� 3銆佷紒涓氬井淇� 4 椋炰功';
+COMMENT ON COLUMN sj_notify_recipient.notify_attribute IS '閰嶇疆灞炴��';
+COMMENT ON COLUMN sj_notify_recipient.description IS '鎻忚堪';
+COMMENT ON COLUMN sj_notify_recipient.create_dt IS '鍒涘缓鏃堕棿';
+COMMENT ON COLUMN sj_notify_recipient.update_dt IS '淇敼鏃堕棿';
+COMMENT ON TABLE sj_notify_recipient IS '鍛婅閫氱煡鎺ユ敹浜�';
+
+-- sj_retry_dead_letter_0
+CREATE TABLE sj_retry_dead_letter_0
+(
+    id            number GENERATED ALWAYS AS IDENTITY,
+    namespace_id  varchar2(64)  DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' NULL,
+    unique_id     varchar2(64)                                             NULL,
+    group_name    varchar2(64)                                             NULL,
+    scene_name    varchar2(64)                                             NULL,
+    idempotent_id varchar2(64)                                             NULL,
+    biz_no        varchar2(64)  DEFAULT ''                                 NULL,
+    executor_name varchar2(512) DEFAULT ''                                 NULL,
+    args_str      clob                                                     NULL,
+    ext_attrs     clob                                                     NULL,
+    task_type     smallint      DEFAULT 1                                  NOT NULL,
+    create_dt     date          DEFAULT CURRENT_TIMESTAMP                  NOT NULL
+);
+
+ALTER TABLE sj_retry_dead_letter_0
+    ADD CONSTRAINT pk_sj_retry_dead_letter_0 PRIMARY KEY (id);
+
+CREATE UNIQUE INDEX uk_sj_retry_dead_letter_0_01 ON sj_retry_dead_letter_0 (namespace_id, group_name, unique_id);
+
+CREATE INDEX idx_sj_retry_dead_letter_0_01 ON sj_retry_dead_letter_0 (namespace_id, group_name, scene_name);
+CREATE INDEX idx_sj_retry_dead_letter_0_02 ON sj_retry_dead_letter_0 (idempotent_id);
+CREATE INDEX idx_sj_retry_dead_letter_0_03 ON sj_retry_dead_letter_0 (biz_no);
+CREATE INDEX idx_sj_retry_dead_letter_0_04 ON sj_retry_dead_letter_0 (create_dt);
+
+COMMENT ON COLUMN sj_retry_dead_letter_0.id IS '涓婚敭';
+COMMENT ON COLUMN sj_retry_dead_letter_0.namespace_id IS '鍛藉悕绌洪棿id';
+COMMENT ON COLUMN sj_retry_dead_letter_0.unique_id IS '鍚岀粍涓媔d鍞竴';
+COMMENT ON COLUMN sj_retry_dead_letter_0.group_name IS '缁勫悕绉�';
+COMMENT ON COLUMN sj_retry_dead_letter_0.scene_name IS '鍦烘櫙鍚嶇О';
+COMMENT ON COLUMN sj_retry_dead_letter_0.idempotent_id IS '骞傜瓑id';
+COMMENT ON COLUMN sj_retry_dead_letter_0.biz_no IS '涓氬姟缂栧彿';
+COMMENT ON COLUMN sj_retry_dead_letter_0.executor_name IS '鎵ц鍣ㄥ悕绉�';
+COMMENT ON COLUMN sj_retry_dead_letter_0.args_str IS '鎵ц鏂规硶鍙傛暟';
+COMMENT ON COLUMN sj_retry_dead_letter_0.ext_attrs IS '鎵╁睍瀛楁';
+COMMENT ON COLUMN sj_retry_dead_letter_0.task_type IS '浠诲姟绫诲瀷 1銆侀噸璇曟暟鎹� 2銆佸洖璋冩暟鎹�';
+COMMENT ON COLUMN sj_retry_dead_letter_0.create_dt IS '鍒涘缓鏃堕棿';
+COMMENT ON TABLE sj_retry_dead_letter_0 IS '姝讳俊闃熷垪琛�';
+
+-- sj_retry_task_0
+CREATE TABLE sj_retry_task_0
+(
+    id              number GENERATED ALWAYS AS IDENTITY,
+    namespace_id    varchar2(64)  DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' NULL,
+    unique_id       varchar2(64)                                             NULL,
+    group_name      varchar2(64)                                             NULL,
+    scene_name      varchar2(64)                                             NULL,
+    idempotent_id   varchar2(64)                                             NULL,
+    biz_no          varchar2(64)  DEFAULT ''                                 NULL,
+    executor_name   varchar2(512) DEFAULT ''                                 NULL,
+    args_str        clob                                                     NULL,
+    ext_attrs       clob                                                     NULL,
+    next_trigger_at date                                                     NOT NULL,
+    retry_count     number        DEFAULT 0                                  NOT NULL,
+    retry_status    smallint      DEFAULT 0                                  NOT NULL,
+    task_type       smallint      DEFAULT 1                                  NOT NULL,
+    create_dt       date          DEFAULT CURRENT_TIMESTAMP                  NOT NULL,
+    update_dt       date          DEFAULT CURRENT_TIMESTAMP                  NOT NULL
+);
+
+ALTER TABLE sj_retry_task_0
+    ADD CONSTRAINT pk_sj_retry_task_0 PRIMARY KEY (id);
+
+CREATE UNIQUE INDEX uk_sj_retry_task_0_01 ON sj_retry_task_0 (namespace_id, group_name, unique_id);
+
+CREATE INDEX idx_sj_retry_task_0_01 ON sj_retry_task_0 (namespace_id, group_name, scene_name);
+CREATE INDEX idx_sj_retry_task_0_02 ON sj_retry_task_0 (namespace_id, group_name, task_type);
+CREATE INDEX idx_sj_retry_task_0_03 ON sj_retry_task_0 (namespace_id, group_name, retry_status);
+CREATE INDEX idx_sj_retry_task_0_04 ON sj_retry_task_0 (idempotent_id);
+CREATE INDEX idx_sj_retry_task_0_05 ON sj_retry_task_0 (biz_no);
+CREATE INDEX idx_sj_retry_task_0_06 ON sj_retry_task_0 (create_dt);
+
+COMMENT ON COLUMN sj_retry_task_0.id IS '涓婚敭';
+COMMENT ON COLUMN sj_retry_task_0.namespace_id IS '鍛藉悕绌洪棿id';
+COMMENT ON COLUMN sj_retry_task_0.unique_id IS '鍚岀粍涓媔d鍞竴';
+COMMENT ON COLUMN sj_retry_task_0.group_name IS '缁勫悕绉�';
+COMMENT ON COLUMN sj_retry_task_0.scene_name IS '鍦烘櫙鍚嶇О';
+COMMENT ON COLUMN sj_retry_task_0.idempotent_id IS '骞傜瓑id';
+COMMENT ON COLUMN sj_retry_task_0.biz_no IS '涓氬姟缂栧彿';
+COMMENT ON COLUMN sj_retry_task_0.executor_name IS '鎵ц鍣ㄥ悕绉�';
+COMMENT ON COLUMN sj_retry_task_0.args_str IS '鎵ц鏂规硶鍙傛暟';
+COMMENT ON COLUMN sj_retry_task_0.ext_attrs IS '鎵╁睍瀛楁';
+COMMENT ON COLUMN sj_retry_task_0.next_trigger_at IS '涓嬫瑙﹀彂鏃堕棿';
+COMMENT ON COLUMN sj_retry_task_0.retry_count IS '閲嶈瘯娆℃暟';
+COMMENT ON COLUMN sj_retry_task_0.retry_status IS '閲嶈瘯鐘舵�� 0銆侀噸璇曚腑 1銆佹垚鍔� 2銆佹渶澶ч噸璇曟鏁�';
+COMMENT ON COLUMN sj_retry_task_0.task_type IS '浠诲姟绫诲瀷 1銆侀噸璇曟暟鎹� 2銆佸洖璋冩暟鎹�';
+COMMENT ON COLUMN sj_retry_task_0.create_dt IS '鍒涘缓鏃堕棿';
+COMMENT ON COLUMN sj_retry_task_0.update_dt IS '淇敼鏃堕棿';
+COMMENT ON TABLE sj_retry_task_0 IS '浠诲姟琛�';
+
+-- sj_retry_task_log
+CREATE TABLE sj_retry_task_log
+(
+    id            number GENERATED ALWAYS AS IDENTITY,
+    namespace_id  varchar2(64)  DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' NULL,
+    unique_id     varchar2(64)                                             NULL,
+    group_name    varchar2(64)                                             NULL,
+    scene_name    varchar2(64)                                             NULL,
+    idempotent_id varchar2(64)                                             NULL,
+    biz_no        varchar2(64)  DEFAULT ''                                 NULL,
+    executor_name varchar2(512) DEFAULT ''                                 NULL,
+    args_str      clob                                                     NULL,
+    ext_attrs     clob                                                     NULL,
+    retry_status  smallint      DEFAULT 0                                  NOT NULL,
+    task_type     smallint      DEFAULT 1                                  NOT NULL,
+    create_dt     date          DEFAULT CURRENT_TIMESTAMP                  NOT NULL,
+    update_dt     date          DEFAULT CURRENT_TIMESTAMP                  NOT NULL
+);
+
+ALTER TABLE sj_retry_task_log
+    ADD CONSTRAINT pk_sj_retry_task_log PRIMARY KEY (id);
+
+CREATE INDEX idx_sj_retry_task_log_01 ON sj_retry_task_log (namespace_id, group_name, scene_name);
+CREATE INDEX idx_sj_retry_task_log_02 ON sj_retry_task_log (retry_status);
+CREATE INDEX idx_sj_retry_task_log_03 ON sj_retry_task_log (idempotent_id);
+CREATE INDEX idx_sj_retry_task_log_04 ON sj_retry_task_log (unique_id);
+CREATE INDEX idx_sj_retry_task_log_05 ON sj_retry_task_log (biz_no);
+CREATE INDEX idx_sj_retry_task_log_06 ON sj_retry_task_log (create_dt);
+
+COMMENT ON COLUMN sj_retry_task_log.id IS '涓婚敭';
+COMMENT ON COLUMN sj_retry_task_log.namespace_id IS '鍛藉悕绌洪棿id';
+COMMENT ON COLUMN sj_retry_task_log.unique_id IS '鍚岀粍涓媔d鍞竴';
+COMMENT ON COLUMN sj_retry_task_log.group_name IS '缁勫悕绉�';
+COMMENT ON COLUMN sj_retry_task_log.scene_name IS '鍦烘櫙鍚嶇О';
+COMMENT ON COLUMN sj_retry_task_log.idempotent_id IS '骞傜瓑id';
+COMMENT ON COLUMN sj_retry_task_log.biz_no IS '涓氬姟缂栧彿';
+COMMENT ON COLUMN sj_retry_task_log.executor_name IS '鎵ц鍣ㄥ悕绉�';
+COMMENT ON COLUMN sj_retry_task_log.args_str IS '鎵ц鏂规硶鍙傛暟';
+COMMENT ON COLUMN sj_retry_task_log.ext_attrs IS '鎵╁睍瀛楁';
+COMMENT ON COLUMN sj_retry_task_log.retry_status IS '閲嶈瘯鐘舵�� 0銆侀噸璇曚腑 1銆佹垚鍔� 2銆佹渶澶ф鏁�';
+COMMENT ON COLUMN sj_retry_task_log.task_type IS '浠诲姟绫诲瀷 1銆侀噸璇曟暟鎹� 2銆佸洖璋冩暟鎹�';
+COMMENT ON COLUMN sj_retry_task_log.create_dt IS '鍒涘缓鏃堕棿';
+COMMENT ON COLUMN sj_retry_task_log.update_dt IS '淇敼鏃堕棿';
+COMMENT ON TABLE sj_retry_task_log IS '浠诲姟鏃ュ織鍩虹淇℃伅琛�';
+
+-- sj_retry_task_log_message
+CREATE TABLE sj_retry_task_log_message
+(
+    id           number GENERATED ALWAYS AS IDENTITY,
+    namespace_id varchar2(64) DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' NULL,
+    group_name   varchar2(64)                                            NULL,
+    unique_id    varchar2(64)                                            NULL,
+    message      clob                                                    NULL,
+    log_num      number       DEFAULT 1                                  NOT NULL,
+    real_time    number       DEFAULT 0                                  NOT NULL,
+    create_dt    date         DEFAULT CURRENT_TIMESTAMP                  NOT NULL
+);
+
+ALTER TABLE sj_retry_task_log_message
+    ADD CONSTRAINT pk_sj_retry_task_log_message PRIMARY KEY (id);
+
+CREATE INDEX idx_sj_retry_task_log_message_01 ON sj_retry_task_log_message (namespace_id, group_name, unique_id);
+CREATE INDEX idx_sj_retry_task_log_message_02 ON sj_retry_task_log_message (create_dt);
+
+COMMENT ON COLUMN sj_retry_task_log_message.id IS '涓婚敭';
+COMMENT ON COLUMN sj_retry_task_log_message.namespace_id IS '鍛藉悕绌洪棿id';
+COMMENT ON COLUMN sj_retry_task_log_message.group_name IS '缁勫悕绉�';
+COMMENT ON COLUMN sj_retry_task_log_message.unique_id IS '鍚岀粍涓媔d鍞竴';
+COMMENT ON COLUMN sj_retry_task_log_message.message IS '寮傚父淇℃伅';
+COMMENT ON COLUMN sj_retry_task_log_message.log_num IS '鏃ュ織鏁伴噺';
+COMMENT ON COLUMN sj_retry_task_log_message.real_time IS '涓婃姤鏃堕棿';
+COMMENT ON COLUMN sj_retry_task_log_message.create_dt IS '鍒涘缓鏃堕棿';
+COMMENT ON TABLE sj_retry_task_log_message IS '浠诲姟璋冨害鏃ュ織淇℃伅璁板綍琛�';
+
+-- sj_retry_scene_config
+CREATE TABLE sj_retry_scene_config
+(
+    id               number GENERATED ALWAYS AS IDENTITY,
+    namespace_id     varchar2(64)  DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' NULL,
+    scene_name       varchar2(64)                                             NULL,
+    group_name       varchar2(64)                                             NULL,
+    scene_status     smallint      DEFAULT 0                                  NOT NULL,
+    max_retry_count  number        DEFAULT 5                                  NOT NULL,
+    back_off         smallint      DEFAULT 1                                  NOT NULL,
+    trigger_interval varchar2(16)  DEFAULT ''                                 NULL,
+    deadline_request number        DEFAULT 60000                              NOT NULL,
+    executor_timeout number        DEFAULT 5                                  NOT NULL,
+    route_key        smallint      DEFAULT 4                                  NOT NULL,
+    description      varchar2(256) DEFAULT ''                                 NULL,
+    create_dt        date          DEFAULT CURRENT_TIMESTAMP                  NOT NULL,
+    update_dt        date          DEFAULT CURRENT_TIMESTAMP                  NOT NULL
+);
+
+ALTER TABLE sj_retry_scene_config
+    ADD CONSTRAINT pk_sj_retry_scene_config PRIMARY KEY (id);
+
+CREATE UNIQUE INDEX uk_sj_retry_scene_config_01 ON sj_retry_scene_config (namespace_id, group_name, scene_name);
+
+COMMENT ON COLUMN sj_retry_scene_config.id IS '涓婚敭';
+COMMENT ON COLUMN sj_retry_scene_config.namespace_id IS '鍛藉悕绌洪棿id';
+COMMENT ON COLUMN sj_retry_scene_config.scene_name IS '鍦烘櫙鍚嶇О';
+COMMENT ON COLUMN sj_retry_scene_config.group_name IS '缁勫悕绉�';
+COMMENT ON COLUMN sj_retry_scene_config.scene_status IS '缁勭姸鎬� 0銆佹湭鍚敤 1銆佸惎鐢�';
+COMMENT ON COLUMN sj_retry_scene_config.max_retry_count IS '鏈�澶ч噸璇曟鏁�';
+COMMENT ON COLUMN sj_retry_scene_config.back_off IS '1銆侀粯璁ょ瓑绾� 2銆佸浐瀹氶棿闅旀椂闂� 3銆丆RON 琛ㄨ揪寮�';
+COMMENT ON COLUMN sj_retry_scene_config.trigger_interval IS '闂撮殧鏃堕暱';
+COMMENT ON COLUMN sj_retry_scene_config.deadline_request IS 'Deadline Request 璋冪敤閾捐秴鏃� 鍗曚綅姣';
+COMMENT ON COLUMN sj_retry_scene_config.executor_timeout IS '浠诲姟鎵ц瓒呮椂鏃堕棿锛屽崟浣嶇';
+COMMENT ON COLUMN sj_retry_scene_config.route_key IS '璺敱绛栫暐';
+COMMENT ON COLUMN sj_retry_scene_config.description IS '鎻忚堪';
+COMMENT ON COLUMN sj_retry_scene_config.create_dt IS '鍒涘缓鏃堕棿';
+COMMENT ON COLUMN sj_retry_scene_config.update_dt IS '淇敼鏃堕棿';
+COMMENT ON TABLE sj_retry_scene_config IS '鍦烘櫙閰嶇疆';
+
+-- sj_server_node
+CREATE TABLE sj_server_node
+(
+    id           number GENERATED ALWAYS AS IDENTITY,
+    namespace_id varchar2(64)  DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' NULL,
+    group_name   varchar2(64)                                             NULL,
+    host_id      varchar2(64)                                             NULL,
+    host_ip      varchar2(64)                                             NULL,
+    host_port    number                                                   NOT NULL,
+    expire_at    date                                                     NOT NULL,
+    node_type    smallint                                                 NOT NULL,
+    ext_attrs    varchar2(256) DEFAULT ''                                 NULL,
+    create_dt    date          DEFAULT CURRENT_TIMESTAMP                  NOT NULL,
+    update_dt    date          DEFAULT CURRENT_TIMESTAMP                  NOT NULL
+);
+
+ALTER TABLE sj_server_node
+    ADD CONSTRAINT pk_sj_server_node PRIMARY KEY (id);
+
+CREATE UNIQUE INDEX uk_sj_server_node_01 ON sj_server_node (host_id, host_ip);
+
+CREATE INDEX idx_sj_server_node_01 ON sj_server_node (namespace_id, group_name);
+CREATE INDEX idx_sj_server_node_02 ON sj_server_node (expire_at, node_type);
+
+COMMENT ON COLUMN sj_server_node.id IS '涓婚敭';
+COMMENT ON COLUMN sj_server_node.namespace_id IS '鍛藉悕绌洪棿id';
+COMMENT ON COLUMN sj_server_node.group_name IS '缁勫悕绉�';
+COMMENT ON COLUMN sj_server_node.host_id IS '涓绘満id';
+COMMENT ON COLUMN sj_server_node.host_ip IS '鏈哄櫒ip';
+COMMENT ON COLUMN sj_server_node.host_port IS '鏈哄櫒绔彛';
+COMMENT ON COLUMN sj_server_node.expire_at IS '杩囨湡鏃堕棿';
+COMMENT ON COLUMN sj_server_node.node_type IS '鑺傜偣绫诲瀷 1銆佸鎴风 2銆佹槸鏈嶅姟绔�';
+COMMENT ON COLUMN sj_server_node.ext_attrs IS '鎵╁睍瀛楁';
+COMMENT ON COLUMN sj_server_node.create_dt IS '鍒涘缓鏃堕棿';
+COMMENT ON COLUMN sj_server_node.update_dt IS '淇敼鏃堕棿';
+COMMENT ON TABLE sj_server_node IS '鏈嶅姟鍣ㄨ妭鐐�';
+
+-- sj_distributed_lock
+CREATE TABLE sj_distributed_lock
+(
+    id         number GENERATED ALWAYS AS IDENTITY,
+    name       varchar2(64)                              NULL,
+    lock_until timestamp(3) DEFAULT CURRENT_TIMESTAMP(3) NOT NULL,
+    locked_at  timestamp(3) DEFAULT CURRENT_TIMESTAMP(3) NOT NULL,
+    locked_by  varchar2(255)                             NULL,
+    create_dt  date         DEFAULT CURRENT_TIMESTAMP    NOT NULL,
+    update_dt  date         DEFAULT CURRENT_TIMESTAMP    NOT NULL
+);
+
+ALTER TABLE sj_distributed_lock
+    ADD CONSTRAINT pk_sj_distributed_lock PRIMARY KEY (id);
+
+COMMENT ON COLUMN sj_distributed_lock.id IS '涓婚敭';
+COMMENT ON COLUMN sj_distributed_lock.name IS '閿佸悕绉�';
+COMMENT ON COLUMN sj_distributed_lock.lock_until IS '閿佸畾鏃堕暱';
+COMMENT ON COLUMN sj_distributed_lock.locked_at IS '閿佸畾鏃堕棿';
+COMMENT ON COLUMN sj_distributed_lock.locked_by IS '閿佸畾鑰�';
+COMMENT ON COLUMN sj_distributed_lock.create_dt IS '鍒涘缓鏃堕棿';
+COMMENT ON COLUMN sj_distributed_lock.update_dt IS '淇敼鏃堕棿';
+COMMENT ON TABLE sj_distributed_lock IS '閿佸畾琛�';
+
+-- sj_system_user
+CREATE TABLE sj_system_user
+(
+    id        number GENERATED ALWAYS AS IDENTITY,
+    username  varchar2(64)                       NULL,
+    password  varchar2(128)                      NULL,
+    role      smallint DEFAULT 0                 NOT NULL,
+    create_dt date     DEFAULT CURRENT_TIMESTAMP NOT NULL,
+    update_dt date     DEFAULT CURRENT_TIMESTAMP NOT NULL
+);
+
+ALTER TABLE sj_system_user
+    ADD CONSTRAINT pk_sj_system_user PRIMARY KEY (id);
+
+COMMENT ON COLUMN sj_system_user.id IS '涓婚敭';
+COMMENT ON COLUMN sj_system_user.username IS '璐﹀彿';
+COMMENT ON COLUMN sj_system_user.password IS '瀵嗙爜';
+COMMENT ON COLUMN sj_system_user.role IS '瑙掕壊锛�1-鏅�氱敤鎴枫��2-绠$悊鍛�';
+COMMENT ON COLUMN sj_system_user.create_dt IS '鍒涘缓鏃堕棿';
+COMMENT ON COLUMN sj_system_user.update_dt IS '淇敼鏃堕棿';
+COMMENT ON TABLE sj_system_user IS '绯荤粺鐢ㄦ埛琛�';
+
+-- pwd: admin
+INSERT INTO sj_system_user(username, password, role, create_dt, update_dt) VALUES ('admin', '465c194afb65670f38322df087f0a9bb225cc257e43eb4ac5a0c98ef5b3173ac', 2, sysdate, sysdate);
+
+-- sj_system_user_permission
+CREATE TABLE sj_system_user_permission
+(
+    id             number GENERATED ALWAYS AS IDENTITY,
+    group_name     varchar2(64)                                            NULL,
+    namespace_id   varchar2(64) DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' NULL,
+    system_user_id number                                                  NOT NULL,
+    create_dt      date         DEFAULT CURRENT_TIMESTAMP                  NOT NULL,
+    update_dt      date         DEFAULT CURRENT_TIMESTAMP                  NOT NULL
+);
+
+ALTER TABLE sj_system_user_permission
+    ADD CONSTRAINT pk_sj_system_user_permission PRIMARY KEY (id);
+
+CREATE UNIQUE INDEX uk_sj_system_user_permission_01 ON sj_system_user_permission (namespace_id, group_name, system_user_id);
+
+COMMENT ON COLUMN sj_system_user_permission.id IS '涓婚敭';
+COMMENT ON COLUMN sj_system_user_permission.group_name IS '缁勫悕绉�';
+COMMENT ON COLUMN sj_system_user_permission.namespace_id IS '鍛藉悕绌洪棿id';
+COMMENT ON COLUMN sj_system_user_permission.system_user_id IS '绯荤粺鐢ㄦ埛id';
+COMMENT ON COLUMN sj_system_user_permission.create_dt IS '鍒涘缓鏃堕棿';
+COMMENT ON COLUMN sj_system_user_permission.update_dt IS '淇敼鏃堕棿';
+COMMENT ON TABLE sj_system_user_permission IS '绯荤粺鐢ㄦ埛鏉冮檺琛�';
+
+-- sj_sequence_alloc
+CREATE TABLE sj_sequence_alloc
+(
+    id           number GENERATED ALWAYS AS IDENTITY,
+    namespace_id varchar2(64) DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' NULL,
+    group_name   varchar2(64) DEFAULT ''                                 NULL,
+    max_id       number       DEFAULT 1                                  NOT NULL,
+    step         number       DEFAULT 100                                NOT NULL,
+    update_dt    date         DEFAULT CURRENT_TIMESTAMP                  NOT NULL
+);
+
+ALTER TABLE sj_sequence_alloc
+    ADD CONSTRAINT pk_sj_sequence_alloc PRIMARY KEY (id);
+
+CREATE UNIQUE INDEX uk_sj_sequence_alloc_01 ON sj_sequence_alloc (namespace_id, group_name);
+
+COMMENT ON COLUMN sj_sequence_alloc.id IS '涓婚敭';
+COMMENT ON COLUMN sj_sequence_alloc.namespace_id IS '鍛藉悕绌洪棿id';
+COMMENT ON COLUMN sj_sequence_alloc.group_name IS '缁勫悕绉�';
+COMMENT ON COLUMN sj_sequence_alloc.max_id IS '鏈�澶d';
+COMMENT ON COLUMN sj_sequence_alloc.step IS '姝ラ暱';
+COMMENT ON COLUMN sj_sequence_alloc.update_dt IS '鏇存柊鏃堕棿';
+COMMENT ON TABLE sj_sequence_alloc IS '鍙锋妯″紡搴忓彿ID鍒嗛厤琛�';
+
+-- sj_job
+CREATE TABLE sj_job
+(
+    id               number GENERATED ALWAYS AS IDENTITY,
+    namespace_id     varchar2(64)  DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' NULL,
+    group_name       varchar2(64)                                             NULL,
+    job_name         varchar2(64)                                             NULL,
+    args_str         clob          DEFAULT NULL                               NULL,
+    args_type        smallint      DEFAULT 1                                  NOT NULL,
+    next_trigger_at  number                                                   NOT NULL,
+    job_status       smallint      DEFAULT 1                                  NOT NULL,
+    task_type        smallint      DEFAULT 1                                  NOT NULL,
+    route_key        smallint      DEFAULT 4                                  NOT NULL,
+    executor_type    smallint      DEFAULT 1                                  NOT NULL,
+    executor_info    varchar2(255) DEFAULT NULL                               NULL,
+    trigger_type     smallint                                                 NOT NULL,
+    trigger_interval varchar2(255)                                            NULL,
+    block_strategy   smallint      DEFAULT 1                                  NOT NULL,
+    executor_timeout number        DEFAULT 0                                  NOT NULL,
+    max_retry_times  number        DEFAULT 0                                  NOT NULL,
+    parallel_num     number        DEFAULT 1                                  NOT NULL,
+    retry_interval   number        DEFAULT 0                                  NOT NULL,
+    bucket_index     number        DEFAULT 0                                  NOT NULL,
+    resident         smallint      DEFAULT 0                                  NOT NULL,
+    description      varchar2(256) DEFAULT ''                                 NULL,
+    ext_attrs        varchar2(256) DEFAULT ''                                 NULL,
+    deleted          smallint      DEFAULT 0                                  NOT NULL,
+    create_dt        date          DEFAULT CURRENT_TIMESTAMP                  NOT NULL,
+    update_dt        date          DEFAULT CURRENT_TIMESTAMP                  NOT NULL
+);
+
+ALTER TABLE sj_job
+    ADD CONSTRAINT pk_sj_job PRIMARY KEY (id);
+
+CREATE INDEX idx_sj_job_01 ON sj_job (namespace_id, group_name);
+CREATE INDEX idx_sj_job_02 ON sj_job (job_status, bucket_index);
+CREATE INDEX idx_sj_job_03 ON sj_job (create_dt);
+
+COMMENT ON COLUMN sj_job.id IS '涓婚敭';
+COMMENT ON COLUMN sj_job.namespace_id IS '鍛藉悕绌洪棿id';
+COMMENT ON COLUMN sj_job.group_name IS '缁勫悕绉�';
+COMMENT ON COLUMN sj_job.job_name IS '鍚嶇О';
+COMMENT ON COLUMN sj_job.args_str IS '鎵ц鏂规硶鍙傛暟';
+COMMENT ON COLUMN sj_job.args_type IS '鍙傛暟绫诲瀷 ';
+COMMENT ON COLUMN sj_job.next_trigger_at IS '涓嬫瑙﹀彂鏃堕棿';
+COMMENT ON COLUMN sj_job.job_status IS '浠诲姟鐘舵�� 0銆佸叧闂��1銆佸紑鍚�';
+COMMENT ON COLUMN sj_job.task_type IS '浠诲姟绫诲瀷 1銆侀泦缇� 2銆佸箍鎾� 3銆佸垏鐗�';
+COMMENT ON COLUMN sj_job.route_key IS '璺敱绛栫暐';
+COMMENT ON COLUMN sj_job.executor_type IS '鎵ц鍣ㄧ被鍨�';
+COMMENT ON COLUMN sj_job.executor_info IS '鎵ц鍣ㄥ悕绉�';
+COMMENT ON COLUMN sj_job.trigger_type IS '瑙﹀彂绫诲瀷 1.CRON 琛ㄨ揪寮� 2. 鍥哄畾鏃堕棿';
+COMMENT ON COLUMN sj_job.trigger_interval IS '闂撮殧鏃堕暱';
+COMMENT ON COLUMN sj_job.block_strategy IS '闃诲绛栫暐 1銆佷涪寮� 2銆佽鐩� 3銆佸苟琛�';
+COMMENT ON COLUMN sj_job.executor_timeout IS '浠诲姟鎵ц瓒呮椂鏃堕棿锛屽崟浣嶇';
+COMMENT ON COLUMN sj_job.max_retry_times IS '鏈�澶ч噸璇曟鏁�';
+COMMENT ON COLUMN sj_job.parallel_num IS '骞惰鏁�';
+COMMENT ON COLUMN sj_job.retry_interval IS '閲嶈瘯闂撮殧 ( s ) ';
+COMMENT ON COLUMN sj_job.bucket_index IS 'bucket';
+COMMENT ON COLUMN sj_job.resident IS '鏄惁鏄父椹讳换鍔�';
+COMMENT ON COLUMN sj_job.description IS '鎻忚堪';
+COMMENT ON COLUMN sj_job.ext_attrs IS '鎵╁睍瀛楁';
+COMMENT ON COLUMN sj_job.deleted IS '閫昏緫鍒犻櫎 1銆佸垹闄�';
+COMMENT ON COLUMN sj_job.create_dt IS '鍒涘缓鏃堕棿';
+COMMENT ON COLUMN sj_job.update_dt IS '淇敼鏃堕棿';
+COMMENT ON TABLE sj_job IS '浠诲姟淇℃伅';
+
+INSERT INTO sj_job(namespace_id, group_name, job_name, args_str, args_type, next_trigger_at, job_status, task_type, route_key, executor_type, executor_info, trigger_type, trigger_interval, block_strategy,executor_timeout, max_retry_times, parallel_num, retry_interval, bucket_index, resident, description, ext_attrs, deleted, create_dt, update_dt) VALUES ('dev', 'ruoyi_group', 'demo-job', NULL, 1, 1710344035622, 1, 1, 4, 1, 'testJobExecutor', 2, '60', 1, 60, 3, 1, 1, 116, 0, '', '', 0, sysdate, sysdate);
+
+-- sj_job_log_message
+CREATE TABLE sj_job_log_message
+(
+    id            number GENERATED ALWAYS AS IDENTITY,
+    namespace_id  varchar2(64)  DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' NULL,
+    group_name    varchar2(64)                                             NULL,
+    job_id        number                                                   NOT NULL,
+    task_batch_id number                                                   NOT NULL,
+    task_id       number                                                   NOT NULL,
+    message       clob                                                     NULL,
+    log_num       number        DEFAULT 1                                  NOT NULL,
+    real_time     number        DEFAULT 0                                  NOT NULL,
+    ext_attrs     varchar2(256) DEFAULT ''                                 NULL,
+    create_dt     date          DEFAULT CURRENT_TIMESTAMP                  NOT NULL
+);
+
+ALTER TABLE sj_job_log_message
+    ADD CONSTRAINT pk_sj_job_log_message PRIMARY KEY (id);
+
+CREATE INDEX idx_sj_job_log_message_01 ON sj_job_log_message (task_batch_id, task_id);
+CREATE INDEX idx_sj_job_log_message_02 ON sj_job_log_message (create_dt);
+CREATE INDEX idx_sj_job_log_message_03 ON sj_job_log_message (namespace_id, group_name);
+
+COMMENT ON COLUMN sj_job_log_message.id IS '涓婚敭';
+COMMENT ON COLUMN sj_job_log_message.namespace_id IS '鍛藉悕绌洪棿id';
+COMMENT ON COLUMN sj_job_log_message.group_name IS '缁勫悕绉�';
+COMMENT ON COLUMN sj_job_log_message.job_id IS '浠诲姟淇℃伅id';
+COMMENT ON COLUMN sj_job_log_message.task_batch_id IS '浠诲姟鎵规id';
+COMMENT ON COLUMN sj_job_log_message.task_id IS '璋冨害浠诲姟id';
+COMMENT ON COLUMN sj_job_log_message.message IS '璋冨害淇℃伅';
+COMMENT ON COLUMN sj_job_log_message.log_num IS '鏃ュ織鏁伴噺';
+COMMENT ON COLUMN sj_job_log_message.real_time IS '涓婃姤鏃堕棿';
+COMMENT ON COLUMN sj_job_log_message.ext_attrs IS '鎵╁睍瀛楁';
+COMMENT ON COLUMN sj_job_log_message.create_dt IS '鍒涘缓鏃堕棿';
+COMMENT ON TABLE sj_job_log_message IS '璋冨害鏃ュ織';
+
+-- sj_job_task
+CREATE TABLE sj_job_task
+(
+    id             number GENERATED ALWAYS AS IDENTITY,
+    namespace_id   varchar2(64)  DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' NULL,
+    group_name     varchar2(64)                                             NULL,
+    job_id         number                                                   NOT NULL,
+    task_batch_id  number                                                   NOT NULL,
+    parent_id      number        DEFAULT 0                                  NOT NULL,
+    task_status    smallint      DEFAULT 0                                  NOT NULL,
+    retry_count    number        DEFAULT 0                                  NOT NULL,
+    client_info    varchar2(128) DEFAULT NULL                               NULL,
+    result_message clob                                                     NULL,
+    args_str       clob          DEFAULT NULL                               NULL,
+    args_type      smallint      DEFAULT 1                                  NOT NULL,
+    ext_attrs      varchar2(256) DEFAULT ''                                 NULL,
+    create_dt      date          DEFAULT CURRENT_TIMESTAMP                  NOT NULL,
+    update_dt      date          DEFAULT CURRENT_TIMESTAMP                  NOT NULL
+);
+
+ALTER TABLE sj_job_task
+    ADD CONSTRAINT pk_sj_job_task PRIMARY KEY (id);
+
+CREATE INDEX idx_sj_job_task_01 ON sj_job_task (task_batch_id, task_status);
+CREATE INDEX idx_sj_job_task_02 ON sj_job_task (create_dt);
+CREATE INDEX idx_sj_job_task_03 ON sj_job_task (namespace_id, group_name);
+
+COMMENT ON COLUMN sj_job_task.id IS '涓婚敭';
+COMMENT ON COLUMN sj_job_task.namespace_id IS '鍛藉悕绌洪棿id';
+COMMENT ON COLUMN sj_job_task.group_name IS '缁勫悕绉�';
+COMMENT ON COLUMN sj_job_task.job_id IS '浠诲姟淇℃伅id';
+COMMENT ON COLUMN sj_job_task.task_batch_id IS '璋冨害浠诲姟id';
+COMMENT ON COLUMN sj_job_task.parent_id IS '鐖舵墽琛屽櫒id';
+COMMENT ON COLUMN sj_job_task.task_status IS '鎵ц鐨勭姸鎬� 0銆佸け璐� 1銆佹垚鍔�';
+COMMENT ON COLUMN sj_job_task.retry_count IS '閲嶈瘯娆℃暟';
+COMMENT ON COLUMN sj_job_task.client_info IS '瀹㈡埛绔湴鍧� clientId#ip:port';
+COMMENT ON COLUMN sj_job_task.result_message IS '鎵ц缁撴灉';
+COMMENT ON COLUMN sj_job_task.args_str IS '鎵ц鏂规硶鍙傛暟';
+COMMENT ON COLUMN sj_job_task.args_type IS '鍙傛暟绫诲瀷 ';
+COMMENT ON COLUMN sj_job_task.ext_attrs IS '鎵╁睍瀛楁';
+COMMENT ON COLUMN sj_job_task.create_dt IS '鍒涘缓鏃堕棿';
+COMMENT ON COLUMN sj_job_task.update_dt IS '淇敼鏃堕棿';
+COMMENT ON TABLE sj_job_task IS '浠诲姟瀹炰緥';
+
+-- sj_job_task_batch
+CREATE TABLE sj_job_task_batch
+(
+    id                      number GENERATED ALWAYS AS IDENTITY,
+    namespace_id            varchar2(64)  DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' NULL,
+    group_name              varchar2(64)                                             NULL,
+    job_id                  number                                                   NOT NULL,
+    workflow_node_id        number        DEFAULT 0                                  NOT NULL,
+    parent_workflow_node_id number        DEFAULT 0                                  NOT NULL,
+    workflow_task_batch_id  number        DEFAULT 0                                  NOT NULL,
+    task_batch_status       smallint      DEFAULT 0                                  NOT NULL,
+    operation_reason        smallint      DEFAULT 0                                  NOT NULL,
+    execution_at            number        DEFAULT 0                                  NOT NULL,
+    system_task_type        smallint      DEFAULT 3                                  NOT NULL,
+    parent_id               varchar2(64)  DEFAULT ''                                 NULL,
+    ext_attrs               varchar2(256) DEFAULT ''                                 NULL,
+    deleted                 smallint      DEFAULT 0                                  NOT NULL,
+    create_dt               date          DEFAULT CURRENT_TIMESTAMP                  NOT NULL,
+    update_dt               date          DEFAULT CURRENT_TIMESTAMP                  NOT NULL
+);
+
+ALTER TABLE sj_job_task_batch
+    ADD CONSTRAINT pk_sj_job_task_batch PRIMARY KEY (id);
+
+CREATE INDEX idx_sj_job_task_batch_01 ON sj_job_task_batch (job_id, task_batch_status);
+CREATE INDEX idx_sj_job_task_batch_02 ON sj_job_task_batch (create_dt);
+CREATE INDEX idx_sj_job_task_batch_03 ON sj_job_task_batch (namespace_id, group_name);
+CREATE INDEX idx_sj_job_task_batch_04 ON sj_job_task_batch (workflow_task_batch_id, workflow_node_id);
+
+COMMENT ON COLUMN sj_job_task_batch.id IS '涓婚敭';
+COMMENT ON COLUMN sj_job_task_batch.namespace_id IS '鍛藉悕绌洪棿id';
+COMMENT ON COLUMN sj_job_task_batch.group_name IS '缁勫悕绉�';
+COMMENT ON COLUMN sj_job_task_batch.job_id IS '浠诲姟id';
+COMMENT ON COLUMN sj_job_task_batch.workflow_node_id IS '宸ヤ綔娴佽妭鐐筰d';
+COMMENT ON COLUMN sj_job_task_batch.parent_workflow_node_id IS '宸ヤ綔娴佷换鍔$埗鎵规id';
+COMMENT ON COLUMN sj_job_task_batch.workflow_task_batch_id IS '宸ヤ綔娴佷换鍔℃壒娆d';
+COMMENT ON COLUMN sj_job_task_batch.task_batch_status IS '浠诲姟鎵规鐘舵�� 0銆佸け璐� 1銆佹垚鍔�';
+COMMENT ON COLUMN sj_job_task_batch.operation_reason IS '鎿嶄綔鍘熷洜';
+COMMENT ON COLUMN sj_job_task_batch.execution_at IS '浠诲姟鎵ц鏃堕棿';
+COMMENT ON COLUMN sj_job_task_batch.system_task_type IS '浠诲姟绫诲瀷 3銆丣OB浠诲姟 4銆乄ORKFLOW浠诲姟';
+COMMENT ON COLUMN sj_job_task_batch.parent_id IS '鐖惰妭鐐�';
+COMMENT ON COLUMN sj_job_task_batch.ext_attrs IS '鎵╁睍瀛楁';
+COMMENT ON COLUMN sj_job_task_batch.deleted IS '閫昏緫鍒犻櫎 1銆佸垹闄�';
+COMMENT ON COLUMN sj_job_task_batch.create_dt IS '鍒涘缓鏃堕棿';
+COMMENT ON COLUMN sj_job_task_batch.update_dt IS '淇敼鏃堕棿';
+COMMENT ON TABLE sj_job_task_batch IS '浠诲姟鎵规';
+
+-- sj_job_summary
+CREATE TABLE sj_job_summary
+(
+    id               number GENERATED ALWAYS AS IDENTITY,
+    namespace_id     varchar2(64)  DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' NULL,
+    group_name       varchar2(64)  DEFAULT ''                                 NULL,
+    business_id      number                                                   NOT NULL,
+    system_task_type smallint      DEFAULT 3                                  NOT NULL,
+    trigger_at       date          DEFAULT CURRENT_TIMESTAMP                  NOT NULL,
+    success_num      number        DEFAULT 0                                  NOT NULL,
+    fail_num         number        DEFAULT 0                                  NOT NULL,
+    fail_reason      varchar2(512) DEFAULT ''                                 NULL,
+    stop_num         number        DEFAULT 0                                  NOT NULL,
+    stop_reason      varchar2(512) DEFAULT ''                                 NULL,
+    cancel_num       number        DEFAULT 0                                  NOT NULL,
+    cancel_reason    varchar2(512) DEFAULT ''                                 NULL,
+    create_dt        date          DEFAULT CURRENT_TIMESTAMP                  NOT NULL,
+    update_dt        date          DEFAULT CURRENT_TIMESTAMP                  NOT NULL
+);
+
+ALTER TABLE sj_job_summary
+    ADD CONSTRAINT pk_sj_job_summary PRIMARY KEY (id);
+
+CREATE UNIQUE INDEX uk_sj_job_summary_01 ON sj_job_summary (trigger_at, system_task_type, business_id);
+
+CREATE INDEX idx_sj_job_summary_01 ON sj_job_summary (namespace_id, group_name, business_id);
+
+COMMENT ON COLUMN sj_job_summary.id IS '涓婚敭';
+COMMENT ON COLUMN sj_job_summary.namespace_id IS '鍛藉悕绌洪棿id';
+COMMENT ON COLUMN sj_job_summary.group_name IS '缁勫悕绉�';
+COMMENT ON COLUMN sj_job_summary.business_id IS '涓氬姟id  ( job_id鎴杦orkflow_id ) ';
+COMMENT ON COLUMN sj_job_summary.system_task_type IS '浠诲姟绫诲瀷 3銆丣OB浠诲姟 4銆乄ORKFLOW浠诲姟';
+COMMENT ON COLUMN sj_job_summary.trigger_at IS '缁熻鏃堕棿';
+COMMENT ON COLUMN sj_job_summary.success_num IS '鎵ц鎴愬姛-鏃ュ織鏁伴噺';
+COMMENT ON COLUMN sj_job_summary.fail_num IS '鎵ц澶辫触-鏃ュ織鏁伴噺';
+COMMENT ON COLUMN sj_job_summary.fail_reason IS '澶辫触鍘熷洜';
+COMMENT ON COLUMN sj_job_summary.stop_num IS '鎵ц澶辫触-鏃ュ織鏁伴噺';
+COMMENT ON COLUMN sj_job_summary.stop_reason IS '澶辫触鍘熷洜';
+COMMENT ON COLUMN sj_job_summary.cancel_num IS '鎵ц澶辫触-鏃ュ織鏁伴噺';
+COMMENT ON COLUMN sj_job_summary.cancel_reason IS '澶辫触鍘熷洜';
+COMMENT ON COLUMN sj_job_summary.create_dt IS '鍒涘缓鏃堕棿';
+COMMENT ON COLUMN sj_job_summary.update_dt IS '淇敼鏃堕棿';
+COMMENT ON TABLE sj_job_summary IS 'DashBoard_Job';
+
+-- sj_retry_summary
+CREATE TABLE sj_retry_summary
+(
+    id            number GENERATED ALWAYS AS IDENTITY,
+    namespace_id  varchar2(64) DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' NULL,
+    group_name    varchar2(64) DEFAULT ''                                 NULL,
+    scene_name    varchar2(50) DEFAULT ''                                 NULL,
+    trigger_at    date         DEFAULT CURRENT_TIMESTAMP                  NOT NULL,
+    running_num   number       DEFAULT 0                                  NOT NULL,
+    finish_num    number       DEFAULT 0                                  NOT NULL,
+    max_count_num number       DEFAULT 0                                  NOT NULL,
+    suspend_num   number       DEFAULT 0                                  NOT NULL,
+    create_dt     date         DEFAULT CURRENT_TIMESTAMP                  NOT NULL,
+    update_dt     date         DEFAULT CURRENT_TIMESTAMP                  NOT NULL
+);
+
+ALTER TABLE sj_retry_summary
+    ADD CONSTRAINT pk_sj_retry_summary PRIMARY KEY (id);
+
+CREATE UNIQUE INDEX uk_sj_retry_summary_01 ON sj_retry_summary (namespace_id, group_name, scene_name, trigger_at);
+
+CREATE INDEX idx_sj_retry_summary_01 ON sj_retry_summary (trigger_at);
+
+COMMENT ON COLUMN sj_retry_summary.id IS '涓婚敭';
+COMMENT ON COLUMN sj_retry_summary.namespace_id IS '鍛藉悕绌洪棿id';
+COMMENT ON COLUMN sj_retry_summary.group_name IS '缁勫悕绉�';
+COMMENT ON COLUMN sj_retry_summary.scene_name IS '鍦烘櫙鍚嶇О';
+COMMENT ON COLUMN sj_retry_summary.trigger_at IS '缁熻鏃堕棿';
+COMMENT ON COLUMN sj_retry_summary.running_num IS '閲嶈瘯涓�-鏃ュ織鏁伴噺';
+COMMENT ON COLUMN sj_retry_summary.finish_num IS '閲嶈瘯瀹屾垚-鏃ュ織鏁伴噺';
+COMMENT ON COLUMN sj_retry_summary.max_count_num IS '閲嶈瘯鍒拌揪鏈�澶ф鏁�-鏃ュ織鏁伴噺';
+COMMENT ON COLUMN sj_retry_summary.suspend_num IS '鏆傚仠閲嶈瘯-鏃ュ織鏁伴噺';
+COMMENT ON COLUMN sj_retry_summary.create_dt IS '鍒涘缓鏃堕棿';
+COMMENT ON COLUMN sj_retry_summary.update_dt IS '淇敼鏃堕棿';
+COMMENT ON TABLE sj_retry_summary IS 'DashBoard_Retry';
+
+-- sj_workflow
+CREATE TABLE sj_workflow
+(
+    id               number GENERATED ALWAYS AS IDENTITY,
+    workflow_name    varchar2(64)                                             NULL,
+    namespace_id     varchar2(64)  DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' NULL,
+    group_name       varchar2(64)                                             NULL,
+    workflow_status  smallint      DEFAULT 1                                  NOT NULL,
+    trigger_type     smallint                                                 NOT NULL,
+    trigger_interval varchar2(255)                                            NULL,
+    next_trigger_at  number                                                   NOT NULL,
+    block_strategy   smallint      DEFAULT 1                                  NOT NULL,
+    executor_timeout number        DEFAULT 0                                  NOT NULL,
+    description      varchar2(256) DEFAULT ''                                 NULL,
+    flow_info        clob          DEFAULT NULL                               NULL,
+    bucket_index     number        DEFAULT 0                                  NOT NULL,
+    version          number                                                   NOT NULL,
+    ext_attrs        varchar2(256) DEFAULT ''                                 NULL,
+    deleted          smallint      DEFAULT 0                                  NOT NULL,
+    create_dt        date          DEFAULT CURRENT_TIMESTAMP                  NOT NULL,
+    update_dt        date          DEFAULT CURRENT_TIMESTAMP                  NOT NULL
+);
+
+ALTER TABLE sj_workflow
+    ADD CONSTRAINT pk_sj_workflow PRIMARY KEY (id);
+
+CREATE INDEX idx_sj_workflow_01 ON sj_workflow (create_dt);
+CREATE INDEX idx_sj_workflow_02 ON sj_workflow (namespace_id, group_name);
+
+COMMENT ON COLUMN sj_workflow.id IS '涓婚敭';
+COMMENT ON COLUMN sj_workflow.workflow_name IS '宸ヤ綔娴佸悕绉�';
+COMMENT ON COLUMN sj_workflow.namespace_id IS '鍛藉悕绌洪棿id';
+COMMENT ON COLUMN sj_workflow.group_name IS '缁勫悕绉�';
+COMMENT ON COLUMN sj_workflow.workflow_status IS '宸ヤ綔娴佺姸鎬� 0銆佸叧闂��1銆佸紑鍚�';
+COMMENT ON COLUMN sj_workflow.trigger_type IS '瑙﹀彂绫诲瀷 1.CRON 琛ㄨ揪寮� 2. 鍥哄畾鏃堕棿';
+COMMENT ON COLUMN sj_workflow.trigger_interval IS '闂撮殧鏃堕暱';
+COMMENT ON COLUMN sj_workflow.next_trigger_at IS '涓嬫瑙﹀彂鏃堕棿';
+COMMENT ON COLUMN sj_workflow.block_strategy IS '闃诲绛栫暐 1銆佷涪寮� 2銆佽鐩� 3銆佸苟琛�';
+COMMENT ON COLUMN sj_workflow.executor_timeout IS '浠诲姟鎵ц瓒呮椂鏃堕棿锛屽崟浣嶇';
+COMMENT ON COLUMN sj_workflow.description IS '鎻忚堪';
+COMMENT ON COLUMN sj_workflow.flow_info IS '娴佺▼淇℃伅';
+COMMENT ON COLUMN sj_workflow.bucket_index IS 'bucket';
+COMMENT ON COLUMN sj_workflow.version IS '鐗堟湰鍙�';
+COMMENT ON COLUMN sj_workflow.ext_attrs IS '鎵╁睍瀛楁';
+COMMENT ON COLUMN sj_workflow.deleted IS '閫昏緫鍒犻櫎 1銆佸垹闄�';
+COMMENT ON COLUMN sj_workflow.create_dt IS '鍒涘缓鏃堕棿';
+COMMENT ON COLUMN sj_workflow.update_dt IS '淇敼鏃堕棿';
+COMMENT ON TABLE sj_workflow IS '宸ヤ綔娴�';
+
+-- sj_workflow_node
+CREATE TABLE sj_workflow_node
+(
+    id                   number GENERATED ALWAYS AS IDENTITY,
+    namespace_id         varchar2(64)  DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' NULL,
+    node_name            varchar2(64)                                             NULL,
+    group_name           varchar2(64)                                             NULL,
+    job_id               number                                                   NOT NULL,
+    workflow_id          number                                                   NOT NULL,
+    node_type            smallint      DEFAULT 1                                  NOT NULL,
+    expression_type      smallint      DEFAULT 0                                  NOT NULL,
+    fail_strategy        smallint      DEFAULT 1                                  NOT NULL,
+    workflow_node_status smallint      DEFAULT 1                                  NOT NULL,
+    priority_level       number        DEFAULT 1                                  NOT NULL,
+    node_info            clob          DEFAULT NULL                               NULL,
+    version              number                                                   NOT NULL,
+    ext_attrs            varchar2(256) DEFAULT ''                                 NULL,
+    deleted              smallint      DEFAULT 0                                  NOT NULL,
+    create_dt            date          DEFAULT CURRENT_TIMESTAMP                  NOT NULL,
+    update_dt            date          DEFAULT CURRENT_TIMESTAMP                  NOT NULL
+);
+
+ALTER TABLE sj_workflow_node
+    ADD CONSTRAINT pk_sj_workflow_node PRIMARY KEY (id);
+
+CREATE INDEX idx_sj_workflow_node_01 ON sj_workflow_node (create_dt);
+CREATE INDEX idx_sj_workflow_node_02 ON sj_workflow_node (namespace_id, group_name);
+
+COMMENT ON COLUMN sj_workflow_node.id IS '涓婚敭';
+COMMENT ON COLUMN sj_workflow_node.namespace_id IS '鍛藉悕绌洪棿id';
+COMMENT ON COLUMN sj_workflow_node.node_name IS '鑺傜偣鍚嶇О';
+COMMENT ON COLUMN sj_workflow_node.group_name IS '缁勫悕绉�';
+COMMENT ON COLUMN sj_workflow_node.job_id IS '浠诲姟淇℃伅id';
+COMMENT ON COLUMN sj_workflow_node.workflow_id IS '宸ヤ綔娴両D';
+COMMENT ON COLUMN sj_workflow_node.node_type IS '1銆佷换鍔¤妭鐐� 2銆佹潯浠惰妭鐐�';
+COMMENT ON COLUMN sj_workflow_node.expression_type IS '1銆丼pEl銆�2銆丄viator 3銆丵L';
+COMMENT ON COLUMN sj_workflow_node.fail_strategy IS '澶辫触绛栫暐 1銆佽烦杩� 2銆侀樆濉�';
+COMMENT ON COLUMN sj_workflow_node.workflow_node_status IS '宸ヤ綔娴佽妭鐐圭姸鎬� 0銆佸叧闂��1銆佸紑鍚�';
+COMMENT ON COLUMN sj_workflow_node.priority_level IS '浼樺厛绾�';
+COMMENT ON COLUMN sj_workflow_node.node_info IS '鑺傜偣淇℃伅 ';
+COMMENT ON COLUMN sj_workflow_node.version IS '鐗堟湰鍙�';
+COMMENT ON COLUMN sj_workflow_node.ext_attrs IS '鎵╁睍瀛楁';
+COMMENT ON COLUMN sj_workflow_node.deleted IS '閫昏緫鍒犻櫎 1銆佸垹闄�';
+COMMENT ON COLUMN sj_workflow_node.create_dt IS '鍒涘缓鏃堕棿';
+COMMENT ON COLUMN sj_workflow_node.update_dt IS '淇敼鏃堕棿';
+COMMENT ON TABLE sj_workflow_node IS '宸ヤ綔娴佽妭鐐�';
+
+-- sj_workflow_task_batch
+CREATE TABLE sj_workflow_task_batch
+(
+    id                number GENERATED ALWAYS AS IDENTITY,
+    namespace_id      varchar2(64)  DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' NULL,
+    group_name        varchar2(64)                                             NULL,
+    workflow_id       number                                                   NOT NULL,
+    task_batch_status smallint      DEFAULT 0                                  NOT NULL,
+    operation_reason  smallint      DEFAULT 0                                  NOT NULL,
+    flow_info         clob          DEFAULT NULL                               NULL,
+    execution_at      number        DEFAULT 0                                  NOT NULL,
+    ext_attrs         varchar2(256) DEFAULT ''                                 NULL,
+    deleted           smallint      DEFAULT 0                                  NOT NULL,
+    create_dt         date          DEFAULT CURRENT_TIMESTAMP                  NOT NULL,
+    update_dt         date          DEFAULT CURRENT_TIMESTAMP                  NOT NULL
+);
+
+ALTER TABLE sj_workflow_task_batch
+    ADD CONSTRAINT pk_sj_workflow_task_batch PRIMARY KEY (id);
+
+CREATE INDEX idx_sj_workflow_task_batch_01 ON sj_workflow_task_batch (workflow_id, task_batch_status);
+CREATE INDEX idx_sj_workflow_task_batch_02 ON sj_workflow_task_batch (create_dt);
+CREATE INDEX idx_sj_workflow_task_batch_03 ON sj_workflow_task_batch (namespace_id, group_name);
+
+COMMENT ON COLUMN sj_workflow_task_batch.id IS '涓婚敭';
+COMMENT ON COLUMN sj_workflow_task_batch.namespace_id IS '鍛藉悕绌洪棿id';
+COMMENT ON COLUMN sj_workflow_task_batch.group_name IS '缁勫悕绉�';
+COMMENT ON COLUMN sj_workflow_task_batch.workflow_id IS '宸ヤ綔娴佷换鍔d';
+COMMENT ON COLUMN sj_workflow_task_batch.task_batch_status IS '浠诲姟鎵规鐘舵�� 0銆佸け璐� 1銆佹垚鍔�';
+COMMENT ON COLUMN sj_workflow_task_batch.operation_reason IS '鎿嶄綔鍘熷洜';
+COMMENT ON COLUMN sj_workflow_task_batch.flow_info IS '娴佺▼淇℃伅';
+COMMENT ON COLUMN sj_workflow_task_batch.execution_at IS '浠诲姟鎵ц鏃堕棿';
+COMMENT ON COLUMN sj_workflow_task_batch.ext_attrs IS '鎵╁睍瀛楁';
+COMMENT ON COLUMN sj_workflow_task_batch.deleted IS '閫昏緫鍒犻櫎 1銆佸垹闄�';
+COMMENT ON COLUMN sj_workflow_task_batch.create_dt IS '鍒涘缓鏃堕棿';
+COMMENT ON COLUMN sj_workflow_task_batch.update_dt IS '淇敼鏃堕棿';
+COMMENT ON TABLE sj_workflow_task_batch IS '宸ヤ綔娴佹壒娆�';
+
diff --git a/script/sql/postgres/easy_retry_postgre.sql b/script/sql/postgres/easy_retry_postgre.sql
deleted file mode 100644
index 58cd8ac..0000000
--- a/script/sql/postgres/easy_retry_postgre.sql
+++ /dev/null
@@ -1,807 +0,0 @@
--- 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 '浠诲姟淇℃伅';
-
-INSERT INTO er_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 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/postgres/postgres_ry_vue_5.X.sql b/script/sql/postgres/postgres_ry_vue_5.X.sql
index 7a5f1ee..9b2169e 100644
--- a/script/sql/postgres/postgres_ry_vue_5.X.sql
+++ b/script/sql/postgres/postgres_ry_vue_5.X.sql
@@ -454,8 +454,8 @@
 insert into sys_menu values('117',  'Admin鐩戞帶',   '2',   '5',  'Admin',            'monitor/admin/index',         '', '1', '0', 'C', '0', '0', 'monitor:admin:list',          'dashboard',     103, 1, now(), null, null, 'Admin鐩戞帶鑿滃崟');
 -- oss鑿滃崟
 insert into sys_menu values('118',  '鏂囦欢绠$悊',     '1',   '10', 'oss',              'system/oss/index',            '', '1', '0', 'C', '0', '0', 'system:oss:list',             'upload',        103, 1, now(), null, null, '鏂囦欢绠$悊鑿滃崟');
--- retry server鎺у埗鍙�
-insert into sys_menu values('120',  '浠诲姟璋冨害涓績',  '2',   '6',  'easyretry',     'monitor/easyretry/index',    '', '1', '0', 'C', '0', '0', 'monitor:easyretry:list',          'job',           103, 1, now(), null, null, 'EasyRetry鎺у埗鍙拌彍鍗�');
+-- snail-job server鎺у埗鍙�
+insert into sys_menu values('120',  '浠诲姟璋冨害涓績',  '2',   '6',  'snailjob',     'monitor/snailjob/index',    '', '1', '0', 'C', '0', '0', 'monitor:snailjob:list',          'job',           103, 1, now(), null, null, 'SnailJob鎺у埗鍙拌彍鍗�');
 
 -- 涓夌骇鑿滃崟
 insert into sys_menu values('500',  '鎿嶄綔鏃ュ織', '108', '1', 'operlog',    'monitor/operlog/index',    '', '1', '0', 'C', '0', '0', 'monitor:operlog:list',    'form',          103, 1, now(), null, null, '鎿嶄綔鏃ュ織鑿滃崟');
diff --git a/script/sql/postgres/snail_job_postgre.sql b/script/sql/postgres/snail_job_postgre.sql
new file mode 100644
index 0000000..30a871e
--- /dev/null
+++ b/script/sql/postgres/snail_job_postgre.sql
@@ -0,0 +1,825 @@
+/*
+ SnailJob Database Transfer Tool
+ Source Server Type    : MySQL
+ Target Server Type    : PostgreSQL
+ Date: 2024-05-13 22:49:34
+*/
+
+
+-- sj_namespace
+CREATE TABLE sj_namespace
+(
+    id          bigserial PRIMARY KEY,
+    name        varchar(64)  NOT NULL,
+    unique_id   varchar(64)  NOT NULL,
+    description varchar(256) NOT NULL 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_sj_namespace_01 ON sj_namespace (name);
+
+COMMENT ON COLUMN sj_namespace.id IS '涓婚敭';
+COMMENT ON COLUMN sj_namespace.name IS '鍚嶇О';
+COMMENT ON COLUMN sj_namespace.unique_id IS '鍞竴id';
+COMMENT ON COLUMN sj_namespace.description IS '鎻忚堪';
+COMMENT ON COLUMN sj_namespace.deleted IS '閫昏緫鍒犻櫎 1銆佸垹闄�';
+COMMENT ON COLUMN sj_namespace.create_dt IS '鍒涘缓鏃堕棿';
+COMMENT ON COLUMN sj_namespace.update_dt IS '淇敼鏃堕棿';
+COMMENT ON TABLE sj_namespace IS '鍛藉悕绌洪棿';
+
+INSERT INTO sj_namespace VALUES (1, 'Development', 'dev', '', 0, now(), now());
+INSERT INTO sj_namespace VALUES (2, 'Production', 'prod', '', 0, now(), now());
+
+-- sj_group_config
+CREATE TABLE sj_group_config
+(
+    id                bigserial PRIMARY KEY,
+    namespace_id      varchar(64)  NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a',
+    group_name        varchar(64)  NOT NULL DEFAULT '',
+    description       varchar(256) NOT NULL DEFAULT '',
+    token             varchar(64)  NOT NULL DEFAULT 'SJ_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_sj_group_config_01 ON sj_group_config (namespace_id, group_name);
+
+COMMENT ON COLUMN sj_group_config.id IS '涓婚敭';
+COMMENT ON COLUMN sj_group_config.namespace_id IS '鍛藉悕绌洪棿id';
+COMMENT ON COLUMN sj_group_config.group_name IS '缁勫悕绉�';
+COMMENT ON COLUMN sj_group_config.description IS '缁勬弿杩�';
+COMMENT ON COLUMN sj_group_config.token IS 'token';
+COMMENT ON COLUMN sj_group_config.group_status IS '缁勭姸鎬� 0銆佹湭鍚敤 1銆佸惎鐢�';
+COMMENT ON COLUMN sj_group_config.version IS '鐗堟湰鍙�';
+COMMENT ON COLUMN sj_group_config.group_partition IS '鍒嗗尯';
+COMMENT ON COLUMN sj_group_config.id_generator_mode IS '鍞竴id鐢熸垚妯″紡 榛樿鍙锋妯″紡';
+COMMENT ON COLUMN sj_group_config.init_scene IS '鏄惁鍒濆鍖栧満鏅� 0:鍚� 1:鏄�';
+COMMENT ON COLUMN sj_group_config.bucket_index IS 'bucket';
+COMMENT ON COLUMN sj_group_config.create_dt IS '鍒涘缓鏃堕棿';
+COMMENT ON COLUMN sj_group_config.update_dt IS '淇敼鏃堕棿';
+COMMENT ON TABLE sj_group_config IS '缁勯厤缃�';
+
+INSERT INTO sj_group_config VALUES (1, 'dev', 'ruoyi_group', '', 'SJ_cKqBTPzCsWA3VyuCfFoccmuIEGXjr5KT', 1, 1, 0, 1, 1, 4, now(), now());
+
+-- sj_notify_config
+CREATE TABLE sj_notify_config
+(
+    id                     bigserial PRIMARY KEY,
+    namespace_id           varchar(64)  NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a',
+    group_name             varchar(64)  NOT NULL,
+    business_id            varchar(64)  NOT NULL,
+    system_task_type       smallint     NOT NULL DEFAULT 3,
+    notify_status          smallint     NOT NULL DEFAULT 0,
+    recipient_ids          varchar(128) 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_sj_notify_config_01 ON sj_notify_config (namespace_id, group_name, business_id);
+
+COMMENT ON COLUMN sj_notify_config.id IS '涓婚敭';
+COMMENT ON COLUMN sj_notify_config.namespace_id IS '鍛藉悕绌洪棿id';
+COMMENT ON COLUMN sj_notify_config.group_name IS '缁勫悕绉�';
+COMMENT ON COLUMN sj_notify_config.business_id IS '涓氬姟id  ( job_id鎴杦orkflow_id鎴杝cene_name ) ';
+COMMENT ON COLUMN sj_notify_config.system_task_type IS '浠诲姟绫诲瀷 1. 閲嶈瘯浠诲姟 2. 閲嶈瘯鍥炶皟 3銆丣OB浠诲姟 4銆乄ORKFLOW浠诲姟';
+COMMENT ON COLUMN sj_notify_config.notify_status IS '閫氱煡鐘舵�� 0銆佹湭鍚敤 1銆佸惎鐢�';
+COMMENT ON COLUMN sj_notify_config.recipient_ids IS '鎺ユ敹浜篿d鍒楄〃';
+COMMENT ON COLUMN sj_notify_config.notify_threshold IS '閫氱煡闃堝��';
+COMMENT ON COLUMN sj_notify_config.notify_scene IS '閫氱煡鍦烘櫙';
+COMMENT ON COLUMN sj_notify_config.rate_limiter_status IS '闄愭祦鐘舵�� 0銆佹湭鍚敤 1銆佸惎鐢�';
+COMMENT ON COLUMN sj_notify_config.rate_limiter_threshold IS '姣忕闄愭祦闃堝��';
+COMMENT ON COLUMN sj_notify_config.description IS '鎻忚堪';
+COMMENT ON COLUMN sj_notify_config.create_dt IS '鍒涘缓鏃堕棿';
+COMMENT ON COLUMN sj_notify_config.update_dt IS '淇敼鏃堕棿';
+COMMENT ON TABLE sj_notify_config IS '閫氱煡閰嶇疆';
+
+-- sj_notify_recipient
+CREATE TABLE sj_notify_recipient
+(
+    id               bigserial PRIMARY KEY,
+    namespace_id     varchar(64)  NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a',
+    recipient_name   varchar(64)  NOT NULL,
+    notify_type      smallint     NOT NULL DEFAULT 0,
+    notify_attribute varchar(512) NOT NULL,
+    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_sj_notify_recipient_01 ON sj_notify_recipient (namespace_id);
+
+COMMENT ON COLUMN sj_notify_recipient.id IS '涓婚敭';
+COMMENT ON COLUMN sj_notify_recipient.namespace_id IS '鍛藉悕绌洪棿id';
+COMMENT ON COLUMN sj_notify_recipient.recipient_name IS '鎺ユ敹浜哄悕绉�';
+COMMENT ON COLUMN sj_notify_recipient.notify_type IS '閫氱煡绫诲瀷 1銆侀拤閽� 2銆侀偖浠� 3銆佷紒涓氬井淇� 4 椋炰功';
+COMMENT ON COLUMN sj_notify_recipient.notify_attribute IS '閰嶇疆灞炴��';
+COMMENT ON COLUMN sj_notify_recipient.description IS '鎻忚堪';
+COMMENT ON COLUMN sj_notify_recipient.create_dt IS '鍒涘缓鏃堕棿';
+COMMENT ON COLUMN sj_notify_recipient.update_dt IS '淇敼鏃堕棿';
+COMMENT ON TABLE sj_notify_recipient IS '鍛婅閫氱煡鎺ユ敹浜�';
+
+-- sj_retry_dead_letter_0
+CREATE TABLE sj_retry_dead_letter_0
+(
+    id            bigserial PRIMARY KEY,
+    namespace_id  varchar(64)  NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a',
+    unique_id     varchar(64)  NOT NULL,
+    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_sj_retry_dead_letter_0_01 ON sj_retry_dead_letter_0 (namespace_id, group_name, unique_id);
+
+CREATE INDEX idx_sj_retry_dead_letter_0_01 ON sj_retry_dead_letter_0 (namespace_id, group_name, scene_name);
+CREATE INDEX idx_sj_retry_dead_letter_0_02 ON sj_retry_dead_letter_0 (idempotent_id);
+CREATE INDEX idx_sj_retry_dead_letter_0_03 ON sj_retry_dead_letter_0 (biz_no);
+CREATE INDEX idx_sj_retry_dead_letter_0_04 ON sj_retry_dead_letter_0 (create_dt);
+
+COMMENT ON COLUMN sj_retry_dead_letter_0.id IS '涓婚敭';
+COMMENT ON COLUMN sj_retry_dead_letter_0.namespace_id IS '鍛藉悕绌洪棿id';
+COMMENT ON COLUMN sj_retry_dead_letter_0.unique_id IS '鍚岀粍涓媔d鍞竴';
+COMMENT ON COLUMN sj_retry_dead_letter_0.group_name IS '缁勫悕绉�';
+COMMENT ON COLUMN sj_retry_dead_letter_0.scene_name IS '鍦烘櫙鍚嶇О';
+COMMENT ON COLUMN sj_retry_dead_letter_0.idempotent_id IS '骞傜瓑id';
+COMMENT ON COLUMN sj_retry_dead_letter_0.biz_no IS '涓氬姟缂栧彿';
+COMMENT ON COLUMN sj_retry_dead_letter_0.executor_name IS '鎵ц鍣ㄥ悕绉�';
+COMMENT ON COLUMN sj_retry_dead_letter_0.args_str IS '鎵ц鏂规硶鍙傛暟';
+COMMENT ON COLUMN sj_retry_dead_letter_0.ext_attrs IS '鎵╁睍瀛楁';
+COMMENT ON COLUMN sj_retry_dead_letter_0.task_type IS '浠诲姟绫诲瀷 1銆侀噸璇曟暟鎹� 2銆佸洖璋冩暟鎹�';
+COMMENT ON COLUMN sj_retry_dead_letter_0.create_dt IS '鍒涘缓鏃堕棿';
+COMMENT ON TABLE sj_retry_dead_letter_0 IS '姝讳俊闃熷垪琛�';
+
+-- sj_retry_task_0
+CREATE TABLE sj_retry_task_0
+(
+    id              bigserial PRIMARY KEY,
+    namespace_id    varchar(64)  NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a',
+    unique_id       varchar(64)  NOT NULL,
+    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_sj_retry_task_0_01 ON sj_retry_task_0 (namespace_id, group_name, unique_id);
+
+CREATE INDEX idx_sj_retry_task_0_01 ON sj_retry_task_0 (namespace_id, group_name, scene_name);
+CREATE INDEX idx_sj_retry_task_0_02 ON sj_retry_task_0 (namespace_id, group_name, task_type);
+CREATE INDEX idx_sj_retry_task_0_03 ON sj_retry_task_0 (namespace_id, group_name, retry_status);
+CREATE INDEX idx_sj_retry_task_0_04 ON sj_retry_task_0 (idempotent_id);
+CREATE INDEX idx_sj_retry_task_0_05 ON sj_retry_task_0 (biz_no);
+CREATE INDEX idx_sj_retry_task_0_06 ON sj_retry_task_0 (create_dt);
+
+COMMENT ON COLUMN sj_retry_task_0.id IS '涓婚敭';
+COMMENT ON COLUMN sj_retry_task_0.namespace_id IS '鍛藉悕绌洪棿id';
+COMMENT ON COLUMN sj_retry_task_0.unique_id IS '鍚岀粍涓媔d鍞竴';
+COMMENT ON COLUMN sj_retry_task_0.group_name IS '缁勫悕绉�';
+COMMENT ON COLUMN sj_retry_task_0.scene_name IS '鍦烘櫙鍚嶇О';
+COMMENT ON COLUMN sj_retry_task_0.idempotent_id IS '骞傜瓑id';
+COMMENT ON COLUMN sj_retry_task_0.biz_no IS '涓氬姟缂栧彿';
+COMMENT ON COLUMN sj_retry_task_0.executor_name IS '鎵ц鍣ㄥ悕绉�';
+COMMENT ON COLUMN sj_retry_task_0.args_str IS '鎵ц鏂规硶鍙傛暟';
+COMMENT ON COLUMN sj_retry_task_0.ext_attrs IS '鎵╁睍瀛楁';
+COMMENT ON COLUMN sj_retry_task_0.next_trigger_at IS '涓嬫瑙﹀彂鏃堕棿';
+COMMENT ON COLUMN sj_retry_task_0.retry_count IS '閲嶈瘯娆℃暟';
+COMMENT ON COLUMN sj_retry_task_0.retry_status IS '閲嶈瘯鐘舵�� 0銆侀噸璇曚腑 1銆佹垚鍔� 2銆佹渶澶ч噸璇曟鏁�';
+COMMENT ON COLUMN sj_retry_task_0.task_type IS '浠诲姟绫诲瀷 1銆侀噸璇曟暟鎹� 2銆佸洖璋冩暟鎹�';
+COMMENT ON COLUMN sj_retry_task_0.create_dt IS '鍒涘缓鏃堕棿';
+COMMENT ON COLUMN sj_retry_task_0.update_dt IS '淇敼鏃堕棿';
+COMMENT ON TABLE sj_retry_task_0 IS '浠诲姟琛�';
+
+-- sj_retry_task_log
+CREATE TABLE sj_retry_task_log
+(
+    id            bigserial PRIMARY KEY,
+    namespace_id  varchar(64)  NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a',
+    unique_id     varchar(64)  NOT NULL,
+    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_sj_retry_task_log_01 ON sj_retry_task_log (namespace_id, group_name, scene_name);
+CREATE INDEX idx_sj_retry_task_log_02 ON sj_retry_task_log (retry_status);
+CREATE INDEX idx_sj_retry_task_log_03 ON sj_retry_task_log (idempotent_id);
+CREATE INDEX idx_sj_retry_task_log_04 ON sj_retry_task_log (unique_id);
+CREATE INDEX idx_sj_retry_task_log_05 ON sj_retry_task_log (biz_no);
+CREATE INDEX idx_sj_retry_task_log_06 ON sj_retry_task_log (create_dt);
+
+COMMENT ON COLUMN sj_retry_task_log.id IS '涓婚敭';
+COMMENT ON COLUMN sj_retry_task_log.namespace_id IS '鍛藉悕绌洪棿id';
+COMMENT ON COLUMN sj_retry_task_log.unique_id IS '鍚岀粍涓媔d鍞竴';
+COMMENT ON COLUMN sj_retry_task_log.group_name IS '缁勫悕绉�';
+COMMENT ON COLUMN sj_retry_task_log.scene_name IS '鍦烘櫙鍚嶇О';
+COMMENT ON COLUMN sj_retry_task_log.idempotent_id IS '骞傜瓑id';
+COMMENT ON COLUMN sj_retry_task_log.biz_no IS '涓氬姟缂栧彿';
+COMMENT ON COLUMN sj_retry_task_log.executor_name IS '鎵ц鍣ㄥ悕绉�';
+COMMENT ON COLUMN sj_retry_task_log.args_str IS '鎵ц鏂规硶鍙傛暟';
+COMMENT ON COLUMN sj_retry_task_log.ext_attrs IS '鎵╁睍瀛楁';
+COMMENT ON COLUMN sj_retry_task_log.retry_status IS '閲嶈瘯鐘舵�� 0銆侀噸璇曚腑 1銆佹垚鍔� 2銆佹渶澶ф鏁�';
+COMMENT ON COLUMN sj_retry_task_log.task_type IS '浠诲姟绫诲瀷 1銆侀噸璇曟暟鎹� 2銆佸洖璋冩暟鎹�';
+COMMENT ON COLUMN sj_retry_task_log.create_dt IS '鍒涘缓鏃堕棿';
+COMMENT ON COLUMN sj_retry_task_log.update_dt IS '淇敼鏃堕棿';
+COMMENT ON TABLE sj_retry_task_log IS '浠诲姟鏃ュ織鍩虹淇℃伅琛�';
+
+-- sj_retry_task_log_message
+CREATE TABLE sj_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,
+    message      text        NOT NULL,
+    log_num      int         NOT NULL DEFAULT 1,
+    real_time    bigint      NOT NULL DEFAULT 0,
+    create_dt    timestamp   NOT NULL DEFAULT CURRENT_TIMESTAMP
+);
+
+CREATE INDEX idx_sj_retry_task_log_message_01 ON sj_retry_task_log_message (namespace_id, group_name, unique_id);
+CREATE INDEX idx_sj_retry_task_log_message_02 ON sj_retry_task_log_message (create_dt);
+
+COMMENT ON COLUMN sj_retry_task_log_message.id IS '涓婚敭';
+COMMENT ON COLUMN sj_retry_task_log_message.namespace_id IS '鍛藉悕绌洪棿id';
+COMMENT ON COLUMN sj_retry_task_log_message.group_name IS '缁勫悕绉�';
+COMMENT ON COLUMN sj_retry_task_log_message.unique_id IS '鍚岀粍涓媔d鍞竴';
+COMMENT ON COLUMN sj_retry_task_log_message.message IS '寮傚父淇℃伅';
+COMMENT ON COLUMN sj_retry_task_log_message.log_num IS '鏃ュ織鏁伴噺';
+COMMENT ON COLUMN sj_retry_task_log_message.real_time IS '涓婃姤鏃堕棿';
+COMMENT ON COLUMN sj_retry_task_log_message.create_dt IS '鍒涘缓鏃堕棿';
+COMMENT ON TABLE sj_retry_task_log_message IS '浠诲姟璋冨害鏃ュ織淇℃伅璁板綍琛�';
+
+-- sj_retry_scene_config
+CREATE TABLE sj_retry_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,
+    executor_timeout int          NOT NULL DEFAULT 5,
+    route_key        smallint     NOT NULL DEFAULT 4,
+    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_sj_retry_scene_config_01 ON sj_retry_scene_config (namespace_id, group_name, scene_name);
+
+COMMENT ON COLUMN sj_retry_scene_config.id IS '涓婚敭';
+COMMENT ON COLUMN sj_retry_scene_config.namespace_id IS '鍛藉悕绌洪棿id';
+COMMENT ON COLUMN sj_retry_scene_config.scene_name IS '鍦烘櫙鍚嶇О';
+COMMENT ON COLUMN sj_retry_scene_config.group_name IS '缁勫悕绉�';
+COMMENT ON COLUMN sj_retry_scene_config.scene_status IS '缁勭姸鎬� 0銆佹湭鍚敤 1銆佸惎鐢�';
+COMMENT ON COLUMN sj_retry_scene_config.max_retry_count IS '鏈�澶ч噸璇曟鏁�';
+COMMENT ON COLUMN sj_retry_scene_config.back_off IS '1銆侀粯璁ょ瓑绾� 2銆佸浐瀹氶棿闅旀椂闂� 3銆丆RON 琛ㄨ揪寮�';
+COMMENT ON COLUMN sj_retry_scene_config.trigger_interval IS '闂撮殧鏃堕暱';
+COMMENT ON COLUMN sj_retry_scene_config.deadline_request IS 'Deadline Request 璋冪敤閾捐秴鏃� 鍗曚綅姣';
+COMMENT ON COLUMN sj_retry_scene_config.executor_timeout IS '浠诲姟鎵ц瓒呮椂鏃堕棿锛屽崟浣嶇';
+COMMENT ON COLUMN sj_retry_scene_config.route_key IS '璺敱绛栫暐';
+COMMENT ON COLUMN sj_retry_scene_config.description IS '鎻忚堪';
+COMMENT ON COLUMN sj_retry_scene_config.create_dt IS '鍒涘缓鏃堕棿';
+COMMENT ON COLUMN sj_retry_scene_config.update_dt IS '淇敼鏃堕棿';
+COMMENT ON TABLE sj_retry_scene_config IS '鍦烘櫙閰嶇疆';
+
+-- sj_server_node
+CREATE TABLE sj_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,
+    host_port    int          NOT NULL,
+    expire_at    timestamp    NOT NULL,
+    node_type    smallint     NOT NULL,
+    ext_attrs    varchar(256) NULL     DEFAULT '',
+    create_dt    timestamp    NOT NULL DEFAULT CURRENT_TIMESTAMP,
+    update_dt    timestamp    NOT NULL DEFAULT CURRENT_TIMESTAMP
+);
+
+CREATE UNIQUE INDEX uk_sj_server_node_01 ON sj_server_node (host_id, host_ip);
+
+CREATE INDEX idx_sj_server_node_01 ON sj_server_node (namespace_id, group_name);
+CREATE INDEX idx_sj_server_node_02 ON sj_server_node (expire_at, node_type);
+
+COMMENT ON COLUMN sj_server_node.id IS '涓婚敭';
+COMMENT ON COLUMN sj_server_node.namespace_id IS '鍛藉悕绌洪棿id';
+COMMENT ON COLUMN sj_server_node.group_name IS '缁勫悕绉�';
+COMMENT ON COLUMN sj_server_node.host_id IS '涓绘満id';
+COMMENT ON COLUMN sj_server_node.host_ip IS '鏈哄櫒ip';
+COMMENT ON COLUMN sj_server_node.host_port IS '鏈哄櫒绔彛';
+COMMENT ON COLUMN sj_server_node.expire_at IS '杩囨湡鏃堕棿';
+COMMENT ON COLUMN sj_server_node.node_type IS '鑺傜偣绫诲瀷 1銆佸鎴风 2銆佹槸鏈嶅姟绔�';
+COMMENT ON COLUMN sj_server_node.ext_attrs IS '鎵╁睍瀛楁';
+COMMENT ON COLUMN sj_server_node.create_dt IS '鍒涘缓鏃堕棿';
+COMMENT ON COLUMN sj_server_node.update_dt IS '淇敼鏃堕棿';
+COMMENT ON TABLE sj_server_node IS '鏈嶅姟鍣ㄨ妭鐐�';
+
+-- sj_distributed_lock
+CREATE TABLE sj_distributed_lock
+(
+    id         bigserial PRIMARY KEY,
+    name       varchar(64)  NOT NULL,
+    lock_until timestamp(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
+    locked_at  timestamp(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3),
+    locked_by  varchar(255) NOT NULL,
+    create_dt  timestamp    NOT NULL DEFAULT CURRENT_TIMESTAMP,
+    update_dt  timestamp    NOT NULL DEFAULT CURRENT_TIMESTAMP
+);
+
+COMMENT ON COLUMN sj_distributed_lock.id IS '涓婚敭';
+COMMENT ON COLUMN sj_distributed_lock.name IS '閿佸悕绉�';
+COMMENT ON COLUMN sj_distributed_lock.lock_until IS '閿佸畾鏃堕暱';
+COMMENT ON COLUMN sj_distributed_lock.locked_at IS '閿佸畾鏃堕棿';
+COMMENT ON COLUMN sj_distributed_lock.locked_by IS '閿佸畾鑰�';
+COMMENT ON COLUMN sj_distributed_lock.create_dt IS '鍒涘缓鏃堕棿';
+COMMENT ON COLUMN sj_distributed_lock.update_dt IS '淇敼鏃堕棿';
+COMMENT ON TABLE sj_distributed_lock IS '閿佸畾琛�';
+
+-- sj_system_user
+CREATE TABLE sj_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
+);
+
+COMMENT ON COLUMN sj_system_user.id IS '涓婚敭';
+COMMENT ON COLUMN sj_system_user.username IS '璐﹀彿';
+COMMENT ON COLUMN sj_system_user.password IS '瀵嗙爜';
+COMMENT ON COLUMN sj_system_user.role IS '瑙掕壊锛�1-鏅�氱敤鎴枫��2-绠$悊鍛�';
+COMMENT ON COLUMN sj_system_user.create_dt IS '鍒涘缓鏃堕棿';
+COMMENT ON COLUMN sj_system_user.update_dt IS '淇敼鏃堕棿';
+COMMENT ON TABLE sj_system_user IS '绯荤粺鐢ㄦ埛琛�';
+
+-- pwd: admin
+INSERT INTO sj_system_user VALUES (1, 'admin', '465c194afb65670f38322df087f0a9bb225cc257e43eb4ac5a0c98ef5b3173ac', 2, now(), now());
+
+-- sj_system_user_permission
+CREATE TABLE sj_system_user_permission
+(
+    id             bigserial PRIMARY KEY,
+    group_name     varchar(64) NOT NULL,
+    namespace_id   varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a',
+    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_sj_system_user_permission_01 ON sj_system_user_permission (namespace_id, group_name, system_user_id);
+
+COMMENT ON COLUMN sj_system_user_permission.id IS '涓婚敭';
+COMMENT ON COLUMN sj_system_user_permission.group_name IS '缁勫悕绉�';
+COMMENT ON COLUMN sj_system_user_permission.namespace_id IS '鍛藉悕绌洪棿id';
+COMMENT ON COLUMN sj_system_user_permission.system_user_id IS '绯荤粺鐢ㄦ埛id';
+COMMENT ON COLUMN sj_system_user_permission.create_dt IS '鍒涘缓鏃堕棿';
+COMMENT ON COLUMN sj_system_user_permission.update_dt IS '淇敼鏃堕棿';
+COMMENT ON TABLE sj_system_user_permission IS '绯荤粺鐢ㄦ埛鏉冮檺琛�';
+
+-- sj_sequence_alloc
+CREATE TABLE sj_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_sj_sequence_alloc_01 ON sj_sequence_alloc (namespace_id, group_name);
+
+COMMENT ON COLUMN sj_sequence_alloc.id IS '涓婚敭';
+COMMENT ON COLUMN sj_sequence_alloc.namespace_id IS '鍛藉悕绌洪棿id';
+COMMENT ON COLUMN sj_sequence_alloc.group_name IS '缁勫悕绉�';
+COMMENT ON COLUMN sj_sequence_alloc.max_id IS '鏈�澶d';
+COMMENT ON COLUMN sj_sequence_alloc.step IS '姝ラ暱';
+COMMENT ON COLUMN sj_sequence_alloc.update_dt IS '鏇存柊鏃堕棿';
+COMMENT ON TABLE sj_sequence_alloc IS '鍙锋妯″紡搴忓彿ID鍒嗛厤琛�';
+
+-- sj_job
+CREATE TABLE sj_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         NULL     DEFAULT NULL,
+    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) NULL     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) NULL     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_sj_job_01 ON sj_job (namespace_id, group_name);
+CREATE INDEX idx_sj_job_02 ON sj_job (job_status, bucket_index);
+CREATE INDEX idx_sj_job_03 ON sj_job (create_dt);
+
+COMMENT ON COLUMN sj_job.id IS '涓婚敭';
+COMMENT ON COLUMN sj_job.namespace_id IS '鍛藉悕绌洪棿id';
+COMMENT ON COLUMN sj_job.group_name IS '缁勫悕绉�';
+COMMENT ON COLUMN sj_job.job_name IS '鍚嶇О';
+COMMENT ON COLUMN sj_job.args_str IS '鎵ц鏂规硶鍙傛暟';
+COMMENT ON COLUMN sj_job.args_type IS '鍙傛暟绫诲瀷 ';
+COMMENT ON COLUMN sj_job.next_trigger_at IS '涓嬫瑙﹀彂鏃堕棿';
+COMMENT ON COLUMN sj_job.job_status IS '浠诲姟鐘舵�� 0銆佸叧闂��1銆佸紑鍚�';
+COMMENT ON COLUMN sj_job.task_type IS '浠诲姟绫诲瀷 1銆侀泦缇� 2銆佸箍鎾� 3銆佸垏鐗�';
+COMMENT ON COLUMN sj_job.route_key IS '璺敱绛栫暐';
+COMMENT ON COLUMN sj_job.executor_type IS '鎵ц鍣ㄧ被鍨�';
+COMMENT ON COLUMN sj_job.executor_info IS '鎵ц鍣ㄥ悕绉�';
+COMMENT ON COLUMN sj_job.trigger_type IS '瑙﹀彂绫诲瀷 1.CRON 琛ㄨ揪寮� 2. 鍥哄畾鏃堕棿';
+COMMENT ON COLUMN sj_job.trigger_interval IS '闂撮殧鏃堕暱';
+COMMENT ON COLUMN sj_job.block_strategy IS '闃诲绛栫暐 1銆佷涪寮� 2銆佽鐩� 3銆佸苟琛�';
+COMMENT ON COLUMN sj_job.executor_timeout IS '浠诲姟鎵ц瓒呮椂鏃堕棿锛屽崟浣嶇';
+COMMENT ON COLUMN sj_job.max_retry_times IS '鏈�澶ч噸璇曟鏁�';
+COMMENT ON COLUMN sj_job.parallel_num IS '骞惰鏁�';
+COMMENT ON COLUMN sj_job.retry_interval IS '閲嶈瘯闂撮殧 ( s ) ';
+COMMENT ON COLUMN sj_job.bucket_index IS 'bucket';
+COMMENT ON COLUMN sj_job.resident IS '鏄惁鏄父椹讳换鍔�';
+COMMENT ON COLUMN sj_job.description IS '鎻忚堪';
+COMMENT ON COLUMN sj_job.ext_attrs IS '鎵╁睍瀛楁';
+COMMENT ON COLUMN sj_job.deleted IS '閫昏緫鍒犻櫎 1銆佸垹闄�';
+COMMENT ON COLUMN sj_job.create_dt IS '鍒涘缓鏃堕棿';
+COMMENT ON COLUMN sj_job.update_dt IS '淇敼鏃堕棿';
+COMMENT ON TABLE sj_job IS '浠诲姟淇℃伅';
+
+INSERT INTO sj_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, '', '', 0, now(), now());
+
+-- sj_job_log_message
+CREATE TABLE sj_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) NULL     DEFAULT '',
+    create_dt     timestamp    NOT NULL DEFAULT CURRENT_TIMESTAMP
+);
+
+CREATE INDEX idx_sj_job_log_message_01 ON sj_job_log_message (task_batch_id, task_id);
+CREATE INDEX idx_sj_job_log_message_02 ON sj_job_log_message (create_dt);
+CREATE INDEX idx_sj_job_log_message_03 ON sj_job_log_message (namespace_id, group_name);
+
+COMMENT ON COLUMN sj_job_log_message.id IS '涓婚敭';
+COMMENT ON COLUMN sj_job_log_message.namespace_id IS '鍛藉悕绌洪棿id';
+COMMENT ON COLUMN sj_job_log_message.group_name IS '缁勫悕绉�';
+COMMENT ON COLUMN sj_job_log_message.job_id IS '浠诲姟淇℃伅id';
+COMMENT ON COLUMN sj_job_log_message.task_batch_id IS '浠诲姟鎵规id';
+COMMENT ON COLUMN sj_job_log_message.task_id IS '璋冨害浠诲姟id';
+COMMENT ON COLUMN sj_job_log_message.message IS '璋冨害淇℃伅';
+COMMENT ON COLUMN sj_job_log_message.log_num IS '鏃ュ織鏁伴噺';
+COMMENT ON COLUMN sj_job_log_message.real_time IS '涓婃姤鏃堕棿';
+COMMENT ON COLUMN sj_job_log_message.ext_attrs IS '鎵╁睍瀛楁';
+COMMENT ON COLUMN sj_job_log_message.create_dt IS '鍒涘缓鏃堕棿';
+COMMENT ON TABLE sj_job_log_message IS '璋冨害鏃ュ織';
+
+-- sj_job_task
+CREATE TABLE sj_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) NULL     DEFAULT NULL,
+    result_message text         NOT NULL,
+    args_str       text         NULL     DEFAULT NULL,
+    args_type      smallint     NOT NULL DEFAULT 1,
+    ext_attrs      varchar(256) NULL     DEFAULT '',
+    create_dt      timestamp    NOT NULL DEFAULT CURRENT_TIMESTAMP,
+    update_dt      timestamp    NOT NULL DEFAULT CURRENT_TIMESTAMP
+);
+
+CREATE INDEX idx_sj_job_task_01 ON sj_job_task (task_batch_id, task_status);
+CREATE INDEX idx_sj_job_task_02 ON sj_job_task (create_dt);
+CREATE INDEX idx_sj_job_task_03 ON sj_job_task (namespace_id, group_name);
+
+COMMENT ON COLUMN sj_job_task.id IS '涓婚敭';
+COMMENT ON COLUMN sj_job_task.namespace_id IS '鍛藉悕绌洪棿id';
+COMMENT ON COLUMN sj_job_task.group_name IS '缁勫悕绉�';
+COMMENT ON COLUMN sj_job_task.job_id IS '浠诲姟淇℃伅id';
+COMMENT ON COLUMN sj_job_task.task_batch_id IS '璋冨害浠诲姟id';
+COMMENT ON COLUMN sj_job_task.parent_id IS '鐖舵墽琛屽櫒id';
+COMMENT ON COLUMN sj_job_task.task_status IS '鎵ц鐨勭姸鎬� 0銆佸け璐� 1銆佹垚鍔�';
+COMMENT ON COLUMN sj_job_task.retry_count IS '閲嶈瘯娆℃暟';
+COMMENT ON COLUMN sj_job_task.client_info IS '瀹㈡埛绔湴鍧� clientId#ip:port';
+COMMENT ON COLUMN sj_job_task.result_message IS '鎵ц缁撴灉';
+COMMENT ON COLUMN sj_job_task.args_str IS '鎵ц鏂规硶鍙傛暟';
+COMMENT ON COLUMN sj_job_task.args_type IS '鍙傛暟绫诲瀷 ';
+COMMENT ON COLUMN sj_job_task.ext_attrs IS '鎵╁睍瀛楁';
+COMMENT ON COLUMN sj_job_task.create_dt IS '鍒涘缓鏃堕棿';
+COMMENT ON COLUMN sj_job_task.update_dt IS '淇敼鏃堕棿';
+COMMENT ON TABLE sj_job_task IS '浠诲姟瀹炰緥';
+
+-- sj_job_task_batch
+CREATE TABLE sj_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,
+    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,
+    parent_id               varchar(64)  NOT NULL DEFAULT '',
+    ext_attrs               varchar(256) NULL     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_sj_job_task_batch_01 ON sj_job_task_batch (job_id, task_batch_status);
+CREATE INDEX idx_sj_job_task_batch_02 ON sj_job_task_batch (create_dt);
+CREATE INDEX idx_sj_job_task_batch_03 ON sj_job_task_batch (namespace_id, group_name);
+CREATE INDEX idx_sj_job_task_batch_04 ON sj_job_task_batch (workflow_task_batch_id, workflow_node_id);
+
+COMMENT ON COLUMN sj_job_task_batch.id IS '涓婚敭';
+COMMENT ON COLUMN sj_job_task_batch.namespace_id IS '鍛藉悕绌洪棿id';
+COMMENT ON COLUMN sj_job_task_batch.group_name IS '缁勫悕绉�';
+COMMENT ON COLUMN sj_job_task_batch.job_id IS '浠诲姟id';
+COMMENT ON COLUMN sj_job_task_batch.workflow_node_id IS '宸ヤ綔娴佽妭鐐筰d';
+COMMENT ON COLUMN sj_job_task_batch.parent_workflow_node_id IS '宸ヤ綔娴佷换鍔$埗鎵规id';
+COMMENT ON COLUMN sj_job_task_batch.workflow_task_batch_id IS '宸ヤ綔娴佷换鍔℃壒娆d';
+COMMENT ON COLUMN sj_job_task_batch.task_batch_status IS '浠诲姟鎵规鐘舵�� 0銆佸け璐� 1銆佹垚鍔�';
+COMMENT ON COLUMN sj_job_task_batch.operation_reason IS '鎿嶄綔鍘熷洜';
+COMMENT ON COLUMN sj_job_task_batch.execution_at IS '浠诲姟鎵ц鏃堕棿';
+COMMENT ON COLUMN sj_job_task_batch.system_task_type IS '浠诲姟绫诲瀷 3銆丣OB浠诲姟 4銆乄ORKFLOW浠诲姟';
+COMMENT ON COLUMN sj_job_task_batch.parent_id IS '鐖惰妭鐐�';
+COMMENT ON COLUMN sj_job_task_batch.ext_attrs IS '鎵╁睍瀛楁';
+COMMENT ON COLUMN sj_job_task_batch.deleted IS '閫昏緫鍒犻櫎 1銆佸垹闄�';
+COMMENT ON COLUMN sj_job_task_batch.create_dt IS '鍒涘缓鏃堕棿';
+COMMENT ON COLUMN sj_job_task_batch.update_dt IS '淇敼鏃堕棿';
+COMMENT ON TABLE sj_job_task_batch IS '浠诲姟鎵规';
+
+-- sj_job_summary
+CREATE TABLE sj_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_sj_job_summary_01 ON sj_job_summary (trigger_at, system_task_type, business_id);
+
+CREATE INDEX idx_sj_job_summary_01 ON sj_job_summary (namespace_id, group_name, business_id);
+
+COMMENT ON COLUMN sj_job_summary.id IS '涓婚敭';
+COMMENT ON COLUMN sj_job_summary.namespace_id IS '鍛藉悕绌洪棿id';
+COMMENT ON COLUMN sj_job_summary.group_name IS '缁勫悕绉�';
+COMMENT ON COLUMN sj_job_summary.business_id IS '涓氬姟id  ( job_id鎴杦orkflow_id ) ';
+COMMENT ON COLUMN sj_job_summary.system_task_type IS '浠诲姟绫诲瀷 3銆丣OB浠诲姟 4銆乄ORKFLOW浠诲姟';
+COMMENT ON COLUMN sj_job_summary.trigger_at IS '缁熻鏃堕棿';
+COMMENT ON COLUMN sj_job_summary.success_num IS '鎵ц鎴愬姛-鏃ュ織鏁伴噺';
+COMMENT ON COLUMN sj_job_summary.fail_num IS '鎵ц澶辫触-鏃ュ織鏁伴噺';
+COMMENT ON COLUMN sj_job_summary.fail_reason IS '澶辫触鍘熷洜';
+COMMENT ON COLUMN sj_job_summary.stop_num IS '鎵ц澶辫触-鏃ュ織鏁伴噺';
+COMMENT ON COLUMN sj_job_summary.stop_reason IS '澶辫触鍘熷洜';
+COMMENT ON COLUMN sj_job_summary.cancel_num IS '鎵ц澶辫触-鏃ュ織鏁伴噺';
+COMMENT ON COLUMN sj_job_summary.cancel_reason IS '澶辫触鍘熷洜';
+COMMENT ON COLUMN sj_job_summary.create_dt IS '鍒涘缓鏃堕棿';
+COMMENT ON COLUMN sj_job_summary.update_dt IS '淇敼鏃堕棿';
+COMMENT ON TABLE sj_job_summary IS 'DashBoard_Job';
+
+-- sj_retry_summary
+CREATE TABLE sj_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_sj_retry_summary_01 ON sj_retry_summary (namespace_id, group_name, scene_name, trigger_at);
+
+CREATE INDEX idx_sj_retry_summary_01 ON sj_retry_summary (trigger_at);
+
+COMMENT ON COLUMN sj_retry_summary.id IS '涓婚敭';
+COMMENT ON COLUMN sj_retry_summary.namespace_id IS '鍛藉悕绌洪棿id';
+COMMENT ON COLUMN sj_retry_summary.group_name IS '缁勫悕绉�';
+COMMENT ON COLUMN sj_retry_summary.scene_name IS '鍦烘櫙鍚嶇О';
+COMMENT ON COLUMN sj_retry_summary.trigger_at IS '缁熻鏃堕棿';
+COMMENT ON COLUMN sj_retry_summary.running_num IS '閲嶈瘯涓�-鏃ュ織鏁伴噺';
+COMMENT ON COLUMN sj_retry_summary.finish_num IS '閲嶈瘯瀹屾垚-鏃ュ織鏁伴噺';
+COMMENT ON COLUMN sj_retry_summary.max_count_num IS '閲嶈瘯鍒拌揪鏈�澶ф鏁�-鏃ュ織鏁伴噺';
+COMMENT ON COLUMN sj_retry_summary.suspend_num IS '鏆傚仠閲嶈瘯-鏃ュ織鏁伴噺';
+COMMENT ON COLUMN sj_retry_summary.create_dt IS '鍒涘缓鏃堕棿';
+COMMENT ON COLUMN sj_retry_summary.update_dt IS '淇敼鏃堕棿';
+COMMENT ON TABLE sj_retry_summary IS 'DashBoard_Retry';
+
+-- sj_workflow
+CREATE TABLE sj_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         NULL     DEFAULT NULL,
+    bucket_index     int          NOT NULL DEFAULT 0,
+    version          int          NOT NULL,
+    ext_attrs        varchar(256) NULL     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_sj_workflow_01 ON sj_workflow (create_dt);
+CREATE INDEX idx_sj_workflow_02 ON sj_workflow (namespace_id, group_name);
+
+COMMENT ON COLUMN sj_workflow.id IS '涓婚敭';
+COMMENT ON COLUMN sj_workflow.workflow_name IS '宸ヤ綔娴佸悕绉�';
+COMMENT ON COLUMN sj_workflow.namespace_id IS '鍛藉悕绌洪棿id';
+COMMENT ON COLUMN sj_workflow.group_name IS '缁勫悕绉�';
+COMMENT ON COLUMN sj_workflow.workflow_status IS '宸ヤ綔娴佺姸鎬� 0銆佸叧闂��1銆佸紑鍚�';
+COMMENT ON COLUMN sj_workflow.trigger_type IS '瑙﹀彂绫诲瀷 1.CRON 琛ㄨ揪寮� 2. 鍥哄畾鏃堕棿';
+COMMENT ON COLUMN sj_workflow.trigger_interval IS '闂撮殧鏃堕暱';
+COMMENT ON COLUMN sj_workflow.next_trigger_at IS '涓嬫瑙﹀彂鏃堕棿';
+COMMENT ON COLUMN sj_workflow.block_strategy IS '闃诲绛栫暐 1銆佷涪寮� 2銆佽鐩� 3銆佸苟琛�';
+COMMENT ON COLUMN sj_workflow.executor_timeout IS '浠诲姟鎵ц瓒呮椂鏃堕棿锛屽崟浣嶇';
+COMMENT ON COLUMN sj_workflow.description IS '鎻忚堪';
+COMMENT ON COLUMN sj_workflow.flow_info IS '娴佺▼淇℃伅';
+COMMENT ON COLUMN sj_workflow.bucket_index IS 'bucket';
+COMMENT ON COLUMN sj_workflow.version IS '鐗堟湰鍙�';
+COMMENT ON COLUMN sj_workflow.ext_attrs IS '鎵╁睍瀛楁';
+COMMENT ON COLUMN sj_workflow.deleted IS '閫昏緫鍒犻櫎 1銆佸垹闄�';
+COMMENT ON COLUMN sj_workflow.create_dt IS '鍒涘缓鏃堕棿';
+COMMENT ON COLUMN sj_workflow.update_dt IS '淇敼鏃堕棿';
+COMMENT ON TABLE sj_workflow IS '宸ヤ綔娴�';
+
+-- sj_workflow_node
+CREATE TABLE sj_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         NULL     DEFAULT NULL,
+    version              int          NOT NULL,
+    ext_attrs            varchar(256) NULL     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_sj_workflow_node_01 ON sj_workflow_node (create_dt);
+CREATE INDEX idx_sj_workflow_node_02 ON sj_workflow_node (namespace_id, group_name);
+
+COMMENT ON COLUMN sj_workflow_node.id IS '涓婚敭';
+COMMENT ON COLUMN sj_workflow_node.namespace_id IS '鍛藉悕绌洪棿id';
+COMMENT ON COLUMN sj_workflow_node.node_name IS '鑺傜偣鍚嶇О';
+COMMENT ON COLUMN sj_workflow_node.group_name IS '缁勫悕绉�';
+COMMENT ON COLUMN sj_workflow_node.job_id IS '浠诲姟淇℃伅id';
+COMMENT ON COLUMN sj_workflow_node.workflow_id IS '宸ヤ綔娴両D';
+COMMENT ON COLUMN sj_workflow_node.node_type IS '1銆佷换鍔¤妭鐐� 2銆佹潯浠惰妭鐐�';
+COMMENT ON COLUMN sj_workflow_node.expression_type IS '1銆丼pEl銆�2銆丄viator 3銆丵L';
+COMMENT ON COLUMN sj_workflow_node.fail_strategy IS '澶辫触绛栫暐 1銆佽烦杩� 2銆侀樆濉�';
+COMMENT ON COLUMN sj_workflow_node.workflow_node_status IS '宸ヤ綔娴佽妭鐐圭姸鎬� 0銆佸叧闂��1銆佸紑鍚�';
+COMMENT ON COLUMN sj_workflow_node.priority_level IS '浼樺厛绾�';
+COMMENT ON COLUMN sj_workflow_node.node_info IS '鑺傜偣淇℃伅 ';
+COMMENT ON COLUMN sj_workflow_node.version IS '鐗堟湰鍙�';
+COMMENT ON COLUMN sj_workflow_node.ext_attrs IS '鎵╁睍瀛楁';
+COMMENT ON COLUMN sj_workflow_node.deleted IS '閫昏緫鍒犻櫎 1銆佸垹闄�';
+COMMENT ON COLUMN sj_workflow_node.create_dt IS '鍒涘缓鏃堕棿';
+COMMENT ON COLUMN sj_workflow_node.update_dt IS '淇敼鏃堕棿';
+COMMENT ON TABLE sj_workflow_node IS '宸ヤ綔娴佽妭鐐�';
+
+-- sj_workflow_task_batch
+CREATE TABLE sj_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         NULL     DEFAULT NULL,
+    execution_at      bigint       NOT NULL DEFAULT 0,
+    ext_attrs         varchar(256) NULL     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_sj_workflow_task_batch_01 ON sj_workflow_task_batch (workflow_id, task_batch_status);
+CREATE INDEX idx_sj_workflow_task_batch_02 ON sj_workflow_task_batch (create_dt);
+CREATE INDEX idx_sj_workflow_task_batch_03 ON sj_workflow_task_batch (namespace_id, group_name);
+
+COMMENT ON COLUMN sj_workflow_task_batch.id IS '涓婚敭';
+COMMENT ON COLUMN sj_workflow_task_batch.namespace_id IS '鍛藉悕绌洪棿id';
+COMMENT ON COLUMN sj_workflow_task_batch.group_name IS '缁勫悕绉�';
+COMMENT ON COLUMN sj_workflow_task_batch.workflow_id IS '宸ヤ綔娴佷换鍔d';
+COMMENT ON COLUMN sj_workflow_task_batch.task_batch_status IS '浠诲姟鎵规鐘舵�� 0銆佸け璐� 1銆佹垚鍔�';
+COMMENT ON COLUMN sj_workflow_task_batch.operation_reason IS '鎿嶄綔鍘熷洜';
+COMMENT ON COLUMN sj_workflow_task_batch.flow_info IS '娴佺▼淇℃伅';
+COMMENT ON COLUMN sj_workflow_task_batch.execution_at IS '浠诲姟鎵ц鏃堕棿';
+COMMENT ON COLUMN sj_workflow_task_batch.ext_attrs IS '鎵╁睍瀛楁';
+COMMENT ON COLUMN sj_workflow_task_batch.deleted IS '閫昏緫鍒犻櫎 1銆佸垹闄�';
+COMMENT ON COLUMN sj_workflow_task_batch.create_dt IS '鍒涘缓鏃堕棿';
+COMMENT ON COLUMN sj_workflow_task_batch.update_dt IS '淇敼鏃堕棿';
+COMMENT ON TABLE sj_workflow_task_batch IS '宸ヤ綔娴佹壒娆�';
+
diff --git a/script/sql/ry_vue_5.X.sql b/script/sql/ry_vue_5.X.sql
index 84a1f9f..396178f 100644
--- a/script/sql/ry_vue_5.X.sql
+++ b/script/sql/ry_vue_5.X.sql
@@ -288,8 +288,8 @@
 insert into sys_menu values('117',  'Admin鐩戞帶',   '2',   '5',  'Admin',            'monitor/admin/index',         '', 1, 0, 'C', '0', '0', 'monitor:admin:list',           'dashboard',     103, 1, sysdate(), null, null, 'Admin鐩戞帶鑿滃崟');
 -- oss鑿滃崟
 insert into sys_menu values('118',  '鏂囦欢绠$悊',     '1',   '10', 'oss',              'system/oss/index',            '', 1, 0, 'C', '0', '0', 'system:oss:list',              'upload',        103, 1, sysdate(), null, null, '鏂囦欢绠$悊鑿滃崟');
--- retry server鎺у埗鍙�
-insert into sys_menu values('120',  '浠诲姟璋冨害涓績',  '2',   '6',  'easyretry',     'monitor/easyretry/index',    '', 1, 0, 'C', '0', '0', 'monitor:easyretry:list',          'job',           103, 1, sysdate(), null, null, 'EasyRetry鎺у埗鍙拌彍鍗�');
+-- snail-job server鎺у埗鍙�
+insert into sys_menu values('120',  '浠诲姟璋冨害涓績',  '2',   '6',  'snailjob',     'monitor/snailjob/index',    '', 1, 0, 'C', '0', '0', 'monitor:snailjob:list',          'job',           103, 1, sysdate(), null, null, 'SnailJob鎺у埗鍙拌彍鍗�');
 
 -- 涓夌骇鑿滃崟
 insert into sys_menu values('500',  '鎿嶄綔鏃ュ織', '108', '1', 'operlog',    'monitor/operlog/index',    '', 1, 0, 'C', '0', '0', 'monitor:operlog:list',    'form',          103, 1, sysdate(), null, null, '鎿嶄綔鏃ュ織鑿滃崟');
diff --git a/script/sql/easy_retry.sql b/script/sql/snail_job.sql
similarity index 70%
rename from script/sql/easy_retry.sql
rename to script/sql/snail_job.sql
index 6008a7c..ce93e11 100644
--- a/script/sql/easy_retry.sql
+++ b/script/sql/snail_job.sql
@@ -1,73 +1,85 @@
 SET NAMES utf8mb4;
 
-CREATE TABLE `er_namespace`
+CREATE TABLE `sj_namespace`
 (
     `id`          bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '涓婚敭',
     `name`        varchar(64)         NOT NULL COMMENT '鍚嶇О',
     `unique_id`   varchar(64)         NOT NULL COMMENT '鍞竴id',
     `description` varchar(256)        NOT NULL DEFAULT '' COMMENT '鎻忚堪',
+    `deleted`     tinyint(4)          NOT NULL DEFAULT 0 COMMENT '閫昏緫鍒犻櫎 1銆佸垹闄�',
     `create_dt`   datetime            NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
     `update_dt`   datetime            NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '淇敼鏃堕棿',
-    `deleted`     tinyint(4)          NOT NULL DEFAULT '0' COMMENT '閫昏緫鍒犻櫎 1銆佸垹闄�',
     PRIMARY KEY (`id`),
     KEY `idx_name` (`name`),
     UNIQUE KEY `uk_unique_id` (`unique_id`)
 ) ENGINE = InnoDB
   DEFAULT CHARSET = utf8mb4 COMMENT ='鍛藉悕绌洪棿';
 
-INSERT INTO `er_namespace` VALUES (1, 'Development', 'dev', '', now(), now(), 0);
-INSERT INTO `er_namespace` VALUES (2, 'Production', 'prod', '', now(), now(), 0);
+INSERT INTO `sj_namespace` VALUES (1, 'Development', 'dev', '', 0, now(), now());
+INSERT INTO `sj_namespace` VALUES (2, 'Production', 'prod', '', 0, now(), now());
 
-
-CREATE TABLE `er_group_config`
+CREATE TABLE `sj_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銆佸惎鐢�',
+    `token`             varchar(64)         NOT NULL DEFAULT 'SJ_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 '鍒嗗尯',
-    `id_generator_mode` tinyint(4)          NOT NULL DEFAULT '1' COMMENT '鍞竴id鐢熸垚妯″紡 榛樿鍙锋妯″紡',
-    `init_scene`        tinyint(4)          NOT NULL DEFAULT '0' COMMENT '鏄惁鍒濆鍖栧満鏅� 0:鍚� 1:鏄�',
-    `bucket_index`      int(11)             NOT NULL DEFAULT '0' COMMENT 'bucket',
+    `id_generator_mode` tinyint(4)          NOT NULL DEFAULT 1 COMMENT '鍞竴id鐢熸垚妯″紡 榛樿鍙锋妯″紡',
+    `init_scene`        tinyint(4)          NOT NULL DEFAULT 0 COMMENT '鏄惁鍒濆鍖栧満鏅� 0:鍚� 1:鏄�',
+    `bucket_index`      int(11)             NOT NULL DEFAULT 0 COMMENT 'bucket',
     `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`),
     UNIQUE KEY `uk_namespace_id_group_name` (`namespace_id`, `group_name`)
 ) ENGINE = InnoDB
   AUTO_INCREMENT = 0
-  DEFAULT CHARSET = utf8mb4 COMMENT ='缁勯厤缃�'
-;
+  DEFAULT CHARSET = utf8mb4 COMMENT ='缁勯厤缃�';
 
-INSERT INTO `er_group_config` VALUES (1, 'dev', 'ruoyi_group', '', 'ER_cKqBTPzCsWA3VyuCfFoccmuIEGXjr5KT', 1, 1, 0, 1, 1, 4, now(), now());
+INSERT INTO `sj_group_config` VALUES (1, 'dev', 'ruoyi_group', '', 'SJ_cKqBTPzCsWA3VyuCfFoccmuIEGXjr5KT', 1, 1, 0, 1, 1, 4, now(), now());
 
-
-CREATE TABLE `er_notify_config`
+CREATE TABLE `sj_notify_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 COMMENT '缁勫悕绉�',
-    `scene_name`             varchar(64)         NOT NULL COMMENT '鍦烘櫙鍚嶇О',
-    `notify_status`          tinyint(4)          NOT NULL DEFAULT '0' COMMENT '閫氱煡鐘舵�� 0銆佹湭鍚敤 1銆佸惎鐢�',
-    `notify_type`            tinyint(4)          NOT NULL DEFAULT '0' COMMENT '閫氱煡绫诲瀷 1銆侀拤閽� 2銆侀偖浠� 3銆佷紒涓氬井淇�',
-    `notify_attribute`       varchar(512)        NOT NULL COMMENT '閰嶇疆灞炴��',
-    `notify_threshold`       int(11)             NOT NULL DEFAULT '0' COMMENT '閫氱煡闃堝��',
-    `notify_scene`           tinyint(4)          NOT NULL DEFAULT '0' COMMENT '閫氱煡鍦烘櫙',
-    `rate_limiter_status`    tinyint(4)          NOT NULL DEFAULT '0' COMMENT '闄愭祦鐘舵�� 0銆佹湭鍚敤 1銆佸惎鐢�',
-    `rate_limiter_threshold` int(11)             NOT NULL DEFAULT '0' COMMENT '姣忕闄愭祦闃堝��',
+    `business_id`            varchar(64)         NOT NULL COMMENT '涓氬姟id (job_id鎴杦orkflow_id鎴杝cene_name)',
+    `system_task_type`       tinyint(4)          NOT NULL DEFAULT 3 COMMENT '浠诲姟绫诲瀷 1. 閲嶈瘯浠诲姟 2. 閲嶈瘯鍥炶皟 3銆丣OB浠诲姟 4銆乄ORKFLOW浠诲姟',
+    `notify_status`          tinyint(4)          NOT NULL DEFAULT 0 COMMENT '閫氱煡鐘舵�� 0銆佹湭鍚敤 1銆佸惎鐢�',
+    `recipient_ids`          varchar(128)        NOT NULL COMMENT '鎺ユ敹浜篿d鍒楄〃',
+    `notify_threshold`       int(11)             NOT NULL DEFAULT 0 COMMENT '閫氱煡闃堝��',
+    `notify_scene`           tinyint(4)          NOT NULL DEFAULT 0 COMMENT '閫氱煡鍦烘櫙',
+    `rate_limiter_status`    tinyint(4)          NOT NULL DEFAULT 0 COMMENT '闄愭祦鐘舵�� 0銆佹湭鍚敤 1銆佸惎鐢�',
+    `rate_limiter_threshold` int(11)             NOT NULL DEFAULT 0 COMMENT '姣忕闄愭祦闃堝��',
     `description`            varchar(256)        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_scene_name` (`namespace_id`, `group_name`, `scene_name`)
+    KEY `idx_namespace_id_group_name_scene_name` (`namespace_id`, `group_name`, `business_id`)
 ) ENGINE = InnoDB
   AUTO_INCREMENT = 0
-  DEFAULT CHARSET = utf8mb4 COMMENT ='閫氱煡閰嶇疆'
-;
+  DEFAULT CHARSET = utf8mb4 COMMENT ='閫氱煡閰嶇疆';
 
-CREATE TABLE `er_retry_dead_letter_0`
+CREATE TABLE `sj_notify_recipient`
+(
+    `id`               bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '涓婚敭',
+    `namespace_id`     varchar(64)         NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT '鍛藉悕绌洪棿id',
+    `recipient_name`   varchar(64)         NOT NULL COMMENT '鎺ユ敹浜哄悕绉�',
+    `notify_type`      tinyint(4)          NOT NULL DEFAULT 0 COMMENT '閫氱煡绫诲瀷 1銆侀拤閽� 2銆侀偖浠� 3銆佷紒涓氬井淇� 4 椋炰功',
+    `notify_attribute` varchar(512)        NOT NULL COMMENT '閰嶇疆灞炴��',
+    `description`      varchar(256)        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` (`namespace_id`)
+) ENGINE = InnoDB
+  AUTO_INCREMENT = 0
+  DEFAULT CHARSET = utf8mb4 COMMENT ='鍛婅閫氱煡鎺ユ敹浜�';
+
+CREATE TABLE `sj_retry_dead_letter_0`
 (
     `id`            bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '涓婚敭',
     `namespace_id`  varchar(64)         NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT '鍛藉悕绌洪棿id',
@@ -79,7 +91,7 @@
     `executor_name` varchar(512)        NOT NULL DEFAULT '' COMMENT '鎵ц鍣ㄥ悕绉�',
     `args_str`      text                NOT NULL COMMENT '鎵ц鏂规硶鍙傛暟',
     `ext_attrs`     text                NOT NULL COMMENT '鎵╁睍瀛楁',
-    `task_type`     tinyint(4)          NOT NULL DEFAULT '1' COMMENT '浠诲姟绫诲瀷 1銆侀噸璇曟暟鎹� 2銆佸洖璋冩暟鎹�',
+    `task_type`     tinyint(4)          NOT NULL DEFAULT 1 COMMENT '浠诲姟绫诲瀷 1銆侀噸璇曟暟鎹� 2銆佸洖璋冩暟鎹�',
     `create_dt`     datetime            NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
     PRIMARY KEY (`id`),
     KEY `idx_namespace_id_group_name_scene_name` (`namespace_id`, `group_name`, `scene_name`),
@@ -89,10 +101,9 @@
     UNIQUE KEY `uk_namespace_id_group_name_unique_id` (`namespace_id`, `group_name`, `unique_id`)
 ) ENGINE = InnoDB
   AUTO_INCREMENT = 0
-  DEFAULT CHARSET = utf8mb4 COMMENT ='姝讳俊闃熷垪琛�'
-;
+  DEFAULT CHARSET = utf8mb4 COMMENT ='姝讳俊闃熷垪琛�';
 
-CREATE TABLE `er_retry_task_0`
+CREATE TABLE `sj_retry_task_0`
 (
     `id`              bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '涓婚敭',
     `namespace_id`    varchar(64)         NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT '鍛藉悕绌洪棿id',
@@ -105,9 +116,9 @@
     `args_str`        text                NOT NULL COMMENT '鎵ц鏂规硶鍙傛暟',
     `ext_attrs`       text                NOT NULL COMMENT '鎵╁睍瀛楁',
     `next_trigger_at` datetime            NOT NULL COMMENT '涓嬫瑙﹀彂鏃堕棿',
-    `retry_count`     int(11)             NOT NULL DEFAULT '0' COMMENT '閲嶈瘯娆℃暟',
-    `retry_status`    tinyint(4)          NOT NULL DEFAULT '0' COMMENT '閲嶈瘯鐘舵�� 0銆侀噸璇曚腑 1銆佹垚鍔� 2銆佹渶澶ч噸璇曟鏁�',
-    `task_type`       tinyint(4)          NOT NULL DEFAULT '1' COMMENT '浠诲姟绫诲瀷 1銆侀噸璇曟暟鎹� 2銆佸洖璋冩暟鎹�',
+    `retry_count`     int(11)             NOT NULL DEFAULT 0 COMMENT '閲嶈瘯娆℃暟',
+    `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`),
@@ -120,10 +131,9 @@
     UNIQUE KEY `uk_name_unique_id` (`namespace_id`, `group_name`, `unique_id`)
 ) ENGINE = InnoDB
   AUTO_INCREMENT = 0
-  DEFAULT CHARSET = utf8mb4 COMMENT ='浠诲姟琛�'
-;
+  DEFAULT CHARSET = utf8mb4 COMMENT ='浠诲姟琛�';
 
-CREATE TABLE `er_retry_task_log`
+CREATE TABLE `sj_retry_task_log`
 (
     `id`            bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '涓婚敭',
     `namespace_id`  varchar(64)         NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT '鍛藉悕绌洪棿id',
@@ -135,8 +145,8 @@
     `executor_name` varchar(512)        NOT NULL DEFAULT '' COMMENT '鎵ц鍣ㄥ悕绉�',
     `args_str`      text                NOT NULL COMMENT '鎵ц鏂规硶鍙傛暟',
     `ext_attrs`     text                NOT NULL COMMENT '鎵╁睍瀛楁',
-    `retry_status`  tinyint(4)          NOT NULL DEFAULT '0' COMMENT '閲嶈瘯鐘舵�� 0銆侀噸璇曚腑 1銆佹垚鍔� 2銆佹渶澶ф鏁�',
-    `task_type`     tinyint(4)          NOT NULL DEFAULT '1' COMMENT '浠诲姟绫诲瀷 1銆侀噸璇曟暟鎹� 2銆佸洖璋冩暟鎹�',
+    `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`),
@@ -148,40 +158,38 @@
     KEY `idx_create_dt` (`create_dt`)
 ) ENGINE = InnoDB
   AUTO_INCREMENT = 0
-  DEFAULT CHARSET = utf8mb4 COMMENT ='浠诲姟鏃ュ織鍩虹淇℃伅琛�'
-;
+  DEFAULT CHARSET = utf8mb4 COMMENT ='浠诲姟鏃ュ織鍩虹淇℃伅琛�';
 
-CREATE TABLE `er_retry_task_log_message`
+CREATE TABLE `sj_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`      longtext            NOT NULL COMMENT '寮傚父淇℃伅',
     `log_num`      int(11)             NOT NULL DEFAULT 1 COMMENT '鏃ュ織鏁伴噺',
     `real_time`    bigint(13)          NOT NULL DEFAULT 0 COMMENT '涓婃姤鏃堕棿',
+    `create_dt`    datetime            NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
     PRIMARY KEY (`id`),
     KEY `idx_namespace_id_group_name_scene_name` (`namespace_id`, `group_name`, `unique_id`),
     KEY `idx_create_dt` (`create_dt`)
 ) ENGINE = InnoDB
   AUTO_INCREMENT = 0
-  DEFAULT CHARSET = utf8mb4 COMMENT ='浠诲姟璋冨害鏃ュ織淇℃伅璁板綍琛�'
-;
+  DEFAULT CHARSET = utf8mb4 COMMENT ='浠诲姟璋冨害鏃ュ織淇℃伅璁板綍琛�';
 
-CREATE TABLE `er_scene_config`
+CREATE TABLE `sj_retry_scene_config`
 (
     `id`               bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '涓婚敭',
     `namespace_id`     varchar(64)         NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT '鍛藉悕绌洪棿id',
     `scene_name`       varchar(64)         NOT NULL COMMENT '鍦烘櫙鍚嶇О',
     `group_name`       varchar(64)         NOT NULL COMMENT '缁勫悕绉�',
-    `scene_status`     tinyint(4)          NOT NULL DEFAULT '0' COMMENT '缁勭姸鎬� 0銆佹湭鍚敤 1銆佸惎鐢�',
-    `max_retry_count`  int(11)             NOT NULL DEFAULT '5' COMMENT '鏈�澶ч噸璇曟鏁�',
-    `back_off`         tinyint(4)          NOT NULL DEFAULT '1' COMMENT '1銆侀粯璁ょ瓑绾� 2銆佸浐瀹氶棿闅旀椂闂� 3銆丆RON 琛ㄨ揪寮�',
+    `scene_status`     tinyint(4)          NOT NULL DEFAULT 0 COMMENT '缁勭姸鎬� 0銆佹湭鍚敤 1銆佸惎鐢�',
+    `max_retry_count`  int(11)             NOT NULL DEFAULT 5 COMMENT '鏈�澶ч噸璇曟鏁�',
+    `back_off`         tinyint(4)          NOT NULL DEFAULT 1 COMMENT '1銆侀粯璁ょ瓑绾� 2銆佸浐瀹氶棿闅旀椂闂� 3銆丆RON 琛ㄨ揪寮�',
     `trigger_interval` varchar(16)         NOT NULL DEFAULT '' COMMENT '闂撮殧鏃堕暱',
-    `deadline_request` bigint(20) unsigned NOT NULL DEFAULT '60000' COMMENT 'Deadline Request 璋冪敤閾捐秴鏃� 鍗曚綅姣',
-    `executor_timeout` int(11) unsigned    NOT NULL DEFAULT '5' COMMENT '浠诲姟鎵ц瓒呮椂鏃堕棿锛屽崟浣嶇',
-    `route_key`        tinyint(4)          NOT NULL DEFAULT '4' COMMENT '璺敱绛栫暐',
+    `deadline_request` bigint(20) unsigned NOT NULL DEFAULT 60000 COMMENT 'Deadline Request 璋冪敤閾捐秴鏃� 鍗曚綅姣',
+    `executor_timeout` int(11) unsigned    NOT NULL DEFAULT 5 COMMENT '浠诲姟鎵ц瓒呮椂鏃堕棿锛屽崟浣嶇',
+    `route_key`        tinyint(4)          NOT NULL DEFAULT 4 COMMENT '璺敱绛栫暐',
     `description`      varchar(256)        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 '淇敼鏃堕棿',
@@ -189,21 +197,19 @@
     UNIQUE KEY `uk_namespace_id_group_name_scene_name` (`namespace_id`, `group_name`, `scene_name`)
 ) ENGINE = InnoDB
   AUTO_INCREMENT = 0
-  DEFAULT CHARSET = utf8mb4 COMMENT ='鍦烘櫙閰嶇疆'
-;
+  DEFAULT CHARSET = utf8mb4 COMMENT ='鍦烘櫙閰嶇疆';
 
-CREATE TABLE `er_server_node`
+CREATE TABLE `sj_server_node`
 (
     `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 '缁勫悕绉�',
     `host_id`      varchar(64)         NOT NULL COMMENT '涓绘満id',
     `host_ip`      varchar(64)         NOT NULL COMMENT '鏈哄櫒ip',
-    `context_path` varchar(256)        NOT NULL DEFAULT '/' COMMENT '瀹㈡埛绔笂涓嬫枃璺緞 server.servlet.context-path',
     `host_port`    int(16)             NOT NULL COMMENT '鏈哄櫒绔彛',
     `expire_at`    datetime            NOT NULL COMMENT '杩囨湡鏃堕棿',
     `node_type`    tinyint(4)          NOT NULL COMMENT '鑺傜偣绫诲瀷 1銆佸鎴风 2銆佹槸鏈嶅姟绔�',
-    `ext_attrs`    varchar(256)        NULL     default '' COMMENT '鎵╁睍瀛楁',
+    `ext_attrs`    varchar(256)        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`),
@@ -212,10 +218,9 @@
     UNIQUE KEY `uk_host_id_host_ip` (`host_id`, `host_ip`)
 ) ENGINE = InnoDB
   AUTO_INCREMENT = 0
-  DEFAULT CHARSET = utf8mb4 COMMENT ='鏈嶅姟鍣ㄨ妭鐐�'
-;
+  DEFAULT CHARSET = utf8mb4 COMMENT ='鏈嶅姟鍣ㄨ妭鐐�';
 
-CREATE TABLE `er_distributed_lock`
+CREATE TABLE `sj_distributed_lock`
 (
     `id`         bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '涓婚敭',
     `name`       varchar(64)         NOT NULL COMMENT '閿佸悕绉�',
@@ -228,15 +233,14 @@
     UNIQUE KEY `uk_name` (`name`)
 ) ENGINE = InnoDB
   AUTO_INCREMENT = 0
-  DEFAULT CHARSET = utf8mb4 COMMENT ='閿佸畾琛�'
-;
+  DEFAULT CHARSET = utf8mb4 COMMENT ='閿佸畾琛�';
 
-CREATE TABLE `er_system_user`
+CREATE TABLE `sj_system_user`
 (
     `id`        bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '涓婚敭',
     `username`  varchar(64)         NOT NULL COMMENT '璐﹀彿',
     `password`  varchar(128)        NOT NULL COMMENT '瀵嗙爜',
-    `role`      tinyint(4)          NOT NULL DEFAULT '0' COMMENT '瑙掕壊锛�1-鏅�氱敤鎴枫��2-绠$悊鍛�',
+    `role`      tinyint(4)          NOT NULL DEFAULT 0 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`),
@@ -245,9 +249,9 @@
   DEFAULT CHARSET = utf8mb4 COMMENT ='绯荤粺鐢ㄦ埛琛�';
 
 -- pwd: admin
-INSERT INTO `er_system_user` VALUES (1, 'admin', '465c194afb65670f38322df087f0a9bb225cc257e43eb4ac5a0c98ef5b3173ac', 2, now(), now());
+INSERT INTO `sj_system_user` VALUES (1, 'admin', '465c194afb65670f38322df087f0a9bb225cc257e43eb4ac5a0c98ef5b3173ac', 2, now(), now());
 
-CREATE TABLE `er_system_user_permission`
+CREATE TABLE `sj_system_user_permission`
 (
     `id`             bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '涓婚敭',
     `group_name`     varchar(64)         NOT NULL COMMENT '缁勫悕绉�',
@@ -260,13 +264,13 @@
 ) ENGINE = InnoDB
   DEFAULT CHARSET = utf8mb4 COMMENT ='绯荤粺鐢ㄦ埛鏉冮檺琛�';
 
-CREATE TABLE `er_sequence_alloc`
+CREATE TABLE `sj_sequence_alloc`
 (
     `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 '缁勫悕绉�',
-    `max_id`       bigint(20)          NOT NULL DEFAULT '1' COMMENT '鏈�澶d',
-    `step`         int(11)             NOT NULL DEFAULT '100' COMMENT '姝ラ暱',
+    `max_id`       bigint(20)          NOT NULL DEFAULT 1 COMMENT '鏈�澶d',
+    `step`         int(11)             NOT NULL DEFAULT 100 COMMENT '姝ラ暱',
     `update_dt`    datetime            NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '鏇存柊鏃堕棿',
     PRIMARY KEY (`id`),
     UNIQUE KEY `uk_namespace_id_group_name` (`namespace_id`, `group_name`)
@@ -274,34 +278,34 @@
   DEFAULT CHARSET = utf8mb4 COMMENT ='鍙锋妯″紡搴忓彿ID鍒嗛厤琛�';
 
 -- 鍒嗗竷寮忚皟搴DL
-CREATE TABLE `er_job`
+CREATE TABLE `sj_job`
 (
     `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 '缁勫悕绉�',
     `job_name`         varchar(64)         NOT NULL COMMENT '鍚嶇О',
     `args_str`         text                         DEFAULT NULL COMMENT '鎵ц鏂规硶鍙傛暟',
-    `args_type`        tinyint(4)          NOT NULL DEFAULT '1' COMMENT '鍙傛暟绫诲瀷 ',
+    `args_type`        tinyint(4)          NOT NULL DEFAULT 1 COMMENT '鍙傛暟绫诲瀷 ',
     `next_trigger_at`  bigint(13)          NOT NULL COMMENT '涓嬫瑙﹀彂鏃堕棿',
-    `job_status`       tinyint(4)          NOT NULL DEFAULT '1' COMMENT '浠诲姟鐘舵�� 0銆佸叧闂��1銆佸紑鍚�',
-    `task_type`        tinyint(4)          NOT NULL DEFAULT '1' COMMENT '浠诲姟绫诲瀷 1銆侀泦缇� 2銆佸箍鎾� 3銆佸垏鐗�',
-    `route_key`        tinyint(4)          NOT NULL DEFAULT '4' COMMENT '璺敱绛栫暐',
-    `executor_type`    tinyint(4)          NOT NULL DEFAULT '1' COMMENT '鎵ц鍣ㄧ被鍨�',
+    `job_status`       tinyint(4)          NOT NULL DEFAULT 1 COMMENT '浠诲姟鐘舵�� 0銆佸叧闂��1銆佸紑鍚�',
+    `task_type`        tinyint(4)          NOT NULL DEFAULT 1 COMMENT '浠诲姟绫诲瀷 1銆侀泦缇� 2銆佸箍鎾� 3銆佸垏鐗�',
+    `route_key`        tinyint(4)          NOT NULL DEFAULT 4 COMMENT '璺敱绛栫暐',
+    `executor_type`    tinyint(4)          NOT NULL DEFAULT 1 COMMENT '鎵ц鍣ㄧ被鍨�',
     `executor_info`    varchar(255)                 DEFAULT NULL COMMENT '鎵ц鍣ㄥ悕绉�',
     `trigger_type`     tinyint(4)          NOT NULL COMMENT '瑙﹀彂绫诲瀷 1.CRON 琛ㄨ揪寮� 2. 鍥哄畾鏃堕棿',
     `trigger_interval` varchar(255)        NOT NULL COMMENT '闂撮殧鏃堕暱',
-    `block_strategy`   tinyint(4)          NOT NULL DEFAULT '1' COMMENT '闃诲绛栫暐 1銆佷涪寮� 2銆佽鐩� 3銆佸苟琛�',
-    `executor_timeout` int(11)             NOT NULL DEFAULT '0' COMMENT '浠诲姟鎵ц瓒呮椂鏃堕棿锛屽崟浣嶇',
-    `max_retry_times`  int(11)             NOT NULL DEFAULT '0' COMMENT '鏈�澶ч噸璇曟鏁�',
-    `parallel_num`     int(11)             NOT NULL DEFAULT '1' COMMENT '骞惰鏁�',
-    `retry_interval`   int(11)             NOT NULL DEFAULT '0' COMMENT '閲嶈瘯闂撮殧(s)',
-    `bucket_index`     int(11)             NOT NULL DEFAULT '0' COMMENT 'bucket',
-    `resident`         tinyint(4)          NOT NULL DEFAULT '0' COMMENT '鏄惁鏄父椹讳换鍔�',
+    `block_strategy`   tinyint(4)          NOT NULL DEFAULT 1 COMMENT '闃诲绛栫暐 1銆佷涪寮� 2銆佽鐩� 3銆佸苟琛�',
+    `executor_timeout` int(11)             NOT NULL DEFAULT 0 COMMENT '浠诲姟鎵ц瓒呮椂鏃堕棿锛屽崟浣嶇',
+    `max_retry_times`  int(11)             NOT NULL DEFAULT 0 COMMENT '鏈�澶ч噸璇曟鏁�',
+    `parallel_num`     int(11)             NOT NULL DEFAULT 1 COMMENT '骞惰鏁�',
+    `retry_interval`   int(11)             NOT NULL DEFAULT 0 COMMENT '閲嶈瘯闂撮殧(s)',
+    `bucket_index`     int(11)             NOT NULL DEFAULT 0 COMMENT 'bucket',
+    `resident`         tinyint(4)          NOT NULL DEFAULT 0 COMMENT '鏄惁鏄父椹讳换鍔�',
     `description`      varchar(256)        NOT NULL DEFAULT '' COMMENT '鎻忚堪',
-    `ext_attrs`        varchar(256)        NULL     default '' COMMENT '鎵╁睍瀛楁',
+    `ext_attrs`        varchar(256)        NULL     DEFAULT '' COMMENT '鎵╁睍瀛楁',
+    `deleted`          tinyint(4)          NOT NULL DEFAULT 0 COMMENT '閫昏緫鍒犻櫎 1銆佸垹闄�',
     `create_dt`        datetime            NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
     `update_dt`        datetime            NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '淇敼鏃堕棿',
-    `deleted`          tinyint(4)          NOT NULL DEFAULT '0' COMMENT '閫昏緫鍒犻櫎 1銆佸垹闄�',
     PRIMARY KEY (`id`),
     KEY `idx_namespace_id_group_name` (`namespace_id`, `group_name`),
     KEY `idx_job_status_bucket_index` (`job_status`, `bucket_index`),
@@ -310,9 +314,9 @@
   AUTO_INCREMENT = 0
   DEFAULT CHARSET = utf8mb4 COMMENT ='浠诲姟淇℃伅';
 
-INSERT INTO `er_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);
+INSERT INTO `sj_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, '', '', 0 , now(), now());
 
-CREATE TABLE `er_job_log_message`
+CREATE TABLE `sj_job_log_message`
 (
     `id`            bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '涓婚敭',
     `namespace_id`  varchar(64)         NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT '鍛藉悕绌洪棿id',
@@ -323,8 +327,8 @@
     `message`       longtext            NOT NULL COMMENT '璋冨害淇℃伅',
     `log_num`       int(11)             NOT NULL DEFAULT 1 COMMENT '鏃ュ織鏁伴噺',
     `real_time`     bigint(13)          NOT NULL DEFAULT 0 COMMENT '涓婃姤鏃堕棿',
+    `ext_attrs`     varchar(256)        NULL     DEFAULT '' COMMENT '鎵╁睍瀛楁',
     `create_dt`     datetime            NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
-    `ext_attrs`     varchar(256)        NULL     default '' COMMENT '鎵╁睍瀛楁',
     PRIMARY KEY (`id`),
     KEY `idx_task_batch_id_task_id` (`task_batch_id`, `task_id`),
     KEY `idx_create_dt` (`create_dt`),
@@ -333,21 +337,21 @@
   AUTO_INCREMENT = 0
   DEFAULT CHARSET = utf8mb4 COMMENT ='璋冨害鏃ュ織';
 
-CREATE TABLE `er_job_task`
+CREATE TABLE `sj_job_task`
 (
     `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 '缁勫悕绉�',
     `job_id`         bigint(20)          NOT NULL COMMENT '浠诲姟淇℃伅id',
     `task_batch_id`  bigint(20)          NOT NULL COMMENT '璋冨害浠诲姟id',
-    `parent_id`      bigint(20)          NOT NULL DEFAULT '0' COMMENT '鐖舵墽琛屽櫒id',
-    `task_status`    tinyint(4)          NOT NULL DEFAULT '0' COMMENT '鎵ц鐨勭姸鎬� 0銆佸け璐� 1銆佹垚鍔�',
-    `retry_count`    int(11)             NOT NULL DEFAULT '0' COMMENT '閲嶈瘯娆℃暟',
+    `parent_id`      bigint(20)          NOT NULL DEFAULT 0 COMMENT '鐖舵墽琛屽櫒id',
+    `task_status`    tinyint(4)          NOT NULL DEFAULT 0 COMMENT '鎵ц鐨勭姸鎬� 0銆佸け璐� 1銆佹垚鍔�',
+    `retry_count`    int(11)             NOT NULL DEFAULT 0 COMMENT '閲嶈瘯娆℃暟',
     `client_info`    varchar(128)                 DEFAULT NULL COMMENT '瀹㈡埛绔湴鍧� clientId#ip:port',
     `result_message` text                NOT NULL COMMENT '鎵ц缁撴灉',
     `args_str`       text                         DEFAULT NULL COMMENT '鎵ц鏂规硶鍙傛暟',
-    `args_type`      tinyint(4)          NOT NULL DEFAULT '1' COMMENT '鍙傛暟绫诲瀷 ',
-    `ext_attrs`      varchar(256)        NULL     default '' COMMENT '鎵╁睍瀛楁',
+    `args_type`      tinyint(4)          NOT NULL DEFAULT 1 COMMENT '鍙傛暟绫诲瀷 ',
+    `ext_attrs`      varchar(256)        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`),
@@ -358,24 +362,24 @@
   AUTO_INCREMENT = 0
   DEFAULT CHARSET = utf8mb4 COMMENT ='浠诲姟瀹炰緥';
 
-CREATE TABLE `er_job_task_batch`
+CREATE TABLE `sj_job_task_batch`
 (
     `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 '缁勫悕绉�',
     `job_id`                  bigint(20)          NOT NULL COMMENT '浠诲姟id',
-    `workflow_node_id`        bigint(20)          NOT NULL DEFAULT '0' COMMENT '宸ヤ綔娴佽妭鐐筰d',
-    `parent_workflow_node_id` bigint(20)          NOT NULL DEFAULT '0' COMMENT '宸ヤ綔娴佷换鍔$埗鎵规id',
-    `workflow_task_batch_id`  bigint(20)          NOT NULL DEFAULT '0' COMMENT '宸ヤ綔娴佷换鍔℃壒娆d',
-    `task_batch_status`       tinyint(4)          NOT NULL DEFAULT '0' COMMENT '浠诲姟鎵规鐘舵�� 0銆佸け璐� 1銆佹垚鍔�',
-    `operation_reason`        tinyint(4)          NOT NULL DEFAULT '0' COMMENT '鎿嶄綔鍘熷洜',
-    `execution_at`            bigint(13)          NOT NULL DEFAULT '0' COMMENT '浠诲姟鎵ц鏃堕棿',
-    `system_task_type`        tinyint(4)          NOT NULL DEFAULT '3' COMMENT '浠诲姟绫诲瀷 3銆丣OB浠诲姟 4銆乄ORKFLOW浠诲姟',
+    `workflow_node_id`        bigint(20)          NOT NULL DEFAULT 0 COMMENT '宸ヤ綔娴佽妭鐐筰d',
+    `parent_workflow_node_id` bigint(20)          NOT NULL DEFAULT 0 COMMENT '宸ヤ綔娴佷换鍔$埗鎵规id',
+    `workflow_task_batch_id`  bigint(20)          NOT NULL DEFAULT 0 COMMENT '宸ヤ綔娴佷换鍔℃壒娆d',
+    `task_batch_status`       tinyint(4)          NOT NULL DEFAULT 0 COMMENT '浠诲姟鎵规鐘舵�� 0銆佸け璐� 1銆佹垚鍔�',
+    `operation_reason`        tinyint(4)          NOT NULL DEFAULT 0 COMMENT '鎿嶄綔鍘熷洜',
+    `execution_at`            bigint(13)          NOT NULL DEFAULT 0 COMMENT '浠诲姟鎵ц鏃堕棿',
+    `system_task_type`        tinyint(4)          NOT NULL DEFAULT 3 COMMENT '浠诲姟绫诲瀷 3銆丣OB浠诲姟 4銆乄ORKFLOW浠诲姟',
     `parent_id`               varchar(64)         NOT NULL DEFAULT '' COMMENT '鐖惰妭鐐�',
+    `ext_attrs`               varchar(256)        NULL     DEFAULT '' COMMENT '鎵╁睍瀛楁',
+    `deleted`                 tinyint(4)          NOT NULL DEFAULT 0 COMMENT '閫昏緫鍒犻櫎 1銆佸垹闄�',
     `create_dt`               datetime            NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
     `update_dt`               datetime            NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '淇敼鏃堕棿',
-    `deleted`                 tinyint(4)          NOT NULL DEFAULT '0' COMMENT '閫昏緫鍒犻櫎 1銆佸垹闄�',
-    `ext_attrs`               varchar(256)        NULL     default '' COMMENT '鎵╁睍瀛楁',
     PRIMARY KEY (`id`),
     KEY `idx_job_id_task_batch_status` (`job_id`, `task_batch_status`),
     KEY `idx_create_dt` (`create_dt`),
@@ -385,42 +389,20 @@
   AUTO_INCREMENT = 0
   DEFAULT CHARSET = utf8mb4 COMMENT ='浠诲姟鎵规';
 
-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',
-    `group_name`             varchar(64)         NOT NULL COMMENT '缁勫悕绉�',
-    `job_id`                 bigint(20)          NOT NULL COMMENT '浠诲姟id',
-    `notify_status`          tinyint(4)          NOT NULL DEFAULT '0' COMMENT '閫氱煡鐘舵�� 0銆佹湭鍚敤 1銆佸惎鐢�',
-    `notify_type`            tinyint(4)          NOT NULL DEFAULT '0' COMMENT '閫氱煡绫诲瀷 1銆侀拤閽� 2銆侀偖浠� 3銆佷紒涓氬井淇�',
-    `notify_attribute`       varchar(512)        NOT NULL COMMENT '閰嶇疆灞炴��',
-    `notify_threshold`       int(11)             NOT NULL DEFAULT '0' COMMENT '閫氱煡闃堝��',
-    `notify_scene`           tinyint(4)          NOT NULL DEFAULT '0' COMMENT '閫氱煡鍦烘櫙',
-    `rate_limiter_status`    tinyint(4)          NOT NULL DEFAULT '0' COMMENT '闄愭祦鐘舵�� 0銆佹湭鍚敤 1銆佸惎鐢�',
-    `rate_limiter_threshold` int(11)             NOT NULL DEFAULT '0' COMMENT '姣忕闄愭祦闃堝��',
-    `description`            varchar(256)        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)
-) ENGINE = InnoDB
-  AUTO_INCREMENT = 4
-  DEFAULT CHARSET = utf8mb4 COMMENT ='job閫氱煡閰嶇疆';
-
-CREATE TABLE `er_job_summary`
+CREATE TABLE `sj_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 '缁勫悕绉�',
     `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浠诲姟',
+    `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 '鎵ц澶辫触-鏃ュ織鏁伴噺',
+    `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_num`         int             NOT NULL DEFAULT 0 COMMENT '鎵ц澶辫触-鏃ュ織鏁伴噺',
     `stop_reason`      varchar(512)    NOT NULL DEFAULT '' COMMENT '澶辫触鍘熷洜',
-    `cancel_num`       int             NOT NULL DEFAULT '0' 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 '淇敼鏃堕棿',
@@ -431,17 +413,17 @@
   AUTO_INCREMENT = 1
   DEFAULT CHARSET = utf8mb4 COMMENT ='DashBoard_Job';
 
-CREATE TABLE `er_retry_summary`
+CREATE TABLE `sj_retry_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 '缁勫悕绉�',
     `scene_name`    VARCHAR(50)     NOT NULL DEFAULT '' COMMENT '鍦烘櫙鍚嶇О',
     `trigger_at`    datetime        NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '缁熻鏃堕棿',
-    `running_num`   int             NOT NULL DEFAULT '0' COMMENT '閲嶈瘯涓�-鏃ュ織鏁伴噺',
-    `finish_num`    int             NOT NULL DEFAULT '0' COMMENT '閲嶈瘯瀹屾垚-鏃ュ織鏁伴噺',
-    `max_count_num` int             NOT NULL DEFAULT '0' COMMENT '閲嶈瘯鍒拌揪鏈�澶ф鏁�-鏃ュ織鏁伴噺',
-    `suspend_num`   int             NOT NULL DEFAULT '0' COMMENT '鏆傚仠閲嶈瘯-鏃ュ織鏁伴噺',
+    `running_num`   int             NOT NULL DEFAULT 0 COMMENT '閲嶈瘯涓�-鏃ュ織鏁伴噺',
+    `finish_num`    int             NOT NULL DEFAULT 0 COMMENT '閲嶈瘯瀹屾垚-鏃ュ織鏁伴噺',
+    `max_count_num` int             NOT NULL DEFAULT 0 COMMENT '閲嶈瘯鍒拌揪鏈�澶ф鏁�-鏃ュ織鏁伴噺',
+    `suspend_num`   int             NOT NULL DEFAULT 0 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`),
@@ -451,26 +433,26 @@
   AUTO_INCREMENT = 1
   DEFAULT CHARSET = utf8mb4 COMMENT ='DashBoard_Retry';
 
-CREATE TABLE `er_workflow`
+CREATE TABLE `sj_workflow`
 (
     `id`               bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '涓婚敭',
     `workflow_name`    varchar(64)         NOT NULL COMMENT '宸ヤ綔娴佸悕绉�',
     `namespace_id`     varchar(64)         NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT '鍛藉悕绌洪棿id',
     `group_name`       varchar(64)         NOT NULL COMMENT '缁勫悕绉�',
-    `workflow_status`  tinyint(4)          NOT NULL DEFAULT '1' COMMENT '宸ヤ綔娴佺姸鎬� 0銆佸叧闂��1銆佸紑鍚�',
+    `workflow_status`  tinyint(4)          NOT NULL DEFAULT 1 COMMENT '宸ヤ綔娴佺姸鎬� 0銆佸叧闂��1銆佸紑鍚�',
     `trigger_type`     tinyint(4)          NOT NULL COMMENT '瑙﹀彂绫诲瀷 1.CRON 琛ㄨ揪寮� 2. 鍥哄畾鏃堕棿',
     `trigger_interval` varchar(255)        NOT NULL COMMENT '闂撮殧鏃堕暱',
     `next_trigger_at`  bigint(13)          NOT NULL COMMENT '涓嬫瑙﹀彂鏃堕棿',
-    `block_strategy`   tinyint(4)          NOT NULL DEFAULT '1' COMMENT '闃诲绛栫暐 1銆佷涪寮� 2銆佽鐩� 3銆佸苟琛�',
-    `executor_timeout` int(11)             NOT NULL DEFAULT '0' COMMENT '浠诲姟鎵ц瓒呮椂鏃堕棿锛屽崟浣嶇',
+    `block_strategy`   tinyint(4)          NOT NULL DEFAULT 1 COMMENT '闃诲绛栫暐 1銆佷涪寮� 2銆佽鐩� 3銆佸苟琛�',
+    `executor_timeout` int(11)             NOT NULL DEFAULT 0 COMMENT '浠诲姟鎵ц瓒呮椂鏃堕棿锛屽崟浣嶇',
     `description`      varchar(256)        NOT NULL DEFAULT '' COMMENT '鎻忚堪',
     `flow_info`        text                         DEFAULT NULL COMMENT '娴佺▼淇℃伅',
-    `bucket_index`     int(11)             NOT NULL DEFAULT '0' COMMENT 'bucket',
+    `bucket_index`     int(11)             NOT NULL DEFAULT 0 COMMENT 'bucket',
     `version`          int(11)             NOT NULL COMMENT '鐗堟湰鍙�',
+    `ext_attrs`        varchar(256)        NULL     DEFAULT '' COMMENT '鎵╁睍瀛楁',
+    `deleted`          tinyint(4)          NOT NULL DEFAULT 0 COMMENT '閫昏緫鍒犻櫎 1銆佸垹闄�',
     `create_dt`        datetime            NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
     `update_dt`        datetime            NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '淇敼鏃堕棿',
-    `deleted`          tinyint(4)          NOT NULL DEFAULT '0' COMMENT '閫昏緫鍒犻櫎 1銆佸垹闄�',
-    `ext_attrs`        varchar(256)        NULL     default '' COMMENT '鎵╁睍瀛楁',
     PRIMARY KEY (`id`),
     KEY `idx_create_dt` (`create_dt`),
     KEY `idx_namespace_id_group_name` (`namespace_id`, `group_name`)
@@ -478,7 +460,7 @@
   AUTO_INCREMENT = 0
   DEFAULT CHARSET = utf8mb4 COMMENT ='宸ヤ綔娴�';
 
-CREATE TABLE `er_workflow_node`
+CREATE TABLE `sj_workflow_node`
 (
     `id`                   bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '涓婚敭',
     `namespace_id`         varchar(64)         NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT '鍛藉悕绌洪棿id',
@@ -493,10 +475,10 @@
     `priority_level`       int(11)             NOT NULL DEFAULT 1 COMMENT '浼樺厛绾�',
     `node_info`            text                         DEFAULT NULL COMMENT '鑺傜偣淇℃伅 ',
     `version`              int(11)             NOT NULL COMMENT '鐗堟湰鍙�',
+    `ext_attrs`            varchar(256)        NULL     DEFAULT '' COMMENT '鎵╁睍瀛楁',
+    `deleted`              tinyint(4)          NOT NULL DEFAULT 0 COMMENT '閫昏緫鍒犻櫎 1銆佸垹闄�',
     `create_dt`            datetime            NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
     `update_dt`            datetime            NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '淇敼鏃堕棿',
-    `deleted`              tinyint(4)          NOT NULL DEFAULT '0' COMMENT '閫昏緫鍒犻櫎 1銆佸垹闄�',
-    `ext_attrs`            varchar(256)        NULL     default '' COMMENT '鎵╁睍瀛楁',
     PRIMARY KEY (`id`),
     KEY `idx_create_dt` (`create_dt`),
     KEY `idx_namespace_id_group_name` (`namespace_id`, `group_name`)
@@ -504,20 +486,20 @@
   AUTO_INCREMENT = 0
   DEFAULT CHARSET = utf8mb4 COMMENT ='宸ヤ綔娴佽妭鐐�';
 
-CREATE TABLE `er_workflow_task_batch`
+CREATE TABLE `sj_workflow_task_batch`
 (
     `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 '缁勫悕绉�',
     `workflow_id`       bigint(20)          NOT NULL COMMENT '宸ヤ綔娴佷换鍔d',
-    `task_batch_status` tinyint(4)          NOT NULL DEFAULT '0' COMMENT '浠诲姟鎵规鐘舵�� 0銆佸け璐� 1銆佹垚鍔�',
-    `operation_reason`  tinyint(4)          NOT NULL DEFAULT '0' COMMENT '鎿嶄綔鍘熷洜',
+    `task_batch_status` tinyint(4)          NOT NULL DEFAULT 0 COMMENT '浠诲姟鎵规鐘舵�� 0銆佸け璐� 1銆佹垚鍔�',
+    `operation_reason`  tinyint(4)          NOT NULL DEFAULT 0 COMMENT '鎿嶄綔鍘熷洜',
     `flow_info`         text                         DEFAULT NULL COMMENT '娴佺▼淇℃伅',
-    `execution_at`      bigint(13)          NOT NULL DEFAULT '0' COMMENT '浠诲姟鎵ц鏃堕棿',
+    `execution_at`      bigint(13)          NOT NULL DEFAULT 0 COMMENT '浠诲姟鎵ц鏃堕棿',
+    `ext_attrs`         varchar(256)        NULL     DEFAULT '' COMMENT '鎵╁睍瀛楁',
+    `deleted`           tinyint(4)          NOT NULL DEFAULT 0 COMMENT '閫昏緫鍒犻櫎 1銆佸垹闄�',
     `create_dt`         datetime            NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '鍒涘缓鏃堕棿',
     `update_dt`         datetime            NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '淇敼鏃堕棿',
-    `deleted`           tinyint(4)          NOT NULL DEFAULT '0' COMMENT '閫昏緫鍒犻櫎 1銆佸垹闄�',
-    `ext_attrs`         varchar(256)        NULL     default '' COMMENT '鎵╁睍瀛楁',
     PRIMARY KEY (`id`),
     KEY `idx_job_id_task_batch_status` (`workflow_id`, `task_batch_status`),
     KEY `idx_create_dt` (`create_dt`),
diff --git a/script/sql/sqlserver/easy_retry_sqlserver.sql b/script/sql/sqlserver/snail_job_sqlserver.sql
similarity index 60%
rename from script/sql/sqlserver/easy_retry_sqlserver.sql
rename to script/sql/sqlserver/snail_job_sqlserver.sql
index db6ad4f..d6fa1ae 100644
--- a/script/sql/sqlserver/easy_retry_sqlserver.sql
+++ b/script/sql/sqlserver/snail_job_sqlserver.sql
@@ -1,1296 +1,419 @@
--- er_distributed_lock
-CREATE TABLE er_distributed_lock
+/*
+ SnailJob Database Transfer Tool
+ Source Server Type    : MySQL
+ Target Server Type    : Microsoft SQL Server
+ Date: 2024-05-13 23:03:34
+*/
+
+
+-- sj_namespace
+CREATE TABLE sj_namespace
 (
-    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
-
-INSERT INTO `er_job` VALUES (1, N'dev', N'ruoyi_group', N'demo-job', null, 1, 1710344035622, 1, 1, 4, 1, N'testJobExecutor', 2, N'60', 1, 60, 3, 1, 1, 116, 0, N'', N'', getdate(), getdate(), 0);
-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,
+    id          bigint        NOT NULL 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
+    deleted     tinyint       NOT NULL DEFAULT 0,
+    create_dt   datetime2     NOT NULL DEFAULT CURRENT_TIMESTAMP,
+    update_dt   datetime2     NOT NULL DEFAULT CURRENT_TIMESTAMP
 )
 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)
+CREATE INDEX idx_sj_namespace_01 ON sj_namespace (name)
 GO
 
 EXEC sp_addextendedproperty
      'MS_Description', N'涓婚敭',
      'SCHEMA', N'dbo',
-     'TABLE', N'er_namespace',
+     'TABLE', N'sj_namespace',
      'COLUMN', N'id'
 GO
 
 EXEC sp_addextendedproperty
      'MS_Description', N'鍚嶇О',
      'SCHEMA', N'dbo',
-     'TABLE', N'er_namespace',
+     'TABLE', N'sj_namespace',
      'COLUMN', N'name'
 GO
 
 EXEC sp_addextendedproperty
      'MS_Description', N'鍞竴id',
      'SCHEMA', N'dbo',
-     'TABLE', N'er_namespace',
+     'TABLE', N'sj_namespace',
      'COLUMN', N'unique_id'
 GO
 
 EXEC sp_addextendedproperty
      'MS_Description', N'鎻忚堪',
      'SCHEMA', N'dbo',
-     'TABLE', N'er_namespace',
+     'TABLE', N'sj_namespace',
      'COLUMN', N'description'
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'閫昏緫鍒犻櫎 1銆佸垹闄�',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_namespace',
+     'COLUMN', N'deleted'
 GO
 
 EXEC sp_addextendedproperty
      'MS_Description', N'鍒涘缓鏃堕棿',
      'SCHEMA', N'dbo',
-     'TABLE', N'er_namespace',
+     'TABLE', N'sj_namespace',
      'COLUMN', N'create_dt'
 GO
 
 EXEC sp_addextendedproperty
      'MS_Description', N'淇敼鏃堕棿',
      'SCHEMA', N'dbo',
-     'TABLE', N'er_namespace',
+     'TABLE', N'sj_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'
+     'TABLE', N'sj_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');
+INSERT INTO sj_namespace(name, unique_id, description, deleted, create_dt, update_dt) VALUES (N'Development', N'dev', N'', 0, getdate(), getdate())
+GO
+INSERT INTO sj_namespace(name, unique_id, description, deleted, create_dt, update_dt) VALUES (N'Production', N'prod', N'', 0, getdate(), getdate())
 GO
 
--- er_notify_config
-CREATE TABLE er_notify_config
+-- sj_group_config
+CREATE TABLE sj_group_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()
+    id                bigint        NOT NULL 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 'SJ_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 CURRENT_TIMESTAMP,
+    update_dt         datetime2     NOT NULL DEFAULT CURRENT_TIMESTAMP
 )
 GO
 
-CREATE NONCLUSTERED INDEX idx_namespace_id_group_name_scene_name ON er_notify_config (namespace_id ASC, group_name ASC, scene_name ASC)
+CREATE UNIQUE INDEX uk_sj_group_config_01 ON sj_group_config (namespace_id, group_name)
 GO
 
 EXEC sp_addextendedproperty
      'MS_Description', N'涓婚敭',
      'SCHEMA', N'dbo',
-     'TABLE', N'er_notify_config',
+     'TABLE', N'sj_group_config',
      'COLUMN', N'id'
 GO
 
 EXEC sp_addextendedproperty
      'MS_Description', N'鍛藉悕绌洪棿id',
      'SCHEMA', N'dbo',
-     'TABLE', N'er_notify_config',
+     'TABLE', N'sj_group_config',
      'COLUMN', N'namespace_id'
 GO
 
 EXEC sp_addextendedproperty
      'MS_Description', N'缁勫悕绉�',
      'SCHEMA', N'dbo',
-     'TABLE', N'er_notify_config',
+     'TABLE', N'sj_group_config',
      'COLUMN', N'group_name'
 GO
 
 EXEC sp_addextendedproperty
-     'MS_Description', N'鍦烘櫙鍚嶇О',
+     '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',
+     'TABLE', N'sj_group_config',
      'COLUMN', N'description'
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'token',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_group_config',
+     'COLUMN', N'token'
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'缁勭姸鎬� 0銆佹湭鍚敤 1銆佸惎鐢�',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_group_config',
+     'COLUMN', N'group_status'
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'鐗堟湰鍙�',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_group_config',
+     'COLUMN', N'version'
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'鍒嗗尯',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_group_config',
+     'COLUMN', N'group_partition'
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'鍞竴id鐢熸垚妯″紡 榛樿鍙锋妯″紡',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_group_config',
+     'COLUMN', N'id_generator_mode'
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'鏄惁鍒濆鍖栧満鏅� 0:鍚� 1:鏄�',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_group_config',
+     'COLUMN', N'init_scene'
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'bucket',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_group_config',
+     'COLUMN', N'bucket_index'
 GO
 
 EXEC sp_addextendedproperty
      'MS_Description', N'鍒涘缓鏃堕棿',
      'SCHEMA', N'dbo',
-     'TABLE', N'er_notify_config',
+     'TABLE', N'sj_group_config',
      'COLUMN', N'create_dt'
 GO
 
 EXEC sp_addextendedproperty
      'MS_Description', N'淇敼鏃堕棿',
      'SCHEMA', N'dbo',
-     'TABLE', N'er_notify_config',
+     'TABLE', N'sj_group_config',
+     'COLUMN', N'update_dt'
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'缁勯厤缃�',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_group_config'
+GO
+
+INSERT INTO sj_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'SJ_cKqBTPzCsWA3VyuCfFoccmuIEGXjr5KT', N'1', N'1', N'0', N'1', N'1', N'4', getdate(), getdate())
+GO
+
+-- sj_notify_config
+CREATE TABLE sj_notify_config
+(
+    id                     bigint        NOT NULL PRIMARY KEY IDENTITY,
+    namespace_id           nvarchar(64)  NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a',
+    group_name             nvarchar(64)  NOT NULL,
+    business_id            nvarchar(64)  NOT NULL,
+    system_task_type       tinyint       NOT NULL DEFAULT 3,
+    notify_status          tinyint       NOT NULL DEFAULT 0,
+    recipient_ids          nvarchar(128) 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 CURRENT_TIMESTAMP,
+    update_dt              datetime2     NOT NULL DEFAULT CURRENT_TIMESTAMP
+)
+GO
+
+CREATE INDEX idx_sj_notify_config_01 ON sj_notify_config (namespace_id, group_name, business_id)
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'涓婚敭',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_notify_config',
+     'COLUMN', N'id'
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'鍛藉悕绌洪棿id',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_notify_config',
+     'COLUMN', N'namespace_id'
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'缁勫悕绉�',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_notify_config',
+     'COLUMN', N'group_name'
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'涓氬姟id  ( job_id鎴杦orkflow_id鎴杝cene_name ) ',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_notify_config',
+     'COLUMN', N'business_id'
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'浠诲姟绫诲瀷 1. 閲嶈瘯浠诲姟 2. 閲嶈瘯鍥炶皟 3銆丣OB浠诲姟 4銆乄ORKFLOW浠诲姟',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_notify_config',
+     'COLUMN', N'system_task_type'
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'閫氱煡鐘舵�� 0銆佹湭鍚敤 1銆佸惎鐢�',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_notify_config',
+     'COLUMN', N'notify_status'
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'鎺ユ敹浜篿d鍒楄〃',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_notify_config',
+     'COLUMN', N'recipient_ids'
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'閫氱煡闃堝��',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_notify_config',
+     'COLUMN', N'notify_threshold'
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'閫氱煡鍦烘櫙',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_notify_config',
+     'COLUMN', N'notify_scene'
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'闄愭祦鐘舵�� 0銆佹湭鍚敤 1銆佸惎鐢�',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_notify_config',
+     'COLUMN', N'rate_limiter_status'
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'姣忕闄愭祦闃堝��',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_notify_config',
+     'COLUMN', N'rate_limiter_threshold'
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'鎻忚堪',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_notify_config',
+     'COLUMN', N'description'
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'鍒涘缓鏃堕棿',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_notify_config',
+     'COLUMN', N'create_dt'
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'淇敼鏃堕棿',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_notify_config',
      'COLUMN', N'update_dt'
 GO
 
 EXEC sp_addextendedproperty
      'MS_Description', N'閫氱煡閰嶇疆',
      'SCHEMA', N'dbo',
-     'TABLE', N'er_notify_config'
+     'TABLE', N'sj_notify_config'
 GO
 
--- er_retry_dead_letter_0
-CREATE TABLE er_retry_dead_letter_0
+-- sj_notify_recipient
+CREATE TABLE sj_notify_recipient
 (
-    id            bigint PRIMARY KEY IDENTITY,
+    id               bigint        NOT NULL PRIMARY KEY IDENTITY,
+    namespace_id     nvarchar(64)  NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a',
+    recipient_name   nvarchar(64)  NOT NULL,
+    notify_type      tinyint       NOT NULL DEFAULT 0,
+    notify_attribute nvarchar(512) NOT NULL,
+    description      nvarchar(256) NOT NULL DEFAULT '',
+    create_dt        datetime2     NOT NULL DEFAULT CURRENT_TIMESTAMP,
+    update_dt        datetime2     NOT NULL DEFAULT CURRENT_TIMESTAMP
+)
+GO
+
+CREATE INDEX idx_sj_notify_recipient_01 ON sj_notify_recipient (namespace_id)
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'涓婚敭',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_notify_recipient',
+     'COLUMN', N'id'
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'鍛藉悕绌洪棿id',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_notify_recipient',
+     'COLUMN', N'namespace_id'
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'鎺ユ敹浜哄悕绉�',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_notify_recipient',
+     'COLUMN', N'recipient_name'
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'閫氱煡绫诲瀷 1銆侀拤閽� 2銆侀偖浠� 3銆佷紒涓氬井淇� 4 椋炰功',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_notify_recipient',
+     'COLUMN', N'notify_type'
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'閰嶇疆灞炴��',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_notify_recipient',
+     'COLUMN', N'notify_attribute'
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'鎻忚堪',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_notify_recipient',
+     'COLUMN', N'description'
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'鍒涘缓鏃堕棿',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_notify_recipient',
+     'COLUMN', N'create_dt'
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'淇敼鏃堕棿',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_notify_recipient',
+     'COLUMN', N'update_dt'
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'鍛婅閫氱煡鎺ユ敹浜�',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_notify_recipient'
+GO
+
+-- sj_retry_dead_letter_0
+CREATE TABLE sj_retry_dead_letter_0
+(
+    id            bigint        NOT NULL PRIMARY KEY IDENTITY,
     namespace_id  nvarchar(64)  NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a',
     unique_id     nvarchar(64)  NOT NULL,
     group_name    nvarchar(64)  NOT NULL,
@@ -1300,221 +423,117 @@
     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()
+    task_type     tinyint       NOT NULL DEFAULT 1,
+    create_dt     datetime2     NOT NULL DEFAULT CURRENT_TIMESTAMP
 )
 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)
+CREATE UNIQUE INDEX uk_sj_retry_dead_letter_0_01 ON sj_retry_dead_letter_0 (namespace_id, group_name, unique_id)
 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)
+
+CREATE INDEX idx_sj_retry_dead_letter_0_01 ON sj_retry_dead_letter_0 (namespace_id, group_name, scene_name)
 GO
-CREATE NONCLUSTERED INDEX idx_idempotent_id ON er_retry_dead_letter_0 (idempotent_id ASC)
+CREATE INDEX idx_sj_retry_dead_letter_0_02 ON sj_retry_dead_letter_0 (idempotent_id)
 GO
-CREATE NONCLUSTERED INDEX idx_biz_no ON er_retry_dead_letter_0 (biz_no ASC)
+CREATE INDEX idx_sj_retry_dead_letter_0_03 ON sj_retry_dead_letter_0 (biz_no)
 GO
-CREATE NONCLUSTERED INDEX idx_create_dt ON er_retry_dead_letter_0 (create_dt ASC)
+CREATE INDEX idx_sj_retry_dead_letter_0_04 ON sj_retry_dead_letter_0 (create_dt)
 GO
 
 EXEC sp_addextendedproperty
      'MS_Description', N'涓婚敭',
      'SCHEMA', N'dbo',
-     'TABLE', N'er_retry_dead_letter_0',
+     'TABLE', N'sj_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',
+     'TABLE', N'sj_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',
+     'TABLE', N'sj_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',
+     'TABLE', N'sj_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',
+     'TABLE', N'sj_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',
+     'TABLE', N'sj_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',
+     'TABLE', N'sj_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',
+     'TABLE', N'sj_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',
+     'TABLE', N'sj_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',
+     'TABLE', N'sj_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',
+     'TABLE', N'sj_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',
+     'TABLE', N'sj_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'
+     'TABLE', N'sj_retry_dead_letter_0'
 GO
 
-
--- er_retry_summary
-CREATE TABLE er_retry_summary
+-- sj_retry_task_0
+CREATE TABLE sj_retry_task_0
 (
-    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,
+    id              bigint        NOT NULL PRIMARY KEY IDENTITY,
     namespace_id    nvarchar(64)  NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a',
     unique_id       nvarchar(64)  NOT NULL,
     group_name      nvarchar(64)  NOT NULL,
@@ -1525,151 +544,152 @@
     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()
+    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 CURRENT_TIMESTAMP,
+    update_dt       datetime2     NOT NULL DEFAULT CURRENT_TIMESTAMP
 )
 GO
 
-CREATE UNIQUE NONCLUSTERED INDEX uk_name_unique_id ON er_retry_task_0 (namespace_id ASC, group_name ASC, unique_id ASC)
+CREATE UNIQUE INDEX uk_sj_retry_task_0_01 ON sj_retry_task_0 (namespace_id, group_name, unique_id)
 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)
+
+CREATE INDEX idx_sj_retry_task_0_01 ON sj_retry_task_0 (namespace_id, group_name, scene_name)
 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)
+CREATE INDEX idx_sj_retry_task_0_02 ON sj_retry_task_0 (namespace_id, group_name, task_type)
 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)
+CREATE INDEX idx_sj_retry_task_0_03 ON sj_retry_task_0 (namespace_id, group_name, retry_status)
 GO
-CREATE NONCLUSTERED INDEX idx_idempotent_id ON er_retry_task_0 (idempotent_id ASC)
+CREATE INDEX idx_sj_retry_task_0_04 ON sj_retry_task_0 (idempotent_id)
 GO
-CREATE NONCLUSTERED INDEX idx_biz_no ON er_retry_task_0 (biz_no ASC)
+CREATE INDEX idx_sj_retry_task_0_05 ON sj_retry_task_0 (biz_no)
 GO
-CREATE NONCLUSTERED INDEX idx_create_dt ON er_retry_task_0 (create_dt ASC)
+CREATE INDEX idx_sj_retry_task_0_06 ON sj_retry_task_0 (create_dt)
 GO
 
 EXEC sp_addextendedproperty
      'MS_Description', N'涓婚敭',
      'SCHEMA', N'dbo',
-     'TABLE', N'er_retry_task_0',
+     'TABLE', N'sj_retry_task_0',
      'COLUMN', N'id'
 GO
 
 EXEC sp_addextendedproperty
      'MS_Description', N'鍛藉悕绌洪棿id',
      'SCHEMA', N'dbo',
-     'TABLE', N'er_retry_task_0',
+     'TABLE', N'sj_retry_task_0',
      'COLUMN', N'namespace_id'
 GO
 
 EXEC sp_addextendedproperty
      'MS_Description', N'鍚岀粍涓媔d鍞竴',
      'SCHEMA', N'dbo',
-     'TABLE', N'er_retry_task_0',
+     'TABLE', N'sj_retry_task_0',
      'COLUMN', N'unique_id'
 GO
 
 EXEC sp_addextendedproperty
      'MS_Description', N'缁勫悕绉�',
      'SCHEMA', N'dbo',
-     'TABLE', N'er_retry_task_0',
+     'TABLE', N'sj_retry_task_0',
      'COLUMN', N'group_name'
 GO
 
 EXEC sp_addextendedproperty
      'MS_Description', N'鍦烘櫙鍚嶇О',
      'SCHEMA', N'dbo',
-     'TABLE', N'er_retry_task_0',
+     'TABLE', N'sj_retry_task_0',
      'COLUMN', N'scene_name'
 GO
 
 EXEC sp_addextendedproperty
      'MS_Description', N'骞傜瓑id',
      'SCHEMA', N'dbo',
-     'TABLE', N'er_retry_task_0',
+     'TABLE', N'sj_retry_task_0',
      'COLUMN', N'idempotent_id'
 GO
 
 EXEC sp_addextendedproperty
      'MS_Description', N'涓氬姟缂栧彿',
      'SCHEMA', N'dbo',
-     'TABLE', N'er_retry_task_0',
+     'TABLE', N'sj_retry_task_0',
      'COLUMN', N'biz_no'
 GO
 
 EXEC sp_addextendedproperty
      'MS_Description', N'鎵ц鍣ㄥ悕绉�',
      'SCHEMA', N'dbo',
-     'TABLE', N'er_retry_task_0',
+     'TABLE', N'sj_retry_task_0',
      'COLUMN', N'executor_name'
 GO
 
 EXEC sp_addextendedproperty
      'MS_Description', N'鎵ц鏂规硶鍙傛暟',
      'SCHEMA', N'dbo',
-     'TABLE', N'er_retry_task_0',
+     'TABLE', N'sj_retry_task_0',
      'COLUMN', N'args_str'
 GO
 
 EXEC sp_addextendedproperty
      'MS_Description', N'鎵╁睍瀛楁',
      'SCHEMA', N'dbo',
-     'TABLE', N'er_retry_task_0',
+     'TABLE', N'sj_retry_task_0',
      'COLUMN', N'ext_attrs'
 GO
 
 EXEC sp_addextendedproperty
      'MS_Description', N'涓嬫瑙﹀彂鏃堕棿',
      'SCHEMA', N'dbo',
-     'TABLE', N'er_retry_task_0',
+     'TABLE', N'sj_retry_task_0',
      'COLUMN', N'next_trigger_at'
 GO
 
 EXEC sp_addextendedproperty
      'MS_Description', N'閲嶈瘯娆℃暟',
      'SCHEMA', N'dbo',
-     'TABLE', N'er_retry_task_0',
+     'TABLE', N'sj_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',
+     'TABLE', N'sj_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',
+     'TABLE', N'sj_retry_task_0',
      'COLUMN', N'task_type'
 GO
 
 EXEC sp_addextendedproperty
      'MS_Description', N'鍒涘缓鏃堕棿',
      'SCHEMA', N'dbo',
-     'TABLE', N'er_retry_task_0',
+     'TABLE', N'sj_retry_task_0',
      'COLUMN', N'create_dt'
 GO
 
 EXEC sp_addextendedproperty
      'MS_Description', N'淇敼鏃堕棿',
      'SCHEMA', N'dbo',
-     'TABLE', N'er_retry_task_0',
+     'TABLE', N'sj_retry_task_0',
      'COLUMN', N'update_dt'
 GO
 
 EXEC sp_addextendedproperty
      'MS_Description', N'浠诲姟琛�',
      'SCHEMA', N'dbo',
-     'TABLE', N'er_retry_task_0'
+     'TABLE', N'sj_retry_task_0'
 GO
 
--- er_retry_task_log
-CREATE TABLE er_retry_task_log
+-- sj_retry_task_log
+CREATE TABLE sj_retry_task_log
 (
-    id            bigint PRIMARY KEY IDENTITY,
+    id            bigint        NOT NULL PRIMARY KEY IDENTITY,
     namespace_id  nvarchar(64)  NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a',
     unique_id     nvarchar(64)  NOT NULL,
     group_name    nvarchar(64)  NOT NULL,
@@ -1679,1073 +699,1999 @@
     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()
+    retry_status  tinyint       NOT NULL DEFAULT 0,
+    task_type     tinyint       NOT NULL DEFAULT 1,
+    create_dt     datetime2     NOT NULL DEFAULT CURRENT_TIMESTAMP,
+    update_dt     datetime2     NOT NULL DEFAULT CURRENT_TIMESTAMP
 )
 GO
 
-CREATE NONCLUSTERED INDEX idx_group_name_scene_name ON er_retry_task_log (namespace_id ASC, group_name ASC, scene_name ASC)
+CREATE INDEX idx_sj_retry_task_log_01 ON sj_retry_task_log (namespace_id, group_name, scene_name)
 GO
-CREATE NONCLUSTERED INDEX idx_retry_status ON er_retry_task_log (retry_status ASC)
+CREATE INDEX idx_sj_retry_task_log_02 ON sj_retry_task_log (retry_status)
 GO
-CREATE NONCLUSTERED INDEX idx_idempotent_id ON er_retry_task_log (idempotent_id ASC)
+CREATE INDEX idx_sj_retry_task_log_03 ON sj_retry_task_log (idempotent_id)
 GO
-CREATE NONCLUSTERED INDEX idx_unique_id ON er_retry_task_log (unique_id ASC)
+CREATE INDEX idx_sj_retry_task_log_04 ON sj_retry_task_log (unique_id)
 GO
-CREATE NONCLUSTERED INDEX idx_biz_no ON er_retry_task_log (biz_no ASC)
+CREATE INDEX idx_sj_retry_task_log_05 ON sj_retry_task_log (biz_no)
 GO
-CREATE NONCLUSTERED INDEX idx_create_dt ON er_retry_task_log (create_dt ASC)
+CREATE INDEX idx_sj_retry_task_log_06 ON sj_retry_task_log (create_dt)
 GO
 
 EXEC sp_addextendedproperty
      'MS_Description', N'涓婚敭',
      'SCHEMA', N'dbo',
-     'TABLE', N'er_retry_task_log',
+     'TABLE', N'sj_retry_task_log',
      'COLUMN', N'id'
 GO
 
 EXEC sp_addextendedproperty
      'MS_Description', N'鍛藉悕绌洪棿id',
      'SCHEMA', N'dbo',
-     'TABLE', N'er_retry_task_log',
+     'TABLE', N'sj_retry_task_log',
      'COLUMN', N'namespace_id'
 GO
 
 EXEC sp_addextendedproperty
      'MS_Description', N'鍚岀粍涓媔d鍞竴',
      'SCHEMA', N'dbo',
-     'TABLE', N'er_retry_task_log',
+     'TABLE', N'sj_retry_task_log',
      'COLUMN', N'unique_id'
 GO
 
 EXEC sp_addextendedproperty
      'MS_Description', N'缁勫悕绉�',
      'SCHEMA', N'dbo',
-     'TABLE', N'er_retry_task_log',
+     'TABLE', N'sj_retry_task_log',
      'COLUMN', N'group_name'
 GO
 
 EXEC sp_addextendedproperty
      'MS_Description', N'鍦烘櫙鍚嶇О',
      'SCHEMA', N'dbo',
-     'TABLE', N'er_retry_task_log',
+     'TABLE', N'sj_retry_task_log',
      'COLUMN', N'scene_name'
 GO
 
 EXEC sp_addextendedproperty
      'MS_Description', N'骞傜瓑id',
      'SCHEMA', N'dbo',
-     'TABLE', N'er_retry_task_log',
+     'TABLE', N'sj_retry_task_log',
      'COLUMN', N'idempotent_id'
 GO
 
 EXEC sp_addextendedproperty
      'MS_Description', N'涓氬姟缂栧彿',
      'SCHEMA', N'dbo',
-     'TABLE', N'er_retry_task_log',
+     'TABLE', N'sj_retry_task_log',
      'COLUMN', N'biz_no'
 GO
 
 EXEC sp_addextendedproperty
      'MS_Description', N'鎵ц鍣ㄥ悕绉�',
      'SCHEMA', N'dbo',
-     'TABLE', N'er_retry_task_log',
+     'TABLE', N'sj_retry_task_log',
      'COLUMN', N'executor_name'
 GO
 
 EXEC sp_addextendedproperty
      'MS_Description', N'鎵ц鏂规硶鍙傛暟',
      'SCHEMA', N'dbo',
-     'TABLE', N'er_retry_task_log',
+     'TABLE', N'sj_retry_task_log',
      'COLUMN', N'args_str'
 GO
 
 EXEC sp_addextendedproperty
      'MS_Description', N'鎵╁睍瀛楁',
      'SCHEMA', N'dbo',
-     'TABLE', N'er_retry_task_log',
+     'TABLE', N'sj_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',
+     'TABLE', N'sj_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',
+     'TABLE', N'sj_retry_task_log',
      'COLUMN', N'task_type'
 GO
 
 EXEC sp_addextendedproperty
      'MS_Description', N'鍒涘缓鏃堕棿',
      'SCHEMA', N'dbo',
-     'TABLE', N'er_retry_task_log',
+     'TABLE', N'sj_retry_task_log',
      'COLUMN', N'create_dt'
 GO
 
 EXEC sp_addextendedproperty
      'MS_Description', N'淇敼鏃堕棿',
      'SCHEMA', N'dbo',
-     'TABLE', N'er_retry_task_log',
+     'TABLE', N'sj_retry_task_log',
      'COLUMN', N'update_dt'
 GO
 
 EXEC sp_addextendedproperty
      'MS_Description', N'浠诲姟鏃ュ織鍩虹淇℃伅琛�',
      'SCHEMA', N'dbo',
-     'TABLE', N'er_retry_task_log'
+     'TABLE', N'sj_retry_task_log'
 GO
 
--- er_retry_task_log_message
-CREATE TABLE er_retry_task_log_message
+-- sj_retry_task_log_message
+CREATE TABLE sj_retry_task_log_message
 (
-    id           bigint PRIMARY KEY IDENTITY,
+    id           bigint        NOT NULL 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
+    real_time    bigint        NOT NULL DEFAULT 0,
+    create_dt    datetime2     NOT NULL DEFAULT CURRENT_TIMESTAMP
 )
 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)
+CREATE INDEX idx_sj_retry_task_log_message_01 ON sj_retry_task_log_message (namespace_id, group_name, unique_id)
 GO
-CREATE NONCLUSTERED INDEX idx_create_dt ON er_retry_task_log_message (create_dt ASC)
+CREATE INDEX idx_sj_retry_task_log_message_02 ON sj_retry_task_log_message (create_dt)
 GO
 
 EXEC sp_addextendedproperty
      'MS_Description', N'涓婚敭',
      'SCHEMA', N'dbo',
-     'TABLE', N'er_retry_task_log_message',
+     'TABLE', N'sj_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',
+     'TABLE', N'sj_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',
+     'TABLE', N'sj_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',
+     'TABLE', N'sj_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',
+     'TABLE', N'sj_retry_task_log_message',
      'COLUMN', N'message'
 GO
 
 EXEC sp_addextendedproperty
      'MS_Description', N'鏃ュ織鏁伴噺',
      'SCHEMA', N'dbo',
-     'TABLE', N'er_retry_task_log_message',
+     'TABLE', N'sj_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',
+     'TABLE', N'sj_retry_task_log_message',
      'COLUMN', N'real_time'
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'鍒涘缓鏃堕棿',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_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'
+     'TABLE', N'sj_retry_task_log_message'
 GO
 
--- er_scene_config
-CREATE TABLE er_scene_config
+-- sj_retry_scene_config
+CREATE TABLE sj_retry_scene_config
 (
-    id               bigint IDENTITY,
+    id               bigint        NOT NULL PRIMARY KEY 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',
+    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',
+    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()
+    create_dt        datetime2     NOT NULL DEFAULT CURRENT_TIMESTAMP,
+    update_dt        datetime2     NOT NULL DEFAULT CURRENT_TIMESTAMP
 )
 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)
+CREATE UNIQUE INDEX uk_sj_retry_scene_config_01 ON sj_retry_scene_config (namespace_id, group_name, scene_name)
 GO
 
 EXEC sp_addextendedproperty
      'MS_Description', N'涓婚敭',
      'SCHEMA', N'dbo',
-     'TABLE', N'er_scene_config',
+     'TABLE', N'sj_retry_scene_config',
      'COLUMN', N'id'
 GO
 
 EXEC sp_addextendedproperty
      'MS_Description', N'鍛藉悕绌洪棿id',
      'SCHEMA', N'dbo',
-     'TABLE', N'er_scene_config',
+     'TABLE', N'sj_retry_scene_config',
      'COLUMN', N'namespace_id'
 GO
 
 EXEC sp_addextendedproperty
      'MS_Description', N'鍦烘櫙鍚嶇О',
      'SCHEMA', N'dbo',
-     'TABLE', N'er_scene_config',
+     'TABLE', N'sj_retry_scene_config',
      'COLUMN', N'scene_name'
 GO
 
 EXEC sp_addextendedproperty
      'MS_Description', N'缁勫悕绉�',
      'SCHEMA', N'dbo',
-     'TABLE', N'er_scene_config',
+     'TABLE', N'sj_retry_scene_config',
      'COLUMN', N'group_name'
 GO
 
 EXEC sp_addextendedproperty
      'MS_Description', N'缁勭姸鎬� 0銆佹湭鍚敤 1銆佸惎鐢�',
      'SCHEMA', N'dbo',
-     'TABLE', N'er_scene_config',
+     'TABLE', N'sj_retry_scene_config',
      'COLUMN', N'scene_status'
 GO
 
 EXEC sp_addextendedproperty
      'MS_Description', N'鏈�澶ч噸璇曟鏁�',
      'SCHEMA', N'dbo',
-     'TABLE', N'er_scene_config',
+     'TABLE', N'sj_retry_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',
+     'TABLE', N'sj_retry_scene_config',
      'COLUMN', N'back_off'
 GO
 
 EXEC sp_addextendedproperty
      'MS_Description', N'闂撮殧鏃堕暱',
      'SCHEMA', N'dbo',
-     'TABLE', N'er_scene_config',
+     'TABLE', N'sj_retry_scene_config',
      'COLUMN', N'trigger_interval'
 GO
 
 EXEC sp_addextendedproperty
      'MS_Description', N'Deadline Request 璋冪敤閾捐秴鏃� 鍗曚綅姣',
      'SCHEMA', N'dbo',
-     'TABLE', N'er_scene_config',
+     'TABLE', N'sj_retry_scene_config',
      'COLUMN', N'deadline_request'
 GO
 
 EXEC sp_addextendedproperty
      'MS_Description', N'浠诲姟鎵ц瓒呮椂鏃堕棿锛屽崟浣嶇',
      'SCHEMA', N'dbo',
-     'TABLE', N'er_scene_config',
+     'TABLE', N'sj_retry_scene_config',
      'COLUMN', N'executor_timeout'
 GO
 
 EXEC sp_addextendedproperty
      'MS_Description', N'璺敱绛栫暐',
      'SCHEMA', N'dbo',
-     'TABLE', N'er_scene_config',
+     'TABLE', N'sj_retry_scene_config',
      'COLUMN', N'route_key'
 GO
 
 EXEC sp_addextendedproperty
      'MS_Description', N'鎻忚堪',
      'SCHEMA', N'dbo',
-     'TABLE', N'er_scene_config',
+     'TABLE', N'sj_retry_scene_config',
      'COLUMN', N'description'
 GO
 
 EXEC sp_addextendedproperty
      'MS_Description', N'鍒涘缓鏃堕棿',
      'SCHEMA', N'dbo',
-     'TABLE', N'er_scene_config',
+     'TABLE', N'sj_retry_scene_config',
      'COLUMN', N'create_dt'
 GO
 
 EXEC sp_addextendedproperty
      'MS_Description', N'淇敼鏃堕棿',
      'SCHEMA', N'dbo',
-     'TABLE', N'er_scene_config',
+     'TABLE', N'sj_retry_scene_config',
      'COLUMN', N'update_dt'
 GO
 
 EXEC sp_addextendedproperty
      'MS_Description', N'鍦烘櫙閰嶇疆',
      'SCHEMA', N'dbo',
-     'TABLE', N'er_scene_config'
+     'TABLE', N'sj_retry_scene_config'
 GO
 
--- er_sequence_alloc
-CREATE TABLE er_sequence_alloc
+-- sj_server_node
+CREATE TABLE sj_server_node
 (
-    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,
+    id           bigint        NOT NULL 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()
+    create_dt    datetime2     NOT NULL DEFAULT CURRENT_TIMESTAMP,
+    update_dt    datetime2     NOT NULL DEFAULT CURRENT_TIMESTAMP
 )
 GO
 
-CREATE UNIQUE NONCLUSTERED INDEX uk_host_id_host_ip ON er_server_node (host_id ASC, host_ip ASC)
+CREATE UNIQUE INDEX uk_sj_server_node_01 ON sj_server_node (host_id, host_ip)
 GO
-CREATE NONCLUSTERED INDEX idx_namespace_id_group_name ON er_server_node (namespace_id ASC, group_name ASC)
+
+CREATE INDEX idx_sj_server_node_01 ON sj_server_node (namespace_id, group_name)
 GO
-CREATE NONCLUSTERED INDEX idx_expire_at_node_type ON er_server_node (expire_at ASC, node_type ASC)
+CREATE INDEX idx_sj_server_node_02 ON sj_server_node (expire_at, node_type)
 GO
 
 EXEC sp_addextendedproperty
      'MS_Description', N'涓婚敭',
      'SCHEMA', N'dbo',
-     'TABLE', N'er_server_node',
+     'TABLE', N'sj_server_node',
      'COLUMN', N'id'
 GO
 
 EXEC sp_addextendedproperty
      'MS_Description', N'鍛藉悕绌洪棿id',
      'SCHEMA', N'dbo',
-     'TABLE', N'er_server_node',
+     'TABLE', N'sj_server_node',
      'COLUMN', N'namespace_id'
 GO
 
 EXEC sp_addextendedproperty
      'MS_Description', N'缁勫悕绉�',
      'SCHEMA', N'dbo',
-     'TABLE', N'er_server_node',
+     'TABLE', N'sj_server_node',
      'COLUMN', N'group_name'
 GO
 
 EXEC sp_addextendedproperty
      'MS_Description', N'涓绘満id',
      'SCHEMA', N'dbo',
-     'TABLE', N'er_server_node',
+     'TABLE', N'sj_server_node',
      'COLUMN', N'host_id'
 GO
 
 EXEC sp_addextendedproperty
      'MS_Description', N'鏈哄櫒ip',
      'SCHEMA', N'dbo',
-     'TABLE', N'er_server_node',
+     'TABLE', N'sj_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',
+     'TABLE', N'sj_server_node',
      'COLUMN', N'host_port'
 GO
 
 EXEC sp_addextendedproperty
      'MS_Description', N'杩囨湡鏃堕棿',
      'SCHEMA', N'dbo',
-     'TABLE', N'er_server_node',
+     'TABLE', N'sj_server_node',
      'COLUMN', N'expire_at'
 GO
 
 EXEC sp_addextendedproperty
      'MS_Description', N'鑺傜偣绫诲瀷 1銆佸鎴风 2銆佹槸鏈嶅姟绔�',
      'SCHEMA', N'dbo',
-     'TABLE', N'er_server_node',
+     'TABLE', N'sj_server_node',
      'COLUMN', N'node_type'
 GO
 
 EXEC sp_addextendedproperty
      'MS_Description', N'鎵╁睍瀛楁',
      'SCHEMA', N'dbo',
-     'TABLE', N'er_server_node',
+     'TABLE', N'sj_server_node',
      'COLUMN', N'ext_attrs'
 GO
 
 EXEC sp_addextendedproperty
      'MS_Description', N'鍒涘缓鏃堕棿',
      'SCHEMA', N'dbo',
-     'TABLE', N'er_server_node',
+     'TABLE', N'sj_server_node',
      'COLUMN', N'create_dt'
 GO
 
 EXEC sp_addextendedproperty
      'MS_Description', N'淇敼鏃堕棿',
      'SCHEMA', N'dbo',
-     'TABLE', N'er_server_node',
+     'TABLE', N'sj_server_node',
      'COLUMN', N'update_dt'
 GO
 
 EXEC sp_addextendedproperty
      'MS_Description', N'鏈嶅姟鍣ㄨ妭鐐�',
      'SCHEMA', N'dbo',
-     'TABLE', N'er_server_node'
+     'TABLE', N'sj_server_node'
 GO
 
--- er_system_user
-CREATE TABLE er_system_user
+-- sj_distributed_lock
+CREATE TABLE sj_distributed_lock
 (
-    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()
+    id         bigint        NOT NULL PRIMARY KEY IDENTITY,
+    name       nvarchar(64)  NOT NULL,
+    lock_until datetime2     NOT NULL DEFAULT CURRENT_TIMESTAMP,
+    locked_at  datetime2     NOT NULL DEFAULT CURRENT_TIMESTAMP,
+    locked_by  nvarchar(255) NOT NULL,
+    create_dt  datetime2     NOT NULL DEFAULT CURRENT_TIMESTAMP,
+    update_dt  datetime2     NOT NULL DEFAULT CURRENT_TIMESTAMP
 )
-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',
+     'TABLE', N'sj_distributed_lock',
+     'COLUMN', N'id'
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'閿佸悕绉�',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_distributed_lock',
+     'COLUMN', N'name'
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'閿佸畾鏃堕暱',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_distributed_lock',
+     'COLUMN', N'lock_until'
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'閿佸畾鏃堕棿',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_distributed_lock',
+     'COLUMN', N'locked_at'
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'閿佸畾鑰�',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_distributed_lock',
+     'COLUMN', N'locked_by'
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'鍒涘缓鏃堕棿',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_distributed_lock',
+     'COLUMN', N'create_dt'
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'淇敼鏃堕棿',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_distributed_lock',
+     'COLUMN', N'update_dt'
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'閿佸畾琛�',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_distributed_lock'
+GO
+
+-- sj_system_user
+CREATE TABLE sj_system_user
+(
+    id        bigint        NOT NULL 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 CURRENT_TIMESTAMP,
+    update_dt datetime2     NOT NULL DEFAULT CURRENT_TIMESTAMP
+)
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'涓婚敭',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_system_user',
      'COLUMN', N'id'
 GO
 
 EXEC sp_addextendedproperty
      'MS_Description', N'璐﹀彿',
      'SCHEMA', N'dbo',
-     'TABLE', N'er_system_user',
+     'TABLE', N'sj_system_user',
      'COLUMN', N'username'
 GO
 
 EXEC sp_addextendedproperty
      'MS_Description', N'瀵嗙爜',
      'SCHEMA', N'dbo',
-     'TABLE', N'er_system_user',
+     'TABLE', N'sj_system_user',
      'COLUMN', N'password'
 GO
 
 EXEC sp_addextendedproperty
      'MS_Description', N'瑙掕壊锛�1-鏅�氱敤鎴枫��2-绠$悊鍛�',
      'SCHEMA', N'dbo',
-     'TABLE', N'er_system_user',
+     'TABLE', N'sj_system_user',
      'COLUMN', N'role'
 GO
 
 EXEC sp_addextendedproperty
      'MS_Description', N'鍒涘缓鏃堕棿',
      'SCHEMA', N'dbo',
-     'TABLE', N'er_system_user',
+     'TABLE', N'sj_system_user',
      'COLUMN', N'create_dt'
 GO
 
 EXEC sp_addextendedproperty
      'MS_Description', N'淇敼鏃堕棿',
      'SCHEMA', N'dbo',
-     'TABLE', N'er_system_user',
+     'TABLE', N'sj_system_user',
      'COLUMN', N'update_dt'
 GO
 
 EXEC sp_addextendedproperty
      'MS_Description', N'绯荤粺鐢ㄦ埛琛�',
      'SCHEMA', N'dbo',
-     'TABLE', N'er_system_user'
+     'TABLE', N'sj_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());
+INSERT INTO sj_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
+-- sj_system_user_permission
+CREATE TABLE sj_system_user_permission
 (
-    id             bigint PRIMARY KEY IDENTITY,
+    id             bigint       NOT NULL 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()
+    create_dt      datetime2    NOT NULL DEFAULT CURRENT_TIMESTAMP,
+    update_dt      datetime2    NOT NULL DEFAULT CURRENT_TIMESTAMP
 )
 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)
+CREATE UNIQUE INDEX uk_sj_system_user_permission_01 ON sj_system_user_permission (namespace_id, group_name, system_user_id)
 GO
 
 EXEC sp_addextendedproperty
      'MS_Description', N'涓婚敭',
      'SCHEMA', N'dbo',
-     'TABLE', N'er_system_user_permission',
+     'TABLE', N'sj_system_user_permission',
      'COLUMN', N'id'
 GO
 
 EXEC sp_addextendedproperty
      'MS_Description', N'缁勫悕绉�',
      'SCHEMA', N'dbo',
-     'TABLE', N'er_system_user_permission',
+     'TABLE', N'sj_system_user_permission',
      'COLUMN', N'group_name'
 GO
 
 EXEC sp_addextendedproperty
      'MS_Description', N'鍛藉悕绌洪棿id',
      'SCHEMA', N'dbo',
-     'TABLE', N'er_system_user_permission',
+     'TABLE', N'sj_system_user_permission',
      'COLUMN', N'namespace_id'
 GO
 
 EXEC sp_addextendedproperty
      'MS_Description', N'绯荤粺鐢ㄦ埛id',
      'SCHEMA', N'dbo',
-     'TABLE', N'er_system_user_permission',
+     'TABLE', N'sj_system_user_permission',
      'COLUMN', N'system_user_id'
 GO
 
 EXEC sp_addextendedproperty
      'MS_Description', N'鍒涘缓鏃堕棿',
      'SCHEMA', N'dbo',
-     'TABLE', N'er_system_user_permission',
+     'TABLE', N'sj_system_user_permission',
      'COLUMN', N'create_dt'
 GO
 
 EXEC sp_addextendedproperty
      'MS_Description', N'淇敼鏃堕棿',
      'SCHEMA', N'dbo',
-     'TABLE', N'er_system_user_permission',
+     'TABLE', N'sj_system_user_permission',
      'COLUMN', N'update_dt'
 GO
 
 EXEC sp_addextendedproperty
      'MS_Description', N'绯荤粺鐢ㄦ埛鏉冮檺琛�',
      'SCHEMA', N'dbo',
-     'TABLE', N'er_system_user_permission'
+     'TABLE', N'sj_system_user_permission'
 GO
 
-
--- er_workflow
-CREATE TABLE er_workflow
+-- sj_sequence_alloc
+CREATE TABLE sj_sequence_alloc
 (
-    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
+    id           bigint       NOT NULL 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 CURRENT_TIMESTAMP
 )
 GO
 
-CREATE NONCLUSTERED INDEX idx_create_dt ON er_workflow (create_dt ASC)
+CREATE UNIQUE INDEX uk_sj_sequence_alloc_01 ON sj_sequence_alloc (namespace_id, group_name)
 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',
+     'TABLE', N'sj_sequence_alloc',
      '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',
+     'TABLE', N'sj_sequence_alloc',
      'COLUMN', N'namespace_id'
 GO
 
 EXEC sp_addextendedproperty
      'MS_Description', N'缁勫悕绉�',
      'SCHEMA', N'dbo',
-     'TABLE', N'er_workflow',
+     'TABLE', N'sj_sequence_alloc',
      'COLUMN', N'group_name'
 GO
 
 EXEC sp_addextendedproperty
-     'MS_Description', N'宸ヤ綔娴佺姸鎬� 0銆佸叧闂��1銆佸紑鍚�',
+     'MS_Description', N'鏈�澶d',
      'SCHEMA', N'dbo',
-     'TABLE', N'er_workflow',
-     'COLUMN', N'workflow_status'
+     'TABLE', N'sj_sequence_alloc',
+     'COLUMN', N'max_id'
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'姝ラ暱',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_sequence_alloc',
+     'COLUMN', N'step'
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'鏇存柊鏃堕棿',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_sequence_alloc',
+     'COLUMN', N'update_dt'
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'鍙锋妯″紡搴忓彿ID鍒嗛厤琛�',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_sequence_alloc'
+GO
+
+-- sj_job
+CREATE TABLE sj_job
+(
+    id               bigint        NOT NULL 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     DEFAULT 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 NULL,
+    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 '',
+    deleted          tinyint       NOT NULL DEFAULT 0,
+    create_dt        datetime2     NOT NULL DEFAULT CURRENT_TIMESTAMP,
+    update_dt        datetime2     NOT NULL DEFAULT CURRENT_TIMESTAMP
+)
+GO
+
+CREATE INDEX idx_sj_job_01 ON sj_job (namespace_id, group_name)
+GO
+CREATE INDEX idx_sj_job_02 ON sj_job (job_status, bucket_index)
+GO
+CREATE INDEX idx_sj_job_03 ON sj_job (create_dt)
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'涓婚敭',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_job',
+     'COLUMN', N'id'
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'鍛藉悕绌洪棿id',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_job',
+     'COLUMN', N'namespace_id'
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'缁勫悕绉�',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_job',
+     'COLUMN', N'group_name'
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'鍚嶇О',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_job',
+     'COLUMN', N'job_name'
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'鎵ц鏂规硶鍙傛暟',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_job',
+     'COLUMN', N'args_str'
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'鍙傛暟绫诲瀷 ',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_job',
+     'COLUMN', N'args_type'
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'涓嬫瑙﹀彂鏃堕棿',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_job',
+     'COLUMN', N'next_trigger_at'
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'浠诲姟鐘舵�� 0銆佸叧闂��1銆佸紑鍚�',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_job',
+     'COLUMN', N'job_status'
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'浠诲姟绫诲瀷 1銆侀泦缇� 2銆佸箍鎾� 3銆佸垏鐗�',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_job',
+     'COLUMN', N'task_type'
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'璺敱绛栫暐',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_job',
+     'COLUMN', N'route_key'
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'鎵ц鍣ㄧ被鍨�',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_job',
+     'COLUMN', N'executor_type'
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'鎵ц鍣ㄥ悕绉�',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_job',
+     'COLUMN', N'executor_info'
 GO
 
 EXEC sp_addextendedproperty
      'MS_Description', N'瑙﹀彂绫诲瀷 1.CRON 琛ㄨ揪寮� 2. 鍥哄畾鏃堕棿',
      'SCHEMA', N'dbo',
-     'TABLE', N'er_workflow',
+     'TABLE', N'sj_job',
      'COLUMN', N'trigger_type'
 GO
 
 EXEC sp_addextendedproperty
      'MS_Description', N'闂撮殧鏃堕暱',
      'SCHEMA', N'dbo',
-     'TABLE', N'er_workflow',
+     'TABLE', N'sj_job',
      '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',
+     'TABLE', N'sj_job',
      'COLUMN', N'block_strategy'
 GO
 
 EXEC sp_addextendedproperty
      'MS_Description', N'浠诲姟鎵ц瓒呮椂鏃堕棿锛屽崟浣嶇',
      'SCHEMA', N'dbo',
-     'TABLE', N'er_workflow',
+     'TABLE', N'sj_job',
      'COLUMN', N'executor_timeout'
 GO
 
 EXEC sp_addextendedproperty
-     'MS_Description', N'鎻忚堪',
+     'MS_Description', N'鏈�澶ч噸璇曟鏁�',
      'SCHEMA', N'dbo',
-     'TABLE', N'er_workflow',
-     'COLUMN', N'description'
+     'TABLE', N'sj_job',
+     'COLUMN', N'max_retry_times'
 GO
 
 EXEC sp_addextendedproperty
-     'MS_Description', N'娴佺▼淇℃伅',
+     'MS_Description', N'骞惰鏁�',
      'SCHEMA', N'dbo',
-     'TABLE', N'er_workflow',
-     'COLUMN', N'flow_info'
+     'TABLE', N'sj_job',
+     'COLUMN', N'parallel_num'
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'閲嶈瘯闂撮殧 ( s ) ',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_job',
+     'COLUMN', N'retry_interval'
 GO
 
 EXEC sp_addextendedproperty
      'MS_Description', N'bucket',
      'SCHEMA', N'dbo',
-     'TABLE', N'er_workflow',
+     'TABLE', N'sj_job',
      'COLUMN', N'bucket_index'
 GO
 
 EXEC sp_addextendedproperty
-     'MS_Description', N'鐗堟湰鍙�',
+     'MS_Description', N'鏄惁鏄父椹讳换鍔�',
      'SCHEMA', N'dbo',
-     'TABLE', N'er_workflow',
-     'COLUMN', N'version'
+     'TABLE', N'sj_job',
+     'COLUMN', N'resident'
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'鎻忚堪',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_job',
+     'COLUMN', N'description'
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'鎵╁睍瀛楁',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_job',
+     'COLUMN', N'ext_attrs'
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'閫昏緫鍒犻櫎 1銆佸垹闄�',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_job',
+     'COLUMN', N'deleted'
 GO
 
 EXEC sp_addextendedproperty
      'MS_Description', N'鍒涘缓鏃堕棿',
      'SCHEMA', N'dbo',
-     'TABLE', N'er_workflow',
+     'TABLE', N'sj_job',
      'COLUMN', N'create_dt'
 GO
 
 EXEC sp_addextendedproperty
      'MS_Description', N'淇敼鏃堕棿',
      'SCHEMA', N'dbo',
-     'TABLE', N'er_workflow',
+     'TABLE', N'sj_job',
      'COLUMN', N'update_dt'
 GO
 
 EXEC sp_addextendedproperty
-     'MS_Description', N'閫昏緫鍒犻櫎 1銆佸垹闄�',
+     'MS_Description', N'浠诲姟淇℃伅',
      'SCHEMA', N'dbo',
-     'TABLE', N'er_workflow',
-     'COLUMN', N'deleted'
+     'TABLE', N'sj_job'
 GO
 
-EXEC sp_addextendedproperty
-     'MS_Description', N'鎵╁睍瀛楁',
-     'SCHEMA', N'dbo',
-     'TABLE', N'er_workflow',
-     'COLUMN', N'ext_attrs'
+INSERT INTO sj_job (namespace_id, group_name, job_name, args_str, args_type, next_trigger_at, job_status, task_type, route_key, executor_type, executor_info, trigger_type, trigger_interval, block_strategy,executor_timeout, max_retry_times, parallel_num, retry_interval, bucket_index, resident, description, ext_attrs, deleted, create_dt, update_dt) VALUES (N'dev', N'ruoyi_group', N'demo-job', null, 1, 1710344035622, 1, 1, 4, 1, N'testJobExecutor', 2, N'60', 1, 60, 3, 1, 1, 116, 0, N'', N'', 0, getdate(), getdate())
 GO
 
-EXEC sp_addextendedproperty
-     'MS_Description', N'宸ヤ綔娴�',
-     'SCHEMA', N'dbo',
-     'TABLE', N'er_workflow'
-GO
-
--- er_workflow_node
-CREATE TABLE er_workflow_node
+-- sj_job_log_message
+CREATE TABLE sj_job_log_message
 (
-    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 ''
+    id            bigint        NOT NULL 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,
+    ext_attrs     nvarchar(256) NULL     DEFAULT '',
+    create_dt     datetime2     NOT NULL DEFAULT CURRENT_TIMESTAMP
 )
 GO
 
-CREATE NONCLUSTERED INDEX idx_create_dt ON er_workflow_node (create_dt ASC)
+CREATE INDEX idx_sj_job_log_message_01 ON sj_job_log_message (task_batch_id, task_id)
 GO
-CREATE NONCLUSTERED INDEX idx_namespace_id_group_name ON er_workflow_node (namespace_id ASC, group_name ASC)
+CREATE INDEX idx_sj_job_log_message_02 ON sj_job_log_message (create_dt)
+GO
+CREATE INDEX idx_sj_job_log_message_03 ON sj_job_log_message (namespace_id, group_name)
 GO
 
 EXEC sp_addextendedproperty
      'MS_Description', N'涓婚敭',
      'SCHEMA', N'dbo',
-     'TABLE', N'er_workflow_node',
+     'TABLE', N'sj_job_log_message',
      'COLUMN', N'id'
 GO
 
 EXEC sp_addextendedproperty
      'MS_Description', N'鍛藉悕绌洪棿id',
      'SCHEMA', N'dbo',
-     'TABLE', N'er_workflow_node',
+     'TABLE', N'sj_job_log_message',
      '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',
+     'TABLE', N'sj_job_log_message',
      'COLUMN', N'group_name'
 GO
 
 EXEC sp_addextendedproperty
      'MS_Description', N'浠诲姟淇℃伅id',
      'SCHEMA', N'dbo',
-     'TABLE', N'er_workflow_node',
+     'TABLE', N'sj_job_log_message',
      'COLUMN', N'job_id'
 GO
 
 EXEC sp_addextendedproperty
-     'MS_Description', N'宸ヤ綔娴両D',
+     'MS_Description', N'浠诲姟鎵规id',
      'SCHEMA', N'dbo',
-     'TABLE', N'er_workflow_node',
-     'COLUMN', N'workflow_id'
+     'TABLE', N'sj_job_log_message',
+     'COLUMN', N'task_batch_id'
 GO
 
 EXEC sp_addextendedproperty
-     'MS_Description', N'1銆佷换鍔¤妭鐐� 2銆佹潯浠惰妭鐐�',
+     'MS_Description', N'璋冨害浠诲姟id',
      'SCHEMA', N'dbo',
-     'TABLE', N'er_workflow_node',
-     'COLUMN', N'node_type'
+     'TABLE', N'sj_job_log_message',
+     'COLUMN', N'task_id'
 GO
 
 EXEC sp_addextendedproperty
-     'MS_Description', N'1銆丼pEl銆�2銆丄viator 3銆丵L',
+     'MS_Description', N'璋冨害淇℃伅',
      'SCHEMA', N'dbo',
-     'TABLE', N'er_workflow_node',
-     'COLUMN', N'expression_type'
+     'TABLE', N'sj_job_log_message',
+     'COLUMN', N'message'
 GO
 
 EXEC sp_addextendedproperty
-     'MS_Description', N'澶辫触绛栫暐 1銆佽烦杩� 2銆侀樆濉�',
+     'MS_Description', N'鏃ュ織鏁伴噺',
      'SCHEMA', N'dbo',
-     'TABLE', N'er_workflow_node',
-     'COLUMN', N'fail_strategy'
+     'TABLE', N'sj_job_log_message',
+     'COLUMN', N'log_num'
 GO
 
 EXEC sp_addextendedproperty
-     'MS_Description', N'宸ヤ綔娴佽妭鐐圭姸鎬� 0銆佸叧闂��1銆佸紑鍚�',
+     'MS_Description', N'涓婃姤鏃堕棿',
      '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'
+     'TABLE', N'sj_job_log_message',
+     'COLUMN', N'real_time'
 GO
 
 EXEC sp_addextendedproperty
      'MS_Description', N'鎵╁睍瀛楁',
      'SCHEMA', N'dbo',
-     'TABLE', N'er_workflow_node',
+     'TABLE', N'sj_job_log_message',
      'COLUMN', N'ext_attrs'
 GO
 
 EXEC sp_addextendedproperty
-     'MS_Description', N'宸ヤ綔娴佽妭鐐�',
+     'MS_Description', N'鍒涘缓鏃堕棿',
      'SCHEMA', N'dbo',
-     'TABLE', N'er_workflow_node'
+     'TABLE', N'sj_job_log_message',
+     'COLUMN', N'create_dt'
 GO
 
--- er_workflow_task_batch
-CREATE TABLE er_workflow_task_batch
+EXEC sp_addextendedproperty
+     'MS_Description', N'璋冨害鏃ュ織',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_job_log_message'
+GO
+
+-- sj_job_task
+CREATE TABLE sj_job_task
 (
-    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 ''
+    id             bigint        NOT NULL 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     DEFAULT NULL,
+    result_message nvarchar(max) NOT NULL,
+    args_str       nvarchar(max) NULL     DEFAULT NULL,
+    args_type      tinyint       NOT NULL DEFAULT 1,
+    ext_attrs      nvarchar(256) NULL     DEFAULT '',
+    create_dt      datetime2     NOT NULL DEFAULT CURRENT_TIMESTAMP,
+    update_dt      datetime2     NOT NULL DEFAULT CURRENT_TIMESTAMP
 )
 GO
 
-CREATE NONCLUSTERED INDEX idx_job_id_task_batch_status ON er_workflow_task_batch (workflow_id ASC, task_batch_status ASC)
+CREATE INDEX idx_sj_job_task_01 ON sj_job_task (task_batch_id, task_status)
 GO
-CREATE NONCLUSTERED INDEX idx_create_dt ON er_workflow_task_batch (create_dt ASC)
+CREATE INDEX idx_sj_job_task_02 ON sj_job_task (create_dt)
 GO
-CREATE NONCLUSTERED INDEX idx_namespace_id_group_name ON er_workflow_task_batch (namespace_id ASC, group_name ASC)
+CREATE INDEX idx_sj_job_task_03 ON sj_job_task (namespace_id, group_name)
 GO
 
 EXEC sp_addextendedproperty
      'MS_Description', N'涓婚敭',
      'SCHEMA', N'dbo',
-     'TABLE', N'er_workflow_task_batch',
+     'TABLE', N'sj_job_task',
      'COLUMN', N'id'
 GO
 
 EXEC sp_addextendedproperty
      'MS_Description', N'鍛藉悕绌洪棿id',
      'SCHEMA', N'dbo',
-     'TABLE', N'er_workflow_task_batch',
+     'TABLE', N'sj_job_task',
      'COLUMN', N'namespace_id'
 GO
 
 EXEC sp_addextendedproperty
      'MS_Description', N'缁勫悕绉�',
      'SCHEMA', N'dbo',
-     'TABLE', N'er_workflow_task_batch',
+     'TABLE', N'sj_job_task',
      'COLUMN', N'group_name'
 GO
 
 EXEC sp_addextendedproperty
-     'MS_Description', N'宸ヤ綔娴佷换鍔d',
+     'MS_Description', N'浠诲姟淇℃伅id',
      'SCHEMA', N'dbo',
-     'TABLE', N'er_workflow_task_batch',
-     'COLUMN', N'workflow_id'
+     'TABLE', N'sj_job_task',
+     'COLUMN', N'job_id'
 GO
 
 EXEC sp_addextendedproperty
-     'MS_Description', N'浠诲姟鎵规鐘舵�� 0銆佸け璐� 1銆佹垚鍔�',
+     'MS_Description', N'璋冨害浠诲姟id',
      'SCHEMA', N'dbo',
-     'TABLE', N'er_workflow_task_batch',
-     'COLUMN', N'task_batch_status'
+     'TABLE', N'sj_job_task',
+     'COLUMN', N'task_batch_id'
 GO
 
 EXEC sp_addextendedproperty
-     'MS_Description', N'鎿嶄綔鍘熷洜',
+     'MS_Description', N'鐖舵墽琛屽櫒id',
      'SCHEMA', N'dbo',
-     'TABLE', N'er_workflow_task_batch',
-     'COLUMN', N'operation_reason'
+     'TABLE', N'sj_job_task',
+     'COLUMN', N'parent_id'
 GO
 
 EXEC sp_addextendedproperty
-     'MS_Description', N'娴佺▼淇℃伅',
+     'MS_Description', N'鎵ц鐨勭姸鎬� 0銆佸け璐� 1銆佹垚鍔�',
      'SCHEMA', N'dbo',
-     'TABLE', N'er_workflow_task_batch',
-     'COLUMN', N'flow_info'
+     'TABLE', N'sj_job_task',
+     'COLUMN', N'task_status'
 GO
 
 EXEC sp_addextendedproperty
-     'MS_Description', N'浠诲姟鎵ц鏃堕棿',
+     'MS_Description', N'閲嶈瘯娆℃暟',
      'SCHEMA', N'dbo',
-     'TABLE', N'er_workflow_task_batch',
-     'COLUMN', N'execution_at'
+     'TABLE', N'sj_job_task',
+     'COLUMN', N'retry_count'
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'瀹㈡埛绔湴鍧� clientId#ip:port',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_job_task',
+     'COLUMN', N'client_info'
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'鎵ц缁撴灉',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_job_task',
+     'COLUMN', N'result_message'
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'鎵ц鏂规硶鍙傛暟',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_job_task',
+     'COLUMN', N'args_str'
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'鍙傛暟绫诲瀷 ',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_job_task',
+     'COLUMN', N'args_type'
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'鎵╁睍瀛楁',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_job_task',
+     'COLUMN', N'ext_attrs'
 GO
 
 EXEC sp_addextendedproperty
      'MS_Description', N'鍒涘缓鏃堕棿',
      'SCHEMA', N'dbo',
-     'TABLE', N'er_workflow_task_batch',
+     'TABLE', N'sj_job_task',
      'COLUMN', N'create_dt'
 GO
 
 EXEC sp_addextendedproperty
      'MS_Description', N'淇敼鏃堕棿',
      'SCHEMA', N'dbo',
-     'TABLE', N'er_workflow_task_batch',
+     'TABLE', N'sj_job_task',
      'COLUMN', N'update_dt'
 GO
 
 EXEC sp_addextendedproperty
-     'MS_Description', N'閫昏緫鍒犻櫎 1銆佸垹闄�',
+     'MS_Description', N'浠诲姟瀹炰緥',
      'SCHEMA', N'dbo',
-     'TABLE', N'er_workflow_task_batch',
-     'COLUMN', N'deleted'
+     'TABLE', N'sj_job_task'
+GO
+
+-- sj_job_task_batch
+CREATE TABLE sj_job_task_batch
+(
+    id                      bigint        NOT NULL 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 '',
+    ext_attrs               nvarchar(256) NULL     DEFAULT '',
+    deleted                 tinyint       NOT NULL DEFAULT 0,
+    create_dt               datetime2     NOT NULL DEFAULT CURRENT_TIMESTAMP,
+    update_dt               datetime2     NOT NULL DEFAULT CURRENT_TIMESTAMP
+)
+GO
+
+CREATE INDEX idx_sj_job_task_batch_01 ON sj_job_task_batch (job_id, task_batch_status)
+GO
+CREATE INDEX idx_sj_job_task_batch_02 ON sj_job_task_batch (create_dt)
+GO
+CREATE INDEX idx_sj_job_task_batch_03 ON sj_job_task_batch (namespace_id, group_name)
+GO
+CREATE INDEX idx_sj_job_task_batch_04 ON sj_job_task_batch (workflow_task_batch_id, workflow_node_id)
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'涓婚敭',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_job_task_batch',
+     'COLUMN', N'id'
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'鍛藉悕绌洪棿id',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_job_task_batch',
+     'COLUMN', N'namespace_id'
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'缁勫悕绉�',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_job_task_batch',
+     'COLUMN', N'group_name'
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'浠诲姟id',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_job_task_batch',
+     'COLUMN', N'job_id'
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'宸ヤ綔娴佽妭鐐筰d',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_job_task_batch',
+     'COLUMN', N'workflow_node_id'
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'宸ヤ綔娴佷换鍔$埗鎵规id',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_job_task_batch',
+     'COLUMN', N'parent_workflow_node_id'
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'宸ヤ綔娴佷换鍔℃壒娆d',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_job_task_batch',
+     'COLUMN', N'workflow_task_batch_id'
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'浠诲姟鎵规鐘舵�� 0銆佸け璐� 1銆佹垚鍔�',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_job_task_batch',
+     'COLUMN', N'task_batch_status'
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'鎿嶄綔鍘熷洜',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_job_task_batch',
+     'COLUMN', N'operation_reason'
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'浠诲姟鎵ц鏃堕棿',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_job_task_batch',
+     'COLUMN', N'execution_at'
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'浠诲姟绫诲瀷 3銆丣OB浠诲姟 4銆乄ORKFLOW浠诲姟',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_job_task_batch',
+     'COLUMN', N'system_task_type'
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'鐖惰妭鐐�',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_job_task_batch',
+     'COLUMN', N'parent_id'
 GO
 
 EXEC sp_addextendedproperty
      'MS_Description', N'鎵╁睍瀛楁',
      'SCHEMA', N'dbo',
-     'TABLE', N'er_workflow_task_batch',
+     'TABLE', N'sj_job_task_batch',
      'COLUMN', N'ext_attrs'
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'閫昏緫鍒犻櫎 1銆佸垹闄�',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_job_task_batch',
+     'COLUMN', N'deleted'
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'鍒涘缓鏃堕棿',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_job_task_batch',
+     'COLUMN', N'create_dt'
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'淇敼鏃堕棿',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_job_task_batch',
+     'COLUMN', N'update_dt'
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'浠诲姟鎵规',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_job_task_batch'
+GO
+
+-- sj_job_summary
+CREATE TABLE sj_job_summary
+(
+    id               bigint        NOT NULL PRIMARY KEY IDENTITY,
+    namespace_id     nvarchar(64)  NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a',
+    group_name       nvarchar(64)  NOT NULL DEFAULT '',
+    business_id      bigint        NOT NULL,
+    system_task_type tinyint       NOT NULL DEFAULT 3,
+    trigger_at       datetime2     NOT NULL DEFAULT CURRENT_TIMESTAMP,
+    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 CURRENT_TIMESTAMP,
+    update_dt        datetime2     NOT NULL DEFAULT CURRENT_TIMESTAMP
+)
+GO
+
+CREATE UNIQUE INDEX uk_sj_job_summary_01 ON sj_job_summary (trigger_at, system_task_type, business_id)
+GO
+
+CREATE INDEX idx_sj_job_summary_01 ON sj_job_summary (namespace_id, group_name, business_id)
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'涓婚敭',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_job_summary',
+     'COLUMN', N'id'
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'鍛藉悕绌洪棿id',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_job_summary',
+     'COLUMN', N'namespace_id'
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'缁勫悕绉�',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_job_summary',
+     'COLUMN', N'group_name'
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'涓氬姟id  ( job_id鎴杦orkflow_id ) ',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_job_summary',
+     'COLUMN', N'business_id'
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'浠诲姟绫诲瀷 3銆丣OB浠诲姟 4銆乄ORKFLOW浠诲姟',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_job_summary',
+     'COLUMN', N'system_task_type'
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'缁熻鏃堕棿',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_job_summary',
+     'COLUMN', N'trigger_at'
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'鎵ц鎴愬姛-鏃ュ織鏁伴噺',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_job_summary',
+     'COLUMN', N'success_num'
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'鎵ц澶辫触-鏃ュ織鏁伴噺',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_job_summary',
+     'COLUMN', N'fail_num'
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'澶辫触鍘熷洜',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_job_summary',
+     'COLUMN', N'fail_reason'
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'鎵ц澶辫触-鏃ュ織鏁伴噺',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_job_summary',
+     'COLUMN', N'stop_num'
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'澶辫触鍘熷洜',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_job_summary',
+     'COLUMN', N'stop_reason'
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'鎵ц澶辫触-鏃ュ織鏁伴噺',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_job_summary',
+     'COLUMN', N'cancel_num'
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'澶辫触鍘熷洜',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_job_summary',
+     'COLUMN', N'cancel_reason'
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'鍒涘缓鏃堕棿',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_job_summary',
+     'COLUMN', N'create_dt'
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'淇敼鏃堕棿',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_job_summary',
+     'COLUMN', N'update_dt'
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'DashBoard_Job',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_job_summary'
+GO
+
+-- sj_retry_summary
+CREATE TABLE sj_retry_summary
+(
+    id            bigint       NOT NULL 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 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     datetime2    NOT NULL DEFAULT CURRENT_TIMESTAMP,
+    update_dt     datetime2    NOT NULL DEFAULT CURRENT_TIMESTAMP
+)
+GO
+
+CREATE UNIQUE INDEX uk_sj_retry_summary_01 ON sj_retry_summary (namespace_id, group_name, scene_name, trigger_at)
+GO
+
+CREATE INDEX idx_sj_retry_summary_01 ON sj_retry_summary (trigger_at)
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'涓婚敭',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_retry_summary',
+     'COLUMN', N'id'
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'鍛藉悕绌洪棿id',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_retry_summary',
+     'COLUMN', N'namespace_id'
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'缁勫悕绉�',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_retry_summary',
+     'COLUMN', N'group_name'
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'鍦烘櫙鍚嶇О',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_retry_summary',
+     'COLUMN', N'scene_name'
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'缁熻鏃堕棿',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_retry_summary',
+     'COLUMN', N'trigger_at'
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'閲嶈瘯涓�-鏃ュ織鏁伴噺',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_retry_summary',
+     'COLUMN', N'running_num'
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'閲嶈瘯瀹屾垚-鏃ュ織鏁伴噺',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_retry_summary',
+     'COLUMN', N'finish_num'
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'閲嶈瘯鍒拌揪鏈�澶ф鏁�-鏃ュ織鏁伴噺',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_retry_summary',
+     'COLUMN', N'max_count_num'
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'鏆傚仠閲嶈瘯-鏃ュ織鏁伴噺',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_retry_summary',
+     'COLUMN', N'suspend_num'
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'鍒涘缓鏃堕棿',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_retry_summary',
+     'COLUMN', N'create_dt'
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'淇敼鏃堕棿',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_retry_summary',
+     'COLUMN', N'update_dt'
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'DashBoard_Retry',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_retry_summary'
+GO
+
+-- sj_workflow
+CREATE TABLE sj_workflow
+(
+    id               bigint        NOT NULL PRIMARY KEY 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,
+    ext_attrs        nvarchar(256) NULL     DEFAULT '',
+    deleted          tinyint       NOT NULL DEFAULT 0,
+    create_dt        datetime2     NOT NULL DEFAULT CURRENT_TIMESTAMP,
+    update_dt        datetime2     NOT NULL DEFAULT CURRENT_TIMESTAMP
+)
+GO
+
+CREATE INDEX idx_sj_workflow_01 ON sj_workflow (create_dt)
+GO
+CREATE INDEX idx_sj_workflow_02 ON sj_workflow (namespace_id, group_name)
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'涓婚敭',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_workflow',
+     'COLUMN', N'id'
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'宸ヤ綔娴佸悕绉�',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_workflow',
+     'COLUMN', N'workflow_name'
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'鍛藉悕绌洪棿id',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_workflow',
+     'COLUMN', N'namespace_id'
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'缁勫悕绉�',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_workflow',
+     'COLUMN', N'group_name'
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'宸ヤ綔娴佺姸鎬� 0銆佸叧闂��1銆佸紑鍚�',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_workflow',
+     'COLUMN', N'workflow_status'
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'瑙﹀彂绫诲瀷 1.CRON 琛ㄨ揪寮� 2. 鍥哄畾鏃堕棿',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_workflow',
+     'COLUMN', N'trigger_type'
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'闂撮殧鏃堕暱',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_workflow',
+     'COLUMN', N'trigger_interval'
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'涓嬫瑙﹀彂鏃堕棿',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_workflow',
+     'COLUMN', N'next_trigger_at'
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'闃诲绛栫暐 1銆佷涪寮� 2銆佽鐩� 3銆佸苟琛�',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_workflow',
+     'COLUMN', N'block_strategy'
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'浠诲姟鎵ц瓒呮椂鏃堕棿锛屽崟浣嶇',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_workflow',
+     'COLUMN', N'executor_timeout'
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'鎻忚堪',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_workflow',
+     'COLUMN', N'description'
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'娴佺▼淇℃伅',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_workflow',
+     'COLUMN', N'flow_info'
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'bucket',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_workflow',
+     'COLUMN', N'bucket_index'
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'鐗堟湰鍙�',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_workflow',
+     'COLUMN', N'version'
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'鎵╁睍瀛楁',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_workflow',
+     'COLUMN', N'ext_attrs'
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'閫昏緫鍒犻櫎 1銆佸垹闄�',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_workflow',
+     'COLUMN', N'deleted'
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'鍒涘缓鏃堕棿',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_workflow',
+     'COLUMN', N'create_dt'
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'淇敼鏃堕棿',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_workflow',
+     'COLUMN', N'update_dt'
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'宸ヤ綔娴�',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_workflow'
+GO
+
+-- sj_workflow_node
+CREATE TABLE sj_workflow_node
+(
+    id                   bigint        NOT NULL 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,
+    ext_attrs            nvarchar(256) NULL     DEFAULT '',
+    deleted              tinyint       NOT NULL DEFAULT 0,
+    create_dt            datetime2     NOT NULL DEFAULT CURRENT_TIMESTAMP,
+    update_dt            datetime2     NOT NULL DEFAULT CURRENT_TIMESTAMP
+)
+GO
+
+CREATE INDEX idx_sj_workflow_node_01 ON sj_workflow_node (create_dt)
+GO
+CREATE INDEX idx_sj_workflow_node_02 ON sj_workflow_node (namespace_id, group_name)
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'涓婚敭',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_workflow_node',
+     'COLUMN', N'id'
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'鍛藉悕绌洪棿id',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_workflow_node',
+     'COLUMN', N'namespace_id'
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'鑺傜偣鍚嶇О',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_workflow_node',
+     'COLUMN', N'node_name'
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'缁勫悕绉�',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_workflow_node',
+     'COLUMN', N'group_name'
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'浠诲姟淇℃伅id',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_workflow_node',
+     'COLUMN', N'job_id'
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'宸ヤ綔娴両D',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_workflow_node',
+     'COLUMN', N'workflow_id'
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'1銆佷换鍔¤妭鐐� 2銆佹潯浠惰妭鐐�',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_workflow_node',
+     'COLUMN', N'node_type'
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'1銆丼pEl銆�2銆丄viator 3銆丵L',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_workflow_node',
+     'COLUMN', N'expression_type'
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'澶辫触绛栫暐 1銆佽烦杩� 2銆侀樆濉�',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_workflow_node',
+     'COLUMN', N'fail_strategy'
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'宸ヤ綔娴佽妭鐐圭姸鎬� 0銆佸叧闂��1銆佸紑鍚�',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_workflow_node',
+     'COLUMN', N'workflow_node_status'
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'浼樺厛绾�',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_workflow_node',
+     'COLUMN', N'priority_level'
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'鑺傜偣淇℃伅 ',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_workflow_node',
+     'COLUMN', N'node_info'
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'鐗堟湰鍙�',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_workflow_node',
+     'COLUMN', N'version'
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'鎵╁睍瀛楁',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_workflow_node',
+     'COLUMN', N'ext_attrs'
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'閫昏緫鍒犻櫎 1銆佸垹闄�',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_workflow_node',
+     'COLUMN', N'deleted'
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'鍒涘缓鏃堕棿',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_workflow_node',
+     'COLUMN', N'create_dt'
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'淇敼鏃堕棿',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_workflow_node',
+     'COLUMN', N'update_dt'
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'宸ヤ綔娴佽妭鐐�',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_workflow_node'
+GO
+
+-- sj_workflow_task_batch
+CREATE TABLE sj_workflow_task_batch
+(
+    id                bigint        NOT NULL 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,
+    ext_attrs         nvarchar(256) NULL     DEFAULT '',
+    deleted           tinyint       NOT NULL DEFAULT 0,
+    create_dt         datetime2     NOT NULL DEFAULT CURRENT_TIMESTAMP,
+    update_dt         datetime2     NOT NULL DEFAULT CURRENT_TIMESTAMP
+)
+GO
+
+CREATE INDEX idx_sj_workflow_task_batch_01 ON sj_workflow_task_batch (workflow_id, task_batch_status)
+GO
+CREATE INDEX idx_sj_workflow_task_batch_02 ON sj_workflow_task_batch (create_dt)
+GO
+CREATE INDEX idx_sj_workflow_task_batch_03 ON sj_workflow_task_batch (namespace_id, group_name)
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'涓婚敭',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_workflow_task_batch',
+     'COLUMN', N'id'
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'鍛藉悕绌洪棿id',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_workflow_task_batch',
+     'COLUMN', N'namespace_id'
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'缁勫悕绉�',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_workflow_task_batch',
+     'COLUMN', N'group_name'
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'宸ヤ綔娴佷换鍔d',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_workflow_task_batch',
+     'COLUMN', N'workflow_id'
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'浠诲姟鎵规鐘舵�� 0銆佸け璐� 1銆佹垚鍔�',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_workflow_task_batch',
+     'COLUMN', N'task_batch_status'
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'鎿嶄綔鍘熷洜',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_workflow_task_batch',
+     'COLUMN', N'operation_reason'
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'娴佺▼淇℃伅',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_workflow_task_batch',
+     'COLUMN', N'flow_info'
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'浠诲姟鎵ц鏃堕棿',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_workflow_task_batch',
+     'COLUMN', N'execution_at'
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'鎵╁睍瀛楁',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_workflow_task_batch',
+     'COLUMN', N'ext_attrs'
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'閫昏緫鍒犻櫎 1銆佸垹闄�',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_workflow_task_batch',
+     'COLUMN', N'deleted'
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'鍒涘缓鏃堕棿',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_workflow_task_batch',
+     'COLUMN', N'create_dt'
+GO
+
+EXEC sp_addextendedproperty
+     'MS_Description', N'淇敼鏃堕棿',
+     'SCHEMA', N'dbo',
+     'TABLE', N'sj_workflow_task_batch',
+     'COLUMN', N'update_dt'
 GO
 
 EXEC sp_addextendedproperty
      'MS_Description', N'宸ヤ綔娴佹壒娆�',
      'SCHEMA', N'dbo',
-     'TABLE', N'er_workflow_task_batch'
+     'TABLE', N'sj_workflow_task_batch'
 GO
+
diff --git a/script/sql/sqlserver/sqlserver_ry_vue_5.X.sql b/script/sql/sqlserver/sqlserver_ry_vue_5.X.sql
index 03d805d..00f0771 100644
--- a/script/sql/sqlserver/sqlserver_ry_vue_5.X.sql
+++ b/script/sql/sqlserver/sqlserver_ry_vue_5.X.sql
@@ -1692,7 +1692,7 @@
 GO
 INSERT sys_menu VALUES (118, N'鏂囦欢绠$悊', 1, 10, N'oss', N'system/oss/index', N'', 1, 0, N'C', '0', N'0', N'system:oss:list', N'upload', 103, 1, getdate(), NULL, NULL, N'鏂囦欢绠$悊鑿滃崟');
 GO
-INSERT sys_menu VALUES (120, N'浠诲姟璋冨害涓績', 2, 5, N'easyretry', N'monitor/easyretry/index', N'', 1, 0, N'C', N'0', N'0', N'monitor:easyretry:list', N'job', 103, 1, getdate(), NULL, NULL, N'easyretry鎺у埗鍙拌彍鍗�');
+INSERT sys_menu VALUES (120, N'浠诲姟璋冨害涓績', 2, 5, N'snailjob', N'monitor/snailjob/index', N'', 1, 0, N'C', N'0', N'0', N'monitor:snailjob:list', N'job', 103, 1, getdate(), NULL, NULL, N'SnailJob鎺у埗鍙拌彍鍗�');
 GO
 INSERT sys_menu VALUES (500, N'鎿嶄綔鏃ュ織', 108, 1, N'operlog', N'monitor/operlog/index', N'', 1, 0, N'C', N'0', N'0', N'monitor:operlog:list', N'form', 103, 1, getdate(), NULL, NULL, N'鎿嶄綔鏃ュ織鑿滃崟')
 GO
diff --git a/script/sql/update/oracle/update_5.1.2-5.2.0.sql b/script/sql/update/oracle/update_5.1.2-5.2.0.sql
index 90f488b..0f87fd6 100644
--- a/script/sql/update/oracle/update_5.1.2-5.2.0.sql
+++ b/script/sql/update/oracle/update_5.1.2-5.2.0.sql
@@ -6,3 +6,4 @@
 COMMENT ON COLUMN sys_post.post_category IS '宀椾綅绫诲埆缂栫爜';
 UPDATE sys_post SET dept_id = 100;
 UPDATE sys_post SET dept_id = 103 where post_id = 1;
+UPDATE sys_menu SET path = 'snailjob', component = 'monitor/snailjob/index', perms = 'monitor:snailjob:list', remark = 'SnailJob鎺у埗鍙拌彍鍗�' WHERE menu_id = 120;
diff --git a/script/sql/update/postgres/update_5.1.2-5.2.0.sql b/script/sql/update/postgres/update_5.1.2-5.2.0.sql
index 6b123b4..dc36ebf 100644
--- a/script/sql/update/postgres/update_5.1.2-5.2.0.sql
+++ b/script/sql/update/postgres/update_5.1.2-5.2.0.sql
@@ -6,3 +6,4 @@
 COMMENT ON COLUMN sys_post.post_category IS '宀椾綅绫诲埆缂栫爜';
 UPDATE sys_post SET dept_id = 100;
 UPDATE sys_post SET dept_id = 103 where post_id = 1;
+UPDATE sys_menu SET path = 'snailjob', component = 'monitor/snailjob/index', perms = 'monitor:snailjob:list', remark = 'SnailJob鎺у埗鍙拌彍鍗�' WHERE menu_id = 120;
diff --git a/script/sql/update/sqlserver/update_5.1.2-5.2.0.sql b/script/sql/update/sqlserver/update_5.1.2-5.2.0.sql
index 66335e4..bf69f10 100644
--- a/script/sql/update/sqlserver/update_5.1.2-5.2.0.sql
+++ b/script/sql/update/sqlserver/update_5.1.2-5.2.0.sql
@@ -1,27 +1,29 @@
-ALTER TABLE sys_dept ADD dept_category nvarchar(100) DEFAULT NULL;
+ALTER TABLE sys_dept ADD dept_category nvarchar(100) DEFAULT NULL
 EXEC sp_addextendedproperty
     'MS_Description', N'閮ㄩ棬绫诲埆缂栫爜',
     'SCHEMA', N'dbo',
     'TABLE', N'sys_dept',
-    'COLUMN', N'dept_category';
+    'COLUMN', N'dept_category'
 GO
-ALTER TABLE sys_post ADD dept_id bigint NOT NULL;
+ALTER TABLE sys_post ADD dept_id bigint NOT NULL
 GO
-ALTER TABLE sys_post ADD post_category nvarchar(100) DEFAULT NULL;
+ALTER TABLE sys_post ADD post_category nvarchar(100) DEFAULT NULL
 GO
 EXEC sp_addextendedproperty
     'MS_Description', N'閮ㄩ棬id',
     'SCHEMA', N'dbo',
     'TABLE', N'sys_post',
-    'COLUMN', N'dept_id';
+    'COLUMN', N'dept_id'
 GO
 EXEC sp_addextendedproperty
     'MS_Description', N'宀椾綅绫诲埆缂栫爜',
     'SCHEMA', N'dbo',
     'TABLE', N'sys_post',
-    'COLUMN', N'post_category';
+    'COLUMN', N'post_category'
 GO
-UPDATE sys_post SET dept_id = 100;
+UPDATE sys_post SET dept_id = 100
 GO
-UPDATE sys_post SET dept_id = 103 where post_id = 1;
+UPDATE sys_post SET dept_id = 103 where post_id = 1
 GO
+UPDATE sys_menu SET path = N'snailjob', component = N'monitor/snailjob/index', perms = N'monitor:snailjob:list', remark = N'SnailJob鎺у埗鍙拌彍鍗�' WHERE menu_id = 120
+GO
\ No newline at end of file
diff --git a/script/sql/update/update_5.1.2-5.2.0.sql b/script/sql/update/update_5.1.2-5.2.0.sql
index 3cf5601..11d71c8 100644
--- a/script/sql/update/update_5.1.2-5.2.0.sql
+++ b/script/sql/update/update_5.1.2-5.2.0.sql
@@ -2,3 +2,4 @@
 ALTER TABLE sys_post ADD dept_id BIGINT(20) NOT NULL COMMENT '閮ㄩ棬id', ADD post_category VARCHAR(100) DEFAULT NULL COMMENT '宀椾綅绫诲埆缂栫爜';
 UPDATE sys_post SET dept_id = 100;
 UPDATE sys_post SET dept_id = 103 where post_id = 1;
+UPDATE sys_menu SET path = 'snailjob', component = 'monitor/snailjob/index', perms = 'monitor:snailjob:list', remark = 'SnailJob鎺у埗鍙拌彍鍗�' WHERE menu_id = 120;

--
Gitblit v1.9.3