pom.xml
@@ -35,6 +35,7 @@ <dynamic-ds.version>4.3.0</dynamic-ds.version> <alibaba-ttl.version>2.14.4</alibaba-ttl.version> <powerjob.version>4.3.6</powerjob.version> <easyretry.version>3.1.0</easyretry.version> <mapstruct-plus.version>1.3.6</mapstruct-plus.version> <mapstruct-plus.lombok.version>0.2.0</mapstruct-plus.lombok.version> <lombok.version>1.18.30</lombok.version> @@ -308,6 +309,23 @@ <version>${powerjob.version}</version> </dependency> <!-- EasyRetry Client --> <dependency> <groupId>com.aizuda</groupId> <artifactId>easy-retry-client-starter</artifactId> <version>${easyretry.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> </dependency> <dependency> <groupId>com.alibaba</groupId> <artifactId>transmittable-thread-local</artifactId> ruoyi-admin/pom.xml
@@ -97,6 +97,19 @@ <artifactId>JustAuth</artifactId> </dependency> <dependency> <groupId>com.aizuda</groupId> <artifactId>easy-retry-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> </dependency> <!-- skywalking æ´å logback --> <!-- <dependency>--> <!-- <groupId>org.apache.skywalking</groupId>--> ruoyi-admin/src/main/resources/application-dev.yml
@@ -24,6 +24,18 @@ server-address: 127.0.0.1:7700 store-strategy: disk --- # easy-retry é ç½® easy-retry: enabled: true # éè¦å¨EasyRetryåå°ç»ç®¡çå建对åºåç§°çç»,ç¶åå建任å¡çæ¶å鿩坹åºçç»,æè½æ£ç¡®åæ´¾ä»»å¡ group-name: "ruoyi_group" server: host: 127.0.0.1 port: 1788 # è¯¦è§ script/sql/easy_retry.sql `namespace` 表 namespace: ${spring.profiles.active} --- # æ°æ®æºé ç½® spring: datasource: ruoyi-admin/src/main/resources/application-prod.yml
@@ -27,6 +27,17 @@ server-address: 127.0.0.1:7700 store-strategy: disk --- # easy-retry é ç½® easy-retry: enabled: false # éè¦å¨EasyRetryåå°ç»ç®¡çå建对åºåç§°çç»,ç¶åå建任å¡çæ¶å鿩坹åºçç»,æè½æ£ç¡®åæ´¾ä»»å¡ group-name: "ruoyi_group" server: host: 127.0.0.1 port: 1788 # è¯¦è§ script/sql/easy_retry.sql `namespace` 表 namespace: ${spring.profiles.active} --- # æ°æ®æºé ç½® spring: datasource: ruoyi-admin/src/main/resources/application.yml
@@ -123,6 +123,9 @@ # actuator çæ§é ç½® - /actuator - /actuator/** # EasyRetry Job åæ´¾ @see com.aizuda.easy.retry.client.job.core.client.JobEndPoint - /job/dispatch/v1 - /job/stop/v1 # å¤ç§æ·é ç½® tenant: ruoyi-common/ruoyi-common-job/pom.xml
@@ -38,6 +38,20 @@ <artifactId>powerjob-official-processors</artifactId> </dependency> <!-- EasyRetry client --> <dependency> <groupId>com.aizuda</groupId> <artifactId>easy-retry-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> </dependency> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> ruoyi-common/ruoyi-common-job/src/main/java/org/dromara/common/job/config/EasyRetryConfig.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,19 @@ package org.dromara.common.job.config; import com.aizuda.easy.retry.client.starter.EnableEasyRetry; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.context.annotation.Configuration; import org.springframework.scheduling.annotation.EnableScheduling; /** * å¯å¨å®æ¶ä»»å¡ * * @author dhb52 * @since 2024/3/12 */ @Configuration @ConditionalOnProperty(prefix = "easy-retry", name = "enabled", havingValue = "true") @EnableScheduling @EnableEasyRetry(group = "${easy-retry.group-name}") public class EasyRetryConfig { } ruoyi-extend/pom.xml
@@ -14,6 +14,7 @@ <modules> <module>ruoyi-monitor-admin</module> <module>ruoyi-powerjob-server</module> <module>ruoyi-easyretry-server</module> </modules> </project> ruoyi-extend/ruoyi-easyretry-server/Dockerfile
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,18 @@ #FROM findepi/graalvm:java17-native FROM openjdk:17.0.2-oraclelinux8 MAINTAINER Lion Li RUN mkdir -p /ruoyi/easyretry/logs WORKDIR /ruoyi/easyretry 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 ENTRYPOINT java -Djava.security.egd=file:/dev/./urandom -jar app.jar \ -XX:+HeapDumpOnOutOfMemoryError -Xlog:gc*,:time,tags,level -XX:+UseZGC ${JAVA_OPTS} ruoyi-extend/ruoyi-easyretry-server/pom.xml
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,46 @@ <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <parent> <groupId>org.dromara</groupId> <artifactId>ruoyi-extend</artifactId> <version>${revision}</version> </parent> <modelVersion>4.0.0</modelVersion> <packaging>jar</packaging> <artifactId>ruoyi-easyretry-server</artifactId> <dependencies> <dependency> <groupId>com.aizuda</groupId> <artifactId>easy-retry-server-starter</artifactId> <version>${easyretry.version}</version> </dependency> <dependency> <groupId>de.codecentric</groupId> <artifactId>spring-boot-admin-starter-client</artifactId> <version>${spring-boot-admin.version}</version> </dependency> </dependencies> <build> <finalName>ruoyi-easyretry-server</finalName> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <excludes> <exclude> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> </exclude> </excludes> </configuration> </plugin> </plugins> </build> </project> ruoyi-extend/ruoyi-easyretry-server/src/main/java/org/dromara/easyretry/EasyRetryServerApplication.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,18 @@ 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); } } ruoyi-extend/ruoyi-easyretry-server/src/main/resources/application.yml
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,66 @@ server: port: 8800 servlet: context-path: /easy-retry spring: application: name: ruoyi-easyretry-server profiles: active: @profiles.active@ datasource: name: ry-vue url: jdbc:mysql://localhost:3306/ry-vue?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true username: root password: root type: com.zaxxer.hikari.HikariDataSource driver-class-name: com.mysql.cj.jdbc.Driver hikari: connection-timeout: 30000 minimum-idle: 5 maximum-pool-size: 20 auto-commit: true idle-timeout: 30000 pool-name: easy_retry max-lifetime: 1800000 web: resources: static-locations: classpath:admin/ mybatis-plus: typeAliasesPackage: com.aizuda.easy.retry.template.datasource.persistence.po global-config: db-config: where-strategy: NOT_EMPTY capital-mode: false logic-delete-value: 1 logic-not-delete-value: 0 configuration: map-underscore-to-camel-case: true cache-enabled: true logging: config: classpath:logback-boot.xml easy-retry: retry-pull-page-size: 1000 # æåéè¯æ°æ®çæ¯æ¹æ¬¡çå¤§å° job-pull-page-size: 1000 # æåéè¯æ°æ®çæ¯æ¹æ¬¡çå¤§å° netty-port: 1788 # æå¡ç«¯nettyç«¯å£ total-partition: 2 # éè¯åæ»ä¿¡è¡¨çååºæ»æ° limiter: 1000 # ä¸ä¸ªå®¢æ·ç«¯æ¯ç§æå¤æ¥æ¶çéè¯æ°éæä»¤ step: 100 # å·æ®µæ¨¡å¼ä¸æ¥é¿é ç½® log-storage: 90 # æ¥å¿ä¿åæ¶é´(åä½: day) callback: # åè°é ç½® max-count: 288 #åè°æå¤§æ§è¡æ¬¡æ° trigger-interval: 900 #é´éæ¶é´ db-type: mysql #å½å使ç¨çæ°æ®åº mode: all retry-max-pull-count: 10 --- # çæ§ä¸å¿é ç½® spring.boot.admin.client: # å¢å 客æ·ç«¯å¼å ³ enabled: true url: http://localhost:9090/admin instance: service-host-type: IP username: ruoyi password: 123456 ruoyi-extend/ruoyi-easyretry-server/src/main/resources/logback-boot.xml
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,88 @@ <configuration> <property name="log.base" value="./logs/ruoyi-easyretry-server" /> <appender name="stdout" class="ch.qos.logback.core.ConsoleAppender"> <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> <Pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{256} - %msg%n </Pattern> </encoder> </appender> <appender name="fileInfo" class="ch.qos.logback.core.rolling.RollingFileAppender"> <file>${log.base}/info.log</file> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <FileNamePattern>${log.base}/info.%d{yyyy-MM-dd}.log</FileNamePattern> <MaxHistory>30</MaxHistory> </rollingPolicy> <layout class="ch.qos.logback.classic.PatternLayout"> <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{256} - %msg%n</pattern> </layout> <filter class="ch.qos.logback.classic.filter.LevelFilter"> <level>INFO</level> <onMatch>ACCEPT</onMatch> <onMismatch>DENY</onMismatch> </filter> </appender> <appender name="fileWarn" class="ch.qos.logback.core.rolling.RollingFileAppender"> <file>${log.base}/warn.log</file> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <FileNamePattern>${log.base}/warn.%d{yyyy-MM-dd}.log </FileNamePattern> <MaxHistory>30</MaxHistory> </rollingPolicy> <layout class="ch.qos.logback.classic.PatternLayout"> <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{256} - %msg%n</pattern> </layout> <filter class="ch.qos.logback.classic.filter.LevelFilter"> <level>WARN</level> <onMatch>ACCEPT</onMatch> <onMismatch>DENY</onMismatch> </filter> </appender> <appender name="fileError" class="ch.qos.logback.core.rolling.RollingFileAppender"> <file>${log.base}/error.log</file> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <FileNamePattern>${log.base}/error.%d{yyyy-MM-dd}.log </FileNamePattern> <MaxHistory>30</MaxHistory> </rollingPolicy> <layout class="ch.qos.logback.classic.PatternLayout"> <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{256} - %msg%n</pattern> </layout> <filter class="ch.qos.logback.classic.filter.LevelFilter"> <level>ERROR</level> <onMatch>ACCEPT</onMatch> <onMismatch>DENY</onMismatch> </filter> </appender> <appender name ="asyncInfo" class= "ch.qos.logback.classic.AsyncAppender"> <discardingThreshold >100</discardingThreshold> <queueSize>1024</queueSize> <appender-ref ref ="fileInfo"/> </appender> <appender name ="asyncWarn" class= "ch.qos.logback.classic.AsyncAppender"> <discardingThreshold >100</discardingThreshold> <queueSize>1024</queueSize> <appender-ref ref ="fileWarn"/> </appender> <appender name ="asyncError" class= "ch.qos.logback.classic.AsyncAppender"> <discardingThreshold >100</discardingThreshold> <queueSize>1024</queueSize> <appender-ref ref ="fileError"/> </appender> <!-- æ§å¶å°è¾åºæ¥å¿çº§å« --> <root level="info"> <appender-ref ref="stdout" /> <appender-ref ref="asyncInfo" /> <appender-ref ref="asyncWarn" /> <appender-ref ref="asyncError" /> </root> </configuration> ruoyi-modules/ruoyi-job/src/main/java/org/dromara/job/easyretry/TestAnnoJobExecutor.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,20 @@ 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 org.springframework.stereotype.Component; /** * @author www.byteblogs.com * @date 2023-09-28 22:54:07 * @since 2.4.0 */ @Component @JobExecutor(name = "testJobExecutor") public class TestAnnoJobExecutor { public ExecuteResult jobExecute(JobArgs jobArgs) { return ExecuteResult.success("æµè¯æå"); } } ruoyi-modules/ruoyi-job/src/main/java/org/dromara/job/easyretry/TestAnnoJobExecutorSleep10s.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,27 @@ 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 org.springframework.stereotype.Component; /** * @author www.byteblogs.com * @date 2023-09-28 22:54:07 * @since 2.4.0 */ @Component @JobExecutor(name = "testAnnoJobExecutorSleep10s") public class TestAnnoJobExecutorSleep10s { public ExecuteResult jobExecute(JobArgs jobArgs) { System.out.println(JsonUtil.toJsonString(jobArgs)); try { Thread.sleep(10 * 1000); } catch (InterruptedException e) { throw new RuntimeException(e); } return ExecuteResult.success("æµè¯æå"); } } ruoyi-modules/ruoyi-job/src/main/java/org/dromara/job/easyretry/TestAnnoJobExecutorSleep1s.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,27 @@ 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 org.springframework.stereotype.Component; /** * @author www.byteblogs.com * @date 2023-09-28 22:54:07 * @since 2.4.0 */ @Component @JobExecutor(name = "testAnnoJobExecutorSleep1s") public class TestAnnoJobExecutorSleep1s { public ExecuteResult jobExecute(JobArgs jobArgs) { System.out.println(JsonUtil.toJsonString(jobArgs)); try { Thread.sleep(1000); } catch (InterruptedException e) { throw new RuntimeException(e); } return ExecuteResult.success("æµè¯æå"); } } ruoyi-modules/ruoyi-job/src/main/java/org/dromara/job/easyretry/TestAnnoJobExecutorSleep30s.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,27 @@ 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 org.springframework.stereotype.Component; /** * @author www.byteblogs.com * @date 2023-09-28 22:54:07 * @since 2.4.0 */ @Component @JobExecutor(name = "testAnnoJobExecutorSleep30s") public class TestAnnoJobExecutorSleep30s { public ExecuteResult jobExecute(JobArgs jobArgs) { System.out.println(JsonUtil.toJsonString(jobArgs)); try { Thread.sleep(30 * 1000); } catch (InterruptedException e) { throw new RuntimeException(e); } return ExecuteResult.success("æµè¯æå"); } } ruoyi-modules/ruoyi-job/src/main/java/org/dromara/job/easyretry/TestAnnoJobExecutorSleep5s.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,30 @@ 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 lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Component; /** * @author www.byteblogs.com * @date 2023-09-28 22:54:07 * @since 2.4.0 */ @Component @Slf4j @JobExecutor(name = "testAnnoJobExecutorSleep5s") public class TestAnnoJobExecutorSleep5s { public ExecuteResult jobExecute(JobArgs jobArgs) { log.info("testAnnoJobExecutorSleep5s. jobArgs:{}", JsonUtil.toJsonString(jobArgs)); try { Thread.sleep(5 * 1000); } catch (InterruptedException e) { throw new RuntimeException(e); } return ExecuteResult.success("æµè¯æå"); } } ruoyi-modules/ruoyi-job/src/main/java/org/dromara/job/easyretry/TestClassJobExecutor.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,20 @@ 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 * @since 2.4.0 */ @Component public class TestClassJobExecutor extends AbstractJobExecutor { @Override protected ExecuteResult doJobExecute(JobArgs jobArgs) { return ExecuteResult.success("TestJobExecutoræµè¯æå"); } } script/docker/docker-compose.yml
@@ -156,3 +156,16 @@ privileged: true network_mode: "host" ruoyi-easyretry-server: image: ruoyi/ruoyi-easyretry-server:5.2.0 container_name: ruoyi-easyretry-server environment: # æ¶åºä¸æµ· TZ: Asia/Shanghai ports: - "8800:8800" - "1788:1788" volumes: - /docker/easyretry/logs/:/ruoyi/easyretry/logs privileged: true network_mode: "host" script/docker/nginx/conf/nginx.conf
@@ -35,6 +35,10 @@ server 127.0.0.1:7700; } upstream easyretry-server { server 127.0.0.1:8800; } server { listen 80; server_name localhost; @@ -112,6 +116,14 @@ proxy_pass http://powerjob-server; } location /easy-retry/ { 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/; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; script/sql/easy_retry.sql
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,548 @@ SET NAMES utf8mb4; DROP TABLE IF EXISTS `namespace`; CREATE TABLE `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 'æè¿°', `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 `namespace` (`id`, `name`, `unique_id`, `create_dt`, `update_dt`, `deleted`) VALUES (1, 'Development', 'dev', now(), now(), 0); INSERT INTO `namespace` (`id`, `name`, `unique_id`, `create_dt`, `update_dt`, `deleted`) VALUES (2, 'Production', 'prod', now(), now(), 0); DROP TABLE IF EXISTS `group_config`; CREATE TABLE `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 'ç»æè¿°', `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', `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 ='ç»é ç½®' ; INSERT INTO `ry-vue`.group_config (id, namespace_id, group_name, description, group_status, version, group_partition, id_generator_mode, init_scene, bucket_index, create_dt, update_dt) VALUES (1, 'dev', 'ruoyi_group', '', 1, 1, 0, 1, 1, 4, '2024-03-13 23:21:41', '2024-03-13 23:21:40'); DROP TABLE IF EXISTS `notify_config`; CREATE TABLE `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 'æ¯ç§éæµéå¼', `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`) ) ENGINE = InnoDB AUTO_INCREMENT = 0 DEFAULT CHARSET = utf8mb4 COMMENT ='éç¥é ç½®' ; DROP TABLE IF EXISTS `retry_dead_letter_0`; CREATE TABLE `retry_dead_letter_0` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主é®', `namespace_id` varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT 'å½å空é´id', `unique_id` varchar(64) NOT NULL COMMENT 'åç»ä¸idå¯ä¸', `group_name` varchar(64) NOT NULL COMMENT 'ç»åç§°', `scene_name` varchar(64) NOT NULL COMMENT 'åºæ¯åç§°', `idempotent_id` varchar(64) NOT NULL COMMENT 'å¹çid', `biz_no` varchar(64) NOT NULL DEFAULT '' COMMENT 'ä¸å¡ç¼å·', `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ãåè°æ°æ®', `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`), KEY `idx_idempotent_id` (`idempotent_id`), KEY `idx_biz_no` (`biz_no`), KEY `idx_create_dt` (`create_dt`), UNIQUE KEY `uk_namespace_id_group_name_unique_id` (`namespace_id`, `group_name`, `unique_id`) ) ENGINE = InnoDB AUTO_INCREMENT = 0 DEFAULT CHARSET = utf8mb4 COMMENT ='æ»ä¿¡éå表' ; DROP TABLE IF EXISTS `retry_task_0`; CREATE TABLE `retry_task_0` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主é®', `namespace_id` varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT 'å½å空é´id', `unique_id` varchar(64) NOT NULL COMMENT 'åç»ä¸idå¯ä¸', `group_name` varchar(64) NOT NULL COMMENT 'ç»åç§°', `scene_name` varchar(64) NOT NULL COMMENT 'åºæ¯åç§°', `idempotent_id` varchar(64) NOT NULL COMMENT 'å¹çid', `biz_no` varchar(64) NOT NULL DEFAULT '' COMMENT 'ä¸å¡ç¼å·', `executor_name` varchar(512) NOT NULL DEFAULT '' COMMENT 'æ§è¡å¨åç§°', `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ãåè°æ°æ®', `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_task_type` (`namespace_id`, `group_name`, `task_type`), KEY `idx_namespace_id_group_name_retry_status` (`namespace_id`, `group_name`, `retry_status`), KEY `idx_idempotent_id` (`idempotent_id`), KEY `idx_biz_no` (`biz_no`), KEY `idx_create_dt` (`create_dt`), UNIQUE KEY `uk_name_unique_id` (`namespace_id`, `group_name`, `unique_id`) ) ENGINE = InnoDB AUTO_INCREMENT = 0 DEFAULT CHARSET = utf8mb4 COMMENT ='ä»»å¡è¡¨' ; DROP TABLE IF EXISTS `retry_task_log`; CREATE TABLE `retry_task_log` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主é®', `namespace_id` varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT 'å½å空é´id', `unique_id` varchar(64) NOT NULL COMMENT 'åç»ä¸idå¯ä¸', `group_name` varchar(64) NOT NULL COMMENT 'ç»åç§°', `scene_name` varchar(64) NOT NULL COMMENT 'åºæ¯åç§°', `idempotent_id` varchar(64) NOT NULL COMMENT 'å¹çid', `biz_no` varchar(64) NOT NULL DEFAULT '' COMMENT 'ä¸å¡ç¼å·', `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ãåè°æ°æ®', `create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 'å建æ¶é´', PRIMARY KEY (`id`), KEY `idx_group_name_scene_name` (`namespace_id`, `group_name`, `scene_name`), KEY `idx_retry_status` (`retry_status`), KEY `idx_idempotent_id` (`idempotent_id`), KEY `idx_unique_id` (`unique_id`), KEY `idx_biz_no` (`biz_no`), KEY `idx_create_dt` (`create_dt`) ) ENGINE = InnoDB AUTO_INCREMENT = 0 DEFAULT CHARSET = utf8mb4 COMMENT ='任塿¥å¿åºç¡ä¿¡æ¯è¡¨' ; DROP TABLE IF EXISTS `retry_task_log_message`; CREATE TABLE `retry_task_log_message` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主é®', `namespace_id` varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT 'å½å空é´id', `group_name` varchar(64) NOT NULL COMMENT 'ç»åç§°', `unique_id` varchar(64) NOT NULL COMMENT 'åç»ä¸idå¯ä¸', `create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 'å建æ¶é´', `message` text NOT NULL COMMENT 'å¼å¸¸ä¿¡æ¯', `client_info` varchar(128) DEFAULT NULL COMMENT '客æ·ç«¯å°å clientId#ip:port', 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 ='ä»»å¡è°åº¦æ¥å¿ä¿¡æ¯è®°å½è¡¨' ; DROP TABLE IF EXISTS `scene_config`; CREATE TABLE `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ãCRON 表达å¼', `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 'è·¯ç±çç¥', `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`), UNIQUE KEY `uk_namespace_id_group_name_scene_name` (`namespace_id`, `group_name`, `scene_name`) ) ENGINE = InnoDB AUTO_INCREMENT = 0 DEFAULT CHARSET = utf8mb4 COMMENT ='åºæ¯é ç½®' ; DROP TABLE IF EXISTS `server_node`; CREATE TABLE `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 'æ©å±å段', `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` (`namespace_id`, `group_name`), KEY `idx_expire_at_node_type` (`expire_at`, `node_type`), UNIQUE KEY `uk_host_id_host_ip` (`host_id`, `host_ip`) ) ENGINE = InnoDB AUTO_INCREMENT = 0 DEFAULT CHARSET = utf8mb4 COMMENT ='æå¡å¨èç¹' ; DROP TABLE IF EXISTS `distributed_lock`; CREATE TABLE `distributed_lock` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主é®', `name` varchar(64) NOT NULL COMMENT 'éåç§°', `lock_until` timestamp(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) ON UPDATE CURRENT_TIMESTAMP(3) COMMENT 'é宿¶é¿', `locked_at` timestamp(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) COMMENT 'é宿¶é´', `locked_by` varchar(255) NOT NULL COMMENT 'éå®è ', `create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 'å建æ¶é´', `update_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 'ä¿®æ¹æ¶é´', PRIMARY KEY (`id`), UNIQUE KEY `uk_name` (`name`) ) ENGINE = InnoDB AUTO_INCREMENT = 0 DEFAULT CHARSET = utf8mb4 COMMENT ='éå®è¡¨' ; DROP TABLE IF EXISTS `system_user`; CREATE TABLE `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-管çå', `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_username` (`username`) USING BTREE ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COMMENT ='ç³»ç»ç¨æ·è¡¨'; -- pwd: admin INSERT INTO system_user (username, password, role) VALUES ('admin', '465c194afb65670f38322df087f0a9bb225cc257e43eb4ac5a0c98ef5b3173ac', 2); DROP TABLE IF EXISTS `system_user_permission`; CREATE TABLE `system_user_permission` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主é®', `group_name` varchar(64) NOT NULL COMMENT 'ç»åç§°', `namespace_id` varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT 'å½å空é´id', `system_user_id` bigint(20) NOT NULL COMMENT 'ç³»ç»ç¨æ·id', `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_system_user_id` (`namespace_id`, `group_name`, `system_user_id`) ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COMMENT ='ç³»ç»ç¨æ·æé表'; DROP TABLE IF EXISTS `sequence_alloc`; CREATE TABLE `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 'æå¤§id', `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`) ) ENGINE = InnoDB DEFAULT CHARSET = utf8mb4 COMMENT ='å·æ®µæ¨¡å¼åºå·IDåé 表'; -- åå¸å¼è°åº¦DDL DROP TABLE IF EXISTS `job`; CREATE TABLE `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 'åæ°ç±»å ', `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 'æ§è¡å¨ç±»å', `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 'æ¯å¦æ¯å¸¸é©»ä»»å¡', `description` varchar(256) NOT 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 'ä¿®æ¹æ¶é´', `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`), KEY `idx_create_dt` (`create_dt`) ) ENGINE = InnoDB AUTO_INCREMENT = 0 DEFAULT CHARSET = utf8mb4 COMMENT ='ä»»å¡ä¿¡æ¯'; INSERT INTO job (id, 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 (1, 'dev', 'ruoyi_group', 'demo-job', null, 1, 1710344035622, 1, 1, 4, 1, 'testJobExecutor', 2, '60', 1, 60, 3, 1, 1, 116, 0, '', '', '2024-03-13 22:59:39', '2024-03-13 23:32:52', 0); DROP TABLE IF EXISTS `job_log_message`; CREATE TABLE `job_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 'ç»åç§°', `job_id` bigint(20) NOT NULL COMMENT 'ä»»å¡ä¿¡æ¯id', `task_batch_id` bigint(20) NOT NULL COMMENT '任塿¹æ¬¡id', `task_id` bigint(20) NOT NULL COMMENT 'è°åº¦ä»»å¡id', `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 'å建æ¶é´', `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`), KEY `idx_namespace_id_group_name` (`namespace_id`, `group_name`) ) ENGINE = InnoDB AUTO_INCREMENT = 0 DEFAULT CHARSET = utf8mb4 COMMENT ='è°åº¦æ¥å¿'; DROP TABLE IF EXISTS `job_task`; CREATE TABLE `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 'éè¯æ¬¡æ°', `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 'æ©å±å段', `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_task_batch_id_task_status` (`task_batch_id`, `task_status`), KEY `idx_create_dt` (`create_dt`), KEY `idx_namespace_id_group_name` (`namespace_id`, `group_name`) ) ENGINE = InnoDB AUTO_INCREMENT = 0 DEFAULT CHARSET = utf8mb4 COMMENT ='ä»»å¡å®ä¾'; DROP TABLE IF EXISTS `job_task_batch`; CREATE TABLE `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 '工使µèç¹id', `parent_workflow_node_id` bigint(20) NOT NULL DEFAULT '0' COMMENT '工使µä»»å¡ç¶æ¹æ¬¡id', `workflow_task_batch_id` bigint(20) NOT NULL DEFAULT '0' COMMENT '工使µä»»å¡æ¹æ¬¡id', `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ãJOBä»»å¡ 4ãWORKFLOWä»»å¡', `parent_id` varchar(64) 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 'ä¿®æ¹æ¶é´', `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`), KEY `idx_namespace_id_group_name` (`namespace_id`, `group_name`), KEY `idx_workflow_task_batch_id_workflow_node_id` (`workflow_task_batch_id`,`workflow_node_id`) ) ENGINE = InnoDB AUTO_INCREMENT = 0 DEFAULT CHARSET = utf8mb4 COMMENT ='任塿¹æ¬¡'; DROP TABLE IF EXISTS `job_notify_config`; CREATE TABLE `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éç¥é ç½®'; DROP TABLE IF EXISTS `job_summary`; CREATE TABLE `job_summary` ( `id` bigint unsigned NOT NULL AUTO_INCREMENT COMMENT '主é®', `namespace_id` VARCHAR(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT 'å½å空é´id', `group_name` VARCHAR(64) NOT NULL DEFAULT '' COMMENT 'ç»åç§°', `job_id` bigint NOT NULL COMMENT 'ä»»å¡ä¿¡æ¯id', `trigger_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 'ç»è®¡æ¶é´', `success_num` int NOT NULL DEFAULT '0' COMMENT 'æ§è¡æå-æ¥å¿æ°é', `fail_num` int NOT NULL DEFAULT '0' COMMENT 'æ§è¡å¤±è´¥-æ¥å¿æ°é', `fail_reason` varchar(512) NOT NULL DEFAULT '' COMMENT '失败åå ', `stop_num` int NOT NULL DEFAULT '0' COMMENT 'æ§è¡å¤±è´¥-æ¥å¿æ°é', `stop_reason` varchar(512) NOT NULL DEFAULT '' COMMENT '失败åå ', `cancel_num` int NOT NULL DEFAULT '0' COMMENT 'æ§è¡å¤±è´¥-æ¥å¿æ°é', `cancel_reason` varchar(512) NOT NULL DEFAULT '' COMMENT '失败åå ', `create_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 'å建æ¶é´', `update_dt` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT 'ä¿®æ¹æ¶é´', PRIMARY KEY (`id`), KEY `idx_namespace_id_group_name_job_id` (`namespace_id`, `group_name`, job_id), UNIQUE KEY `uk_job_id_trigger_at` (`job_id`, `trigger_at`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 1 DEFAULT CHARSET = utf8mb4 COMMENT ='DashBoard_Job'; DROP TABLE IF EXISTS `retry_summary`; CREATE TABLE `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 'æåéè¯-æ¥å¿æ°é', `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_scene_name_trigger_at` (`namespace_id`, `group_name`, `scene_name`, `trigger_at`) USING BTREE ) ENGINE = InnoDB AUTO_INCREMENT = 1 DEFAULT CHARSET = utf8mb4 COMMENT ='DashBoard_Retry'; DROP TABLE IF EXISTS `workflow`; CREATE TABLE `workflow` ( `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ãå¼å¯', `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 '任塿§è¡è¶ æ¶æ¶é´ï¼åä½ç§', `description` varchar(256) NOT NULL DEFAULT '' COMMENT 'æè¿°', `flow_info` text DEFAULT NULL COMMENT 'æµç¨ä¿¡æ¯', `bucket_index` int(11) NOT NULL DEFAULT '0' COMMENT 'bucket', `version` int(11) NOT NULL COMMENT 'çæ¬å·', `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`) ) ENGINE = InnoDB AUTO_INCREMENT = 0 DEFAULT CHARSET = utf8mb4 COMMENT ='工使µ'; DROP TABLE IF EXISTS `workflow_node`; CREATE TABLE `workflow_node` ( `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主é®', `namespace_id` varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a' COMMENT 'å½å空é´id', `node_name` varchar(64) NOT NULL COMMENT 'èç¹åç§°', `group_name` varchar(64) NOT NULL COMMENT 'ç»åç§°', `job_id` bigint(20) NOT NULL COMMENT 'ä»»å¡ä¿¡æ¯id', `workflow_id` bigint(20) NOT NULL COMMENT '工使µID', `node_type` tinyint(4) NOT NULL DEFAULT 1 COMMENT '1ãä»»å¡èç¹ 2ãæ¡ä»¶èç¹', `expression_type` tinyint(4) NOT NULL DEFAULT 0 COMMENT '1ãSpElã2ãAviator 3ãQL', `fail_strategy` tinyint(4) NOT NULL DEFAULT 1 COMMENT '失败çç¥ 1ãè·³è¿ 2ãé»å¡', `workflow_node_status` tinyint(4) NOT NULL DEFAULT 1 COMMENT '工使µèç¹ç¶æ 0ãå ³éã1ãå¼å¯', `priority_level` int(11) NOT NULL DEFAULT 1 COMMENT 'ä¼å 级', `node_info` text DEFAULT NULL COMMENT 'èç¹ä¿¡æ¯ ', `version` int(11) NOT NULL COMMENT 'çæ¬å·', `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`) ) ENGINE = InnoDB AUTO_INCREMENT = 0 DEFAULT CHARSET = utf8mb4 COMMENT ='工使µèç¹'; DROP TABLE IF EXISTS `workflow_task_batch`; CREATE TABLE `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 '工使µä»»å¡id', `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 '任塿§è¡æ¶é´', `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`), KEY `idx_namespace_id_group_name` (`namespace_id`, `group_name`) ) ENGINE = InnoDB AUTO_INCREMENT = 0 DEFAULT CHARSET = utf8mb4 COMMENT ='工使µæ¹æ¬¡'; script/sql/postgres/easy_retry.sql
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,804 @@ -- PostgreSQL DDL CREATE TABLE namespace ( id BIGSERIAL PRIMARY KEY, name VARCHAR(64) NOT NULL, unique_id VARCHAR(64) NOT NULL, description VARCHAR(256) NOT NULL DEFAULT '', create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, update_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, deleted SMALLINT NOT NULL DEFAULT 0 ); CREATE UNIQUE INDEX uk_namespace_unique_id ON "namespace" (unique_id); COMMENT ON COLUMN namespace.id IS '主é®'; COMMENT ON COLUMN namespace.name IS 'åç§°'; COMMENT ON COLUMN namespace.unique_id IS 'å¯ä¸id'; COMMENT ON COLUMN namespace.description IS 'æè¿°'; COMMENT ON COLUMN namespace.create_dt IS 'å建æ¶é´'; COMMENT ON COLUMN namespace.update_dt IS 'ä¿®æ¹æ¶é´'; COMMENT ON COLUMN namespace.deleted IS 'é»è¾å é¤ 1ãå é¤'; COMMENT ON TABLE namespace IS 'å½å空é´'; INSERT INTO namespace (name, unique_id, create_dt, update_dt, deleted) VALUES ('Default', '764d604ec6fc45f68cd92514c40e9e1a', now(), now(), 0); CREATE TABLE group_config ( id BIGSERIAL PRIMARY KEY, namespace_id VARCHAR(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', group_name VARCHAR(64) NOT NULL, description VARCHAR(256) NOT NULL, group_status SMALLINT NOT NULL DEFAULT 0, version INT NOT NULL, group_partition INT NOT NULL, id_generator_mode SMALLINT NOT NULL DEFAULT 1, init_scene SMALLINT NOT NULL DEFAULT 0, bucket_index INT NOT NULL DEFAULT 0, create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, update_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ); CREATE UNIQUE INDEX "uk_namespace_id_group_name_group_config" ON "group_config" ("namespace_id", "group_name"); COMMENT ON COLUMN "group_config"."id" IS '主é®'; COMMENT ON COLUMN "group_config"."namespace_id" IS 'å½å空é´'; COMMENT ON COLUMN "group_config"."group_name" IS 'ç»åç§°'; COMMENT ON COLUMN "group_config"."description" IS 'ç»æè¿°'; COMMENT ON COLUMN "group_config"."group_status" IS 'ç»ç¶æ 0ãæªå¯ç¨ 1ãå¯ç¨'; COMMENT ON COLUMN "group_config"."version" IS 'çæ¬å·'; COMMENT ON COLUMN "group_config"."group_partition" IS 'ååº'; COMMENT ON COLUMN "group_config"."id_generator_mode" IS 'å¯ä¸idçææ¨¡å¼ é»è®¤å·æ®µæ¨¡å¼'; COMMENT ON COLUMN "group_config"."init_scene" IS 'æ¯å¦åå§ååºæ¯ 0:å¦ 1:æ¯'; COMMENT ON COLUMN "group_config"."bucket_index" IS 'bucket'; COMMENT ON COLUMN "group_config"."create_dt" IS 'å建æ¶é´'; COMMENT ON COLUMN "group_config"."update_dt" IS 'ä¿®æ¹æ¶é´'; COMMENT ON TABLE "group_config" IS 'ç»é ç½®'; INSERT INTO `namespace` (`id`, `name`, `unique_id`, `create_dt`, `update_dt`, `deleted`) VALUES (1, 'Development', 'dev', now(), now(), 0); INSERT INTO `namespace` (`id`, `name`, `unique_id`, `create_dt`, `update_dt`, `deleted`) VALUES (2, 'Production', 'prod', now(), now(), 0); CREATE TABLE notify_config ( id BIGSERIAL PRIMARY KEY, namespace_id VARCHAR(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', group_name VARCHAR(64) NOT NULL, scene_name VARCHAR(64) NOT NULL, notify_status SMALLINT NOT NULL DEFAULT 0, notify_type SMALLINT NOT NULL DEFAULT 0, notify_attribute VARCHAR(512) NOT NULL, notify_threshold INT NOT NULL DEFAULT 0, notify_scene SMALLINT NOT NULL DEFAULT 0, rate_limiter_status SMALLINT NOT NULL DEFAULT 0, rate_limiter_threshold INT NOT NULL DEFAULT 0, description VARCHAR(256) NOT NULL DEFAULT '', create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, update_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ); CREATE INDEX idx_namespace_id_group_name ON notify_config (namespace_id, group_name); COMMENT ON COLUMN "notify_config"."id" IS '主é®'; COMMENT ON COLUMN "notify_config"."group_name" IS 'ç»åç§°'; COMMENT ON COLUMN "notify_config"."namespace_id" IS 'å½å空é´id'; COMMENT ON COLUMN "notify_config"."scene_name" IS 'åºæ¯åç§°'; COMMENT ON COLUMN "notify_config"."notify_status" IS 'éç¥ç¶æ 0ãæªå¯ç¨ 1ãå¯ç¨'; COMMENT ON COLUMN "notify_config"."notify_type" IS 'éç¥ç±»å 1ãéé 2ãé®ä»¶ 3ãä¼ä¸å¾®ä¿¡'; COMMENT ON COLUMN "notify_config"."notify_attribute" IS 'é ç½®å±æ§'; COMMENT ON COLUMN "notify_config"."notify_threshold" IS 'éç¥éå¼'; COMMENT ON COLUMN "notify_config"."notify_scene" IS 'éç¥åºæ¯'; COMMENT ON COLUMN "notify_config"."rate_limiter_status" IS 'éæµç¶æ 0ãæªå¯ç¨ 1ãå¯ç¨'; COMMENT ON COLUMN "notify_config"."rate_limiter_threshold" IS 'æ¯ç§éæµéå¼'; COMMENT ON COLUMN "notify_config"."description" IS 'æè¿°'; COMMENT ON COLUMN "notify_config"."create_dt" IS 'å建æ¶é´'; COMMENT ON COLUMN "notify_config"."update_dt" IS 'ä¿®æ¹æ¶é´'; COMMENT ON TABLE "notify_config" IS 'éç¥é ç½®'; CREATE TABLE retry_dead_letter_0 ( id BIGSERIAL PRIMARY KEY, unique_id VARCHAR(64) NOT NULL, namespace_id VARCHAR(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', group_name VARCHAR(64) NOT NULL, scene_name VARCHAR(64) NOT NULL, idempotent_id VARCHAR(64) NOT NULL, biz_no VARCHAR(64) NOT NULL DEFAULT '', executor_name VARCHAR(512) NOT NULL DEFAULT '', args_str TEXT NOT NULL, ext_attrs TEXT NOT NULL, task_type SMALLINT NOT NULL DEFAULT 1, create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ); CREATE UNIQUE INDEX "uk_namespace_id_group_name_unique_id_retry_dead_letter" ON "retry_dead_letter_0" ("namespace_id", "group_name", "unique_id"); CREATE INDEX "idx_namespace_id_group_name_scene_name_retry_dead_letter" ON "retry_dead_letter_0" ("namespace_id", "group_name", "scene_name"); CREATE INDEX "idx_idempotent_id_retry_dead_letter" ON "retry_dead_letter_0" ("idempotent_id"); CREATE INDEX "idx_biz_no_retry_dead_letter" ON "retry_dead_letter_0" ("biz_no"); CREATE INDEX "idx_create_dt_retry_dead_letter" ON "retry_dead_letter_0" ("create_dt"); COMMENT ON COLUMN "retry_dead_letter_0"."id" IS '主é®'; COMMENT ON COLUMN "retry_dead_letter_0"."unique_id" IS 'åç»ä¸idå¯ä¸'; COMMENT ON COLUMN "retry_dead_letter_0"."namespace_id" IS 'å½å空é´id'; COMMENT ON COLUMN "retry_dead_letter_0"."group_name" IS 'ç»åç§°'; COMMENT ON COLUMN "retry_dead_letter_0"."scene_name" IS 'åºæ¯åç§°'; COMMENT ON COLUMN "retry_dead_letter_0"."idempotent_id" IS 'å¹çid'; COMMENT ON COLUMN "retry_dead_letter_0"."biz_no" IS 'ä¸å¡ç¼å·'; COMMENT ON COLUMN "retry_dead_letter_0"."executor_name" IS 'æ§è¡å¨åç§°'; COMMENT ON COLUMN "retry_dead_letter_0"."args_str" IS 'æ§è¡æ¹æ³åæ°'; COMMENT ON COLUMN "retry_dead_letter_0"."ext_attrs" IS 'æ©å±å段'; COMMENT ON COLUMN "retry_dead_letter_0"."task_type" IS 'ä»»å¡ç±»å 1ãéè¯æ°æ® 2ãåè°æ°æ®'; COMMENT ON COLUMN "retry_dead_letter_0"."create_dt" IS 'å建æ¶é´'; COMMENT ON TABLE "retry_dead_letter_0" IS 'æ»ä¿¡éå表'; CREATE TABLE retry_task_0 ( id BIGSERIAL PRIMARY KEY, unique_id VARCHAR(64) NOT NULL, namespace_id VARCHAR(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', group_name VARCHAR(64) NOT NULL, scene_name VARCHAR(64) NOT NULL, idempotent_id VARCHAR(64) NOT NULL, biz_no VARCHAR(64) NOT NULL DEFAULT '', executor_name VARCHAR(512) NOT NULL DEFAULT '', args_str TEXT NOT NULL, ext_attrs TEXT NOT NULL, next_trigger_at TIMESTAMP NOT NULL, retry_count INT NOT NULL DEFAULT 0, retry_status SMALLINT NOT NULL DEFAULT 0, task_type SMALLINT NOT NULL DEFAULT 1, create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, update_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ); CREATE UNIQUE INDEX "uk_name_unique_id_retry_task" ON "retry_task_0" ("namespace_id", "group_name", "unique_id"); CREATE INDEX "idx_namespace_id_group_name_scene_name_retry_task" ON "retry_task_0" ("namespace_id", "group_name", "scene_name"); CREATE INDEX "idx_namespace_id_group_name_retry_status_retry_task" ON "retry_task_0" (namespace_id, group_name, "retry_status"); CREATE INDEX "idx_idempotent_id_retry_task" ON "retry_task_0" ("idempotent_id"); CREATE INDEX "idx_biz_no_retry_task" ON "retry_task_0" ("biz_no"); CREATE INDEX "idx_create_dt_retry_task" ON "retry_task_0" ("create_dt"); COMMENT ON COLUMN "retry_task_0"."id" IS '主é®'; COMMENT ON COLUMN "retry_task_0"."unique_id" IS 'åç»ä¸idå¯ä¸'; COMMENT ON COLUMN "retry_task_0"."namespace_id" IS 'å½å空é´id'; COMMENT ON COLUMN "retry_task_0"."group_name" IS 'ç»åç§°'; COMMENT ON COLUMN "retry_task_0"."scene_name" IS 'åºæ¯åç§°'; COMMENT ON COLUMN "retry_task_0"."idempotent_id" IS 'å¹çid'; COMMENT ON COLUMN "retry_task_0"."biz_no" IS 'ä¸å¡ç¼å·'; COMMENT ON COLUMN "retry_task_0"."executor_name" IS 'æ§è¡å¨åç§°'; COMMENT ON COLUMN "retry_task_0"."args_str" IS 'æ§è¡æ¹æ³åæ°'; COMMENT ON COLUMN "retry_task_0"."ext_attrs" IS 'æ©å±å段'; COMMENT ON COLUMN "retry_task_0"."next_trigger_at" IS '䏿¬¡è§¦åæ¶é´'; COMMENT ON COLUMN "retry_task_0"."retry_count" IS 'éè¯æ¬¡æ°'; COMMENT ON COLUMN "retry_task_0"."retry_status" IS 'éè¯ç¶æ 0ãéè¯ä¸ 1ãæå 2ãæå¤§éè¯æ¬¡æ°'; COMMENT ON COLUMN "retry_task_0"."task_type" IS 'ä»»å¡ç±»å 1ãéè¯æ°æ® 2ãåè°æ°æ®'; COMMENT ON COLUMN "retry_task_0"."create_dt" IS 'å建æ¶é´'; COMMENT ON COLUMN "retry_task_0"."update_dt" IS 'ä¿®æ¹æ¶é´'; COMMENT ON TABLE "retry_task_0" IS 'ä»»å¡è¡¨'; CREATE TABLE retry_task_log ( id BIGSERIAL PRIMARY KEY, unique_id VARCHAR(64) NOT NULL, namespace_id VARCHAR(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', group_name VARCHAR(64) NOT NULL, scene_name VARCHAR(64) NOT NULL, idempotent_id VARCHAR(64) NOT NULL, biz_no VARCHAR(64) NOT NULL DEFAULT '', executor_name VARCHAR(512) NOT NULL DEFAULT '', args_str TEXT NOT NULL, ext_attrs TEXT NOT NULL, retry_status SMALLINT NOT NULL DEFAULT 0, task_type SMALLINT NOT NULL DEFAULT 1, create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ); CREATE INDEX "idx_group_name_scene_name_retry_task_log" ON "retry_task_log" ("namespace_id", "group_name", "scene_name"); CREATE INDEX "idx_retry_status_retry_task_log" ON "retry_task_log" ("retry_status"); CREATE INDEX "idx_idempotent_id_retry_task_log" ON "retry_task_log" ("idempotent_id"); CREATE INDEX "idx_unique_id" ON "retry_task_log" ("namespace_id", "group_name", "unique_id"); CREATE INDEX "idx_biz_no_retry_task_log" ON "retry_task_log" ("biz_no"); CREATE INDEX "idx_create_dt_retry_task_log" ON "retry_task_log" ("create_dt"); COMMENT ON COLUMN "retry_task_log"."id" IS '主é®'; COMMENT ON COLUMN "retry_task_log"."namespace_id" IS 'å½å空é´id'; COMMENT ON COLUMN "retry_task_log"."unique_id" IS 'åç»ä¸idå¯ä¸'; COMMENT ON COLUMN "retry_task_log"."group_name" IS 'ç»åç§°'; COMMENT ON COLUMN "retry_task_log"."scene_name" IS 'åºæ¯åç§°'; COMMENT ON COLUMN "retry_task_log"."idempotent_id" IS 'å¹çid'; COMMENT ON COLUMN "retry_task_log"."biz_no" IS 'ä¸å¡ç¼å·'; COMMENT ON COLUMN "retry_task_log"."executor_name" IS 'æ§è¡å¨åç§°'; COMMENT ON COLUMN "retry_task_log"."args_str" IS 'æ§è¡æ¹æ³åæ°'; COMMENT ON COLUMN "retry_task_log"."ext_attrs" IS 'æ©å±å段'; COMMENT ON COLUMN "retry_task_log"."retry_status" IS 'éè¯ç¶æ 0ãéè¯ä¸ 1ãæå 2ãæå¤§æ¬¡æ°'; COMMENT ON COLUMN "retry_task_log"."task_type" IS 'ä»»å¡ç±»å 1ãéè¯æ°æ® 2ãåè°æ°æ®'; COMMENT ON COLUMN "retry_task_log"."create_dt" IS 'å建æ¶é´'; COMMENT ON TABLE "retry_task_log" IS '任塿¥å¿åºç¡ä¿¡æ¯è¡¨'; CREATE TABLE retry_task_log_message ( id BIGSERIAL PRIMARY KEY, namespace_id VARCHAR(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', group_name VARCHAR(64) NOT NULL, unique_id VARCHAR(64) NOT NULL, create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, message TEXT NOT NULL, client_info VARCHAR(128) DEFAULT NULL ); CREATE INDEX "idx_namespace_id_group_name_unique_id" ON "retry_task_log_message" ("namespace_id", "group_name", "unique_id"); CREATE INDEX "idx_create_dt" ON "retry_task_log_message" ("create_dt"); COMMENT ON COLUMN "retry_task_log_message"."id" IS '主é®'; COMMENT ON COLUMN "retry_task_log_message"."namespace_id" IS 'å½å空é´'; COMMENT ON COLUMN "retry_task_log_message"."group_name" IS 'ç»åç§°'; COMMENT ON COLUMN "retry_task_log_message"."unique_id" IS 'åç»ä¸idå¯ä¸'; COMMENT ON COLUMN "retry_task_log_message"."create_dt" IS 'å建æ¶é´'; COMMENT ON COLUMN "retry_task_log_message"."message" IS 'å¼å¸¸ä¿¡æ¯'; COMMENT ON COLUMN "retry_task_log_message"."client_info" IS '客æ·ç«¯å°å clientId#ip:port'; COMMENT ON TABLE "retry_task_log_message" IS 'ä»»å¡è°åº¦æ¥å¿ä¿¡æ¯è®°å½è¡¨'; CREATE TABLE scene_config ( id BIGSERIAL PRIMARY KEY, namespace_id VARCHAR(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', scene_name VARCHAR(64) NOT NULL, group_name VARCHAR(64) NOT NULL, scene_status SMALLINT NOT NULL DEFAULT 0, max_retry_count INT NOT NULL DEFAULT 5, back_off SMALLINT NOT NULL DEFAULT 1, trigger_interval VARCHAR(16) NOT NULL DEFAULT '', deadline_request BIGINT NOT NULL DEFAULT 60000, route_key SMALLINT NOT NULL DEFAULT 4, executor_timeout INT NOT NULL DEFAULT 5, description VARCHAR(256) NOT NULL DEFAULT '', create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, update_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ); CREATE UNIQUE INDEX "uk_namespace_id_group_name_scene_name" ON "scene_config" ("namespace_id", "group_name","scene_name"); COMMENT ON COLUMN "scene_config"."id" IS '主é®'; COMMENT ON COLUMN "scene_config"."namespace_id" IS 'å½å空é´id'; COMMENT ON COLUMN "scene_config"."scene_name" IS 'åºæ¯åç§°'; COMMENT ON COLUMN "scene_config"."group_name" IS 'ç»åç§°'; COMMENT ON COLUMN "scene_config"."scene_status" IS 'ç»ç¶æ 0ãæªå¯ç¨ 1ãå¯ç¨'; COMMENT ON COLUMN "scene_config"."max_retry_count" IS 'æå¤§éè¯æ¬¡æ°'; COMMENT ON COLUMN "scene_config"."back_off" IS '1ãé»è®¤ç级 2ãåºå®é´éæ¶é´ 3ãCRON 表达å¼'; COMMENT ON COLUMN "scene_config"."trigger_interval" IS 'é´éæ¶é¿'; COMMENT ON COLUMN "scene_config"."deadline_request" IS 'Deadline Request è°ç¨é¾è¶ æ¶ å使¯«ç§'; COMMENT ON COLUMN "scene_config"."description" IS 'æè¿°'; COMMENT ON COLUMN "scene_config"."route_key" IS 'è·¯ç±çç¥'; COMMENT ON COLUMN "scene_config"."executor_timeout" IS 'è¶ æ¶æ¶é´'; COMMENT ON COLUMN "scene_config"."create_dt" IS 'å建æ¶é´'; COMMENT ON COLUMN "scene_config"."update_dt" IS 'ä¿®æ¹æ¶é´'; COMMENT ON TABLE "scene_config" IS 'åºæ¯é ç½®'; CREATE TABLE server_node ( id BIGSERIAL PRIMARY KEY, namespace_id VARCHAR(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', group_name VARCHAR(64) NOT NULL, host_id VARCHAR(64) NOT NULL, host_ip VARCHAR(64) NOT NULL, context_path VARCHAR(256) NOT NULL DEFAULT '/', host_port INT NOT NULL, expire_at TIMESTAMP NOT NULL, node_type SMALLINT NOT NULL, ext_attrs VARCHAR(256) DEFAULT '', create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, update_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ); CREATE UNIQUE INDEX "uk_host_id_host_ip" ON "server_node" ("host_id","host_ip"); CREATE INDEX "idx_expire_at_node_type" ON "server_node" ("expire_at","node_type"); CREATE INDEX "idx_namespace_id_group_name_server_node" ON "server_node" ("namespace_id", "group_name"); COMMENT ON COLUMN "server_node"."id" IS '主é®'; COMMENT ON COLUMN "server_node"."group_name" IS 'ç»åç§°'; COMMENT ON COLUMN "server_node"."namespace_id" IS 'å½å空é´id'; COMMENT ON COLUMN "server_node"."host_id" IS '主æºid'; COMMENT ON COLUMN "server_node"."host_ip" IS 'æºå¨ip'; COMMENT ON COLUMN "server_node"."context_path" IS '客æ·ç«¯ä¸ä¸æè·¯å¾ server.servlet.context-path'; COMMENT ON COLUMN "server_node"."host_port" IS 'æºå¨ç«¯å£'; COMMENT ON COLUMN "server_node"."expire_at" IS 'è¿ææ¶é´'; COMMENT ON COLUMN "server_node"."node_type" IS 'èç¹ç±»å 1ã客æ·ç«¯ 2ãæ¯æå¡ç«¯'; COMMENT ON COLUMN "server_node"."ext_attrs" IS 'æ©å±å段'; COMMENT ON COLUMN "server_node"."create_dt" IS 'å建æ¶é´'; COMMENT ON COLUMN "server_node"."update_dt" IS 'ä¿®æ¹æ¶é´'; COMMENT ON TABLE "server_node" IS 'æå¡å¨èç¹'; CREATE TABLE distributed_lock ( id BIGSERIAL PRIMARY KEY, name VARCHAR(64) NOT NULL, lock_until TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, locked_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, locked_by VARCHAR(255) NOT NULL, create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, update_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ); ALTER TABLE distributed_lock ADD CONSTRAINT uk_name UNIQUE (name); COMMENT ON COLUMN "distributed_lock"."id" IS '主é®'; COMMENT ON COLUMN "distributed_lock"."name" IS 'éåç§°'; COMMENT ON COLUMN "distributed_lock"."lock_until" IS 'é宿¶é¿'; COMMENT ON COLUMN "distributed_lock"."locked_at" IS 'é宿¶é´'; COMMENT ON COLUMN "distributed_lock"."locked_by" IS 'éå®è '; COMMENT ON COLUMN "distributed_lock"."create_dt" IS 'å建æ¶é´'; COMMENT ON COLUMN "distributed_lock"."update_dt" IS 'ä¿®æ¹æ¶é´'; COMMENT ON TABLE "distributed_lock" IS 'éå®è¡¨'; CREATE TABLE system_user ( id BIGSERIAL PRIMARY KEY, username VARCHAR(64) NOT NULL, password VARCHAR(128) NOT NULL, role SMALLINT NOT NULL DEFAULT 0, create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, update_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ); CREATE UNIQUE INDEX "uk_username" ON "system_user" ("username"); COMMENT ON COLUMN "system_user"."id" IS '主é®'; COMMENT ON COLUMN "system_user"."username" IS 'è´¦å·'; COMMENT ON COLUMN "system_user"."password" IS 'å¯ç '; COMMENT ON COLUMN "system_user"."role" IS 'è§è²ï¼1-æ®éç¨æ·ã2-管çå'; COMMENT ON COLUMN "system_user"."create_dt" IS 'å建æ¶é´'; COMMENT ON COLUMN "system_user"."update_dt" IS 'ä¿®æ¹æ¶é´'; COMMENT ON TABLE "system_user" IS 'ç³»ç»ç¨æ·è¡¨'; -- pwd: admin INSERT INTO system_user (username, password, role) VALUES ('admin', '465c194afb65670f38322df087f0a9bb225cc257e43eb4ac5a0c98ef5b3173ac', 2); CREATE TABLE system_user_permission ( id BIGSERIAL PRIMARY KEY, namespace_id VARCHAR(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', group_name VARCHAR(64) NOT NULL, system_user_id BIGINT NOT NULL, create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, update_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ); CREATE UNIQUE INDEX "uk_namespace_id_group_name_system_user_id" ON "system_user_permission" ("namespace_id","group_name","system_user_id"); COMMENT ON COLUMN "system_user_permission"."id" IS '主é®'; COMMENT ON COLUMN "system_user_permission"."namespace_id" IS 'å½å空é´id'; COMMENT ON COLUMN "system_user_permission"."group_name" IS 'ç»åç§°'; COMMENT ON COLUMN "system_user_permission"."system_user_id" IS 'ç³»ç»ç¨æ·id'; COMMENT ON COLUMN "system_user_permission"."create_dt" IS 'å建æ¶é´'; COMMENT ON COLUMN "system_user_permission"."update_dt" IS 'ä¿®æ¹æ¶é´'; COMMENT ON TABLE "system_user_permission" IS 'ç³»ç»ç¨æ·æé表'; CREATE TABLE sequence_alloc ( id BIGSERIAL PRIMARY KEY, namespace_id VARCHAR(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', group_name VARCHAR(64) NOT NULL DEFAULT '', max_id BIGINT NOT NULL DEFAULT 1, step INT NOT NULL DEFAULT 100, update_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ); CREATE UNIQUE INDEX "uk_namespace_id_group_name" ON "sequence_alloc" ("namespace_id", "group_name"); COMMENT ON COLUMN "sequence_alloc"."id" IS '主é®'; COMMENT ON COLUMN "sequence_alloc"."namespace_id" IS 'å½å空é´id'; COMMENT ON COLUMN "sequence_alloc"."group_name" IS 'ç»åç§°'; COMMENT ON COLUMN "sequence_alloc"."max_id" IS 'æå¤§id'; COMMENT ON COLUMN "sequence_alloc"."step" IS 'æ¥é¿'; COMMENT ON COLUMN "sequence_alloc"."update_dt" IS 'æ´æ°æ¶é´'; COMMENT ON TABLE "sequence_alloc" IS 'å·æ®µæ¨¡å¼åºå·IDåé 表'; -- åå¸å¼è°åº¦DDL CREATE TABLE job ( id BIGSERIAL PRIMARY KEY, namespace_id VARCHAR(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', group_name VARCHAR(64) NOT NULL, job_name VARCHAR(64) NOT NULL, args_str TEXT NOT NULL DEFAULT '', args_type SMALLINT NOT NULL DEFAULT 1, next_trigger_at BIGINT NOT NULL, job_status SMALLINT NOT NULL DEFAULT 1, task_type SMALLINT NOT NULL DEFAULT 1, route_key SMALLINT NOT NULL DEFAULT 4, executor_type SMALLINT NOT NULL DEFAULT 1, executor_info VARCHAR(255) DEFAULT NULL, trigger_type SMALLINT NOT NULL, trigger_interval VARCHAR(255) NOT NULL, block_strategy SMALLINT NOT NULL DEFAULT 1, executor_timeout INT NOT NULL DEFAULT 0, max_retry_times INT NOT NULL DEFAULT 0, parallel_num INT NOT NULL DEFAULT 1, retry_interval INT NOT NULL DEFAULT 0, bucket_index INT NOT NULL DEFAULT 0, resident SMALLINT NOT NULL DEFAULT 0, description VARCHAR(256) NOT NULL DEFAULT '', ext_attrs VARCHAR(256) DEFAULT NULL, create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, update_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, deleted SMALLINT NOT NULL DEFAULT 0 ); CREATE INDEX "idx_namespace_id_group_name_job" ON "job" ("namespace_id", "group_name"); CREATE INDEX "idx_job_status_bucket_index_job" ON "job" ("job_status", "bucket_index"); CREATE INDEX "idx_create_dt_job" ON "job" ("create_dt"); COMMENT ON COLUMN "job"."id" IS '主é®'; COMMENT ON COLUMN "job"."namespace_id" IS 'å½å空é´id'; COMMENT ON COLUMN "job"."group_name" IS 'ç»åç§°'; COMMENT ON COLUMN "job"."job_name" IS 'åç§°'; COMMENT ON COLUMN "job"."args_str" IS 'æ§è¡æ¹æ³åæ°'; COMMENT ON COLUMN "job"."args_type" IS 'åæ°ç±»å'; COMMENT ON COLUMN "job"."next_trigger_at" IS '䏿¬¡è§¦åæ¶é´'; COMMENT ON COLUMN "job"."job_status" IS 'éè¯ç¶æ 0ãå ³éã1ãå¼å¯'; COMMENT ON COLUMN "job"."task_type" IS 'ä»»å¡ç±»å 1ãé群 2ã广æ 3ãåç'; COMMENT ON COLUMN "job"."route_key" IS 'è·¯ç±çç¥'; COMMENT ON COLUMN "job"."executor_type" IS 'æ§è¡å¨ç±»å'; COMMENT ON COLUMN "job"."executor_info" IS 'æ§è¡å¨åç§°'; COMMENT ON COLUMN "job"."trigger_type" IS '触åç±»å 1.CRON è¡¨è¾¾å¼ 2. åºå®æ¶é´'; COMMENT ON COLUMN "job"."trigger_interval" IS 'é´éæ¶é¿'; COMMENT ON COLUMN "job"."block_strategy" IS 'é»å¡çç¥ 1ãä¸¢å¼ 2ãè¦ç 3ãå¹¶è¡'; COMMENT ON COLUMN "job"."executor_timeout" IS '任塿§è¡è¶ æ¶æ¶é´ï¼åä½ç§'; COMMENT ON COLUMN "job"."max_retry_times" IS 'æå¤§éè¯æ¬¡æ°'; COMMENT ON COLUMN "job"."parallel_num" IS 'å¹¶è¡æ°'; COMMENT ON COLUMN "job"."retry_interval" IS 'æ´æ°éè¯é´é(s)'; COMMENT ON COLUMN "job"."bucket_index" IS 'bucket'; COMMENT ON COLUMN "job"."resident" IS 'æ¯å¦æ¯å¸¸é©»ä»»å¡'; COMMENT ON COLUMN "job"."description" IS 'æè¿°'; COMMENT ON COLUMN "job"."ext_attrs" IS 'æ©å±å段'; COMMENT ON COLUMN "job"."create_dt" IS 'å建æ¶é´'; COMMENT ON COLUMN "job"."deleted" IS 'é»è¾å é¤ 1ãå é¤'; COMMENT ON COLUMN "job"."update_dt" IS 'æ´æ°æ¶é´'; COMMENT ON TABLE "job" IS 'ä»»å¡ä¿¡æ¯'; INSERT INTO job (id, 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 (1, 'dev', 'ruoyi_group', 'demo-job', null, 1, 1710344035622, 1, 1, 4, 1, 'testJobExecutor', 2, '60', 1, 60, 3, 1, 1, 116, 0, '', '', '2024-03-13 22:59:39', '2024-03-13 23:32:52', 0); CREATE TABLE job_log_message ( id BIGSERIAL PRIMARY KEY, namespace_id VARCHAR(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', group_name VARCHAR(64) NOT NULL, job_id BIGINT NOT NULL, task_batch_id BIGINT NOT NULL, task_id BIGINT NOT NULL, message TEXT NOT NULL, log_num INT NOT NULL DEFAULT 1, real_time BIGINT NOT NULL DEFAULT 0, ext_attrs VARCHAR(256) DEFAULT '', create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ); CREATE INDEX "idx_namespace_id_group_name_to_job_log_message" ON "job_log_message" ("namespace_id", "group_name"); CREATE INDEX "idx_task_batch_id_task_id_to_job_log_message" ON "job_log_message" ("task_batch_id", "task_id"); CREATE INDEX "idx_create_dt_to_job_log_message" ON "job_log_message" ("create_dt"); COMMENT ON COLUMN "job_log_message"."id" IS '主é®'; COMMENT ON COLUMN "job_log_message"."namespace_id" IS 'å½å空é´id'; COMMENT ON COLUMN "job_log_message"."group_name" IS 'ç»åç§°'; COMMENT ON COLUMN "job_log_message"."job_id" IS 'ä»»å¡ä¿¡æ¯id'; COMMENT ON COLUMN "job_log_message"."task_batch_id" IS '任塿¹æ¬¡id'; COMMENT ON COLUMN "job_log_message"."task_id" IS 'è°åº¦ä»»å¡id'; COMMENT ON COLUMN "job_log_message"."message" IS 'è°åº¦ä¿¡æ¯'; COMMENT ON COLUMN "job_log_message"."log_num" IS 'æ¥å¿åºå·'; COMMENT ON COLUMN "job_log_message"."real_time" IS 'å®é æ¶é´'; COMMENT ON COLUMN "job_log_message"."create_dt" IS 'å建æ¶é´'; COMMENT ON COLUMN "job_log_message"."ext_attrs" IS 'æ©å±å段'; COMMENT ON TABLE "job_log_message" IS 'è°åº¦æ¥å¿'; CREATE TABLE job_task ( id BIGSERIAL PRIMARY KEY, namespace_id VARCHAR(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', group_name VARCHAR(64) NOT NULL, job_id BIGINT NOT NULL, task_batch_id BIGINT NOT NULL, parent_id BIGINT NOT NULL DEFAULT 0, task_status SMALLINT NOT NULL DEFAULT 0, retry_count INT NOT NULL DEFAULT 0, client_info VARCHAR(128) DEFAULT NULL, result_message TEXT NOT NULL, args_str TEXT NOT NULL, args_type SMALLINT NOT NULL DEFAULT 1, ext_attrs VARCHAR(256) DEFAULT '', create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, update_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ); CREATE INDEX "idx_namespace_id_group_name_to_job_task" ON "job_task" ("namespace_id", "group_name"); CREATE INDEX "idx_task_batch_id_task_status_to_job_task" ON "job_task" ("task_batch_id", "task_status"); CREATE INDEX "idx_create_dt_to_job_task" ON "job_task" ("create_dt"); COMMENT ON COLUMN "job_task"."id" IS '主é®'; COMMENT ON COLUMN "job_task"."namespace_id" IS 'å½å空é´id'; COMMENT ON COLUMN "job_task"."group_name" IS 'ç»åç§°'; COMMENT ON COLUMN "job_task"."job_id" IS 'ä»»å¡ä¿¡æ¯id'; COMMENT ON COLUMN "job_task"."task_batch_id" IS '任塿¹æ¬¡id'; COMMENT ON COLUMN "job_task"."parent_id" IS 'ç¶æ§è¡å¨id'; COMMENT ON COLUMN "job_task"."task_status" IS 'æ§è¡çç¶æ 0ã失败 1ãæå'; COMMENT ON COLUMN "job_task"."retry_count" IS 'éè¯æ¬¡æ°'; COMMENT ON COLUMN "job_task"."client_info" IS '客æ·ç«¯å°å clientId#ip:port'; COMMENT ON COLUMN "job_task"."result_message" IS 'è°åº¦ä¿¡æ¯'; COMMENT ON COLUMN "job_task"."args_str" IS 'æ§è¡æ¹æ³åæ°'; COMMENT ON COLUMN "job_task"."args_type" IS 'åæ°ç±»å'; COMMENT ON COLUMN "job_task"."create_dt" IS 'å建æ¶é´'; COMMENT ON COLUMN "job_task"."update_dt" IS 'å建æ¶é´'; COMMENT ON COLUMN "job_task"."ext_attrs" IS 'æ©å±å段'; COMMENT ON TABLE "job_task" IS 'ä»»å¡å®ä¾'; CREATE TABLE job_task_batch ( id BIGSERIAL PRIMARY KEY, namespace_id VARCHAR(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', group_name VARCHAR(64) NOT NULL, job_id BIGINT NOT NULL, workflow_node_id BIGINT NOT NULL DEFAULT 0, parent_workflow_node_id BIGINT NOT NULL DEFAULT 0, workflow_task_batch_id BIGINT NOT NULL DEFAULT 0, parent_id VARCHAR(64) NOT NULL DEFAULT '', task_batch_status SMALLINT NOT NULL DEFAULT 0, operation_reason SMALLINT NOT NULL DEFAULT 0, execution_at BIGINT NOT NULL DEFAULT 0, system_task_type SMALLINT NOT NULL DEFAULT 3, ext_attrs VARCHAR(256) DEFAULT '', deleted SMALLINT NOT NULL DEFAULT 0, create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, update_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ); CREATE INDEX "idx_namespace_id_group_name_to_job_task_batch" ON "job_task_batch" ("namespace_id", "group_name"); CREATE INDEX "idx_job_id_task_batch_status_to_job_task_batch" ON "job_task_batch" ("job_id", "task_batch_status"); CREATE INDEX "idx_create_dt_to_job_task_batch" ON "job_task_batch" ("create_dt"); CREATE INDEX "idx_workflow_task_batch_id_workflow_node_id" ON "job_task_batch" ("workflow_task_batch_id", "workflow_node_id"); COMMENT ON COLUMN "job_task_batch"."id" IS '主é®'; COMMENT ON COLUMN "job_task_batch"."namespace_id" IS 'å½å空é´id'; COMMENT ON COLUMN "job_task_batch"."group_name" IS 'ç»åç§°'; COMMENT ON COLUMN "job_task_batch"."job_id" IS 'ä»»å¡ä¿¡æ¯id'; COMMENT ON COLUMN "job_task_batch"."task_batch_status" IS '任塿¹æ¬¡ç¶æ 0ã失败 1ãæå'; COMMENT ON COLUMN "job_task_batch"."operation_reason" IS 'æä½åå '; COMMENT ON COLUMN "job_task_batch"."workflow_node_id" IS '工使µèç¹id'; COMMENT ON COLUMN "job_task_batch"."parent_workflow_node_id" IS 'ç¶èç¹'; COMMENT ON COLUMN "job_task_batch"."workflow_task_batch_id" IS '任塿¹æ¬¡id'; COMMENT ON COLUMN "job_task_batch"."system_task_type" IS 'ä»»å¡ç±»å 0ãç³»ç»ä»»å¡ 1ãä¸å¡ä»»å¡'; COMMENT ON COLUMN "job_task_batch"."execution_at" IS '任塿§è¡æ¶é´'; COMMENT ON COLUMN "job_task_batch"."parent_id" IS 'ç¶èç¹'; COMMENT ON COLUMN "job_task_batch"."deleted" IS 'é»è¾å é¤ 1ãå é¤'; COMMENT ON COLUMN "job_task_batch"."create_dt" IS 'å建æ¶é´'; COMMENT ON COLUMN "job_task_batch"."update_dt" IS 'å建æ¶é´'; COMMENT ON COLUMN "job_task_batch"."ext_attrs" IS 'æ©å±å段'; COMMENT ON TABLE "job_task" IS '任塿¹æ¬¡'; CREATE TABLE job_notify_config ( id BIGSERIAL PRIMARY KEY, namespace_id VARCHAR(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', group_name VARCHAR(64) NOT NULL, job_id BIGINT NOT NULL, notify_status SMALLINT NOT NULL DEFAULT 0, notify_type SMALLINT NOT NULL DEFAULT 0, notify_attribute VARCHAR(512) NOT NULL, notify_threshold INT NOT NULL DEFAULT 0, notify_scene SMALLINT NOT NULL DEFAULT 0, rate_limiter_status SMALLINT NOT NULL DEFAULT 0, rate_limiter_threshold INT NOT NULL DEFAULT 0, description VARCHAR(256) NOT NULL DEFAULT '', create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, update_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ); CREATE INDEX idx_namespace_id_group_name_job_id_job_notify_config ON job_notify_config (namespace_id, group_name, job_id); COMMENT ON COLUMN "job_notify_config"."id" IS '主é®'; COMMENT ON COLUMN "job_task"."namespace_id" IS 'å½å空é´id'; COMMENT ON COLUMN "job_notify_config"."group_name" IS 'ç»åç§°'; COMMENT ON COLUMN "job_notify_config"."job_id" IS 'ä»»å¡ä¿¡æ¯id'; COMMENT ON COLUMN "job_notify_config"."notify_status" IS 'éç¥ç¶æ 0ãæªå¯ç¨ 1ãå¯ç¨'; COMMENT ON COLUMN "job_notify_config"."notify_type" IS 'éç¥ç±»å 1ãéé 2ãé®ä»¶ 3ãä¼ä¸å¾®ä¿¡'; COMMENT ON COLUMN "job_notify_config"."notify_attribute" IS 'é ç½®å±æ§'; COMMENT ON COLUMN "job_notify_config"."notify_threshold" IS 'éç¥éå¼'; COMMENT ON COLUMN "job_notify_config"."notify_scene" IS 'éç¥åºæ¯'; COMMENT ON COLUMN "job_notify_config"."rate_limiter_status" IS 'éæµç¶æ 0ãæªå¯ç¨ 1ãå¯ç¨'; COMMENT ON COLUMN "job_notify_config"."rate_limiter_threshold" IS 'æ¯ç§éæµéå¼'; COMMENT ON COLUMN "job_notify_config"."description" IS 'æè¿°'; COMMENT ON COLUMN "job_notify_config"."create_dt" IS 'å建æ¶é´'; COMMENT ON COLUMN "job_notify_config"."update_dt" IS 'ä¿®æ¹æ¶é´'; COMMENT ON TABLE "job_notify_config" IS 'éç¥é ç½®'; CREATE TABLE retry_summary ( id BIGSERIAL PRIMARY KEY, namespace_id VARCHAR(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', group_name VARCHAR(64) NOT NULL DEFAULT '', scene_name VARCHAR(50) NOT NULL DEFAULT '', trigger_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, running_num INT NOT NULL DEFAULT 0, finish_num INT NOT NULL DEFAULT 0, max_count_num INT NOT NULL DEFAULT 0, suspend_num INT NOT NULL DEFAULT 0, create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, update_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ); CREATE UNIQUE INDEX uk_scene_name_trigger_at ON retry_summary ("namespace_id", "group_name", "scene_name", "trigger_at"); COMMENT ON COLUMN "retry_summary"."id" IS '主é®'; COMMENT ON COLUMN "retry_summary"."namespace_id" IS 'å½å空é´id'; COMMENT ON COLUMN "retry_summary"."group_name" IS 'ç»åç§°'; COMMENT ON COLUMN "retry_summary"."scene_name" IS 'åºæ¯åç§°'; COMMENT ON COLUMN "retry_summary"."trigger_at" IS 'ç»è®¡æ¶é´'; COMMENT ON COLUMN "retry_summary"."running_num" IS 'éè¯ä¸-æ¥å¿æ°é'; COMMENT ON COLUMN "retry_summary"."finish_num" IS 'éè¯å®æ-æ¥å¿æ°é'; COMMENT ON COLUMN "retry_summary"."max_count_num" IS 'éè¯å°è¾¾æå¤§æ¬¡æ°-æ¥å¿æ°é'; COMMENT ON COLUMN "retry_summary"."suspend_num" IS 'æåéè¯-æ¥å¿æ°é'; COMMENT ON COLUMN "retry_summary"."create_dt" IS 'å建æ¶é´'; COMMENT ON COLUMN "retry_summary"."update_dt" IS 'ä¿®æ¹æ¶é´'; COMMENT ON TABLE "retry_summary" IS 'DashBoard_Retry'; CREATE TABLE job_summary ( id BIGSERIAL PRIMARY KEY, namespace_id VARCHAR(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', group_name VARCHAR(64) NOT NULL DEFAULT '', job_id BIGINT NOT NULL, trigger_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, success_num INT NOT NULL DEFAULT 0, fail_num INT NOT NULL DEFAULT 0, fail_reason VARCHAR(512) NOT NULL DEFAULT '', stop_num INT NOT NULL DEFAULT 0, stop_reason VARCHAR(512) NOT NULL DEFAULT '', cancel_num INT NOT NULL DEFAULT 0, cancel_reason VARCHAR(512) NOT NULL DEFAULT '', create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, update_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ); CREATE UNIQUE INDEX uk_job_id_trigger_at ON job_summary ("job_id", "trigger_at"); CREATE INDEX idx_namespace_id_group_name_job_id ON job_summary ("namespace_id", "group_name", "job_id"); COMMENT ON COLUMN "job_summary"."id" IS '主é®'; COMMENT ON COLUMN "job_summary"."namespace_id" IS 'å½å空é´id'; COMMENT ON COLUMN "job_summary"."group_name" IS 'ç»åç§°'; COMMENT ON COLUMN "job_summary"."job_id" IS 'ä»»å¡ä¿¡æ¯id'; COMMENT ON COLUMN "job_summary"."trigger_at" IS 'ç»è®¡æ¶é´'; COMMENT ON COLUMN "job_summary"."success_num" IS 'æ§è¡æå-æ¥å¿æ°é'; COMMENT ON COLUMN "job_summary"."fail_num" IS 'æ§è¡å¤±è´¥-æ¥å¿æ°é'; COMMENT ON COLUMN "job_summary"."fail_reason" IS '失败åå '; COMMENT ON COLUMN "job_summary"."stop_num" IS 'æ§è¡å¤±è´¥-æ¥å¿æ°é'; COMMENT ON COLUMN "job_summary"."stop_reason" IS '失败åå '; COMMENT ON COLUMN "job_summary"."cancel_num" IS 'æ§è¡å¤±è´¥-æ¥å¿æ°é'; COMMENT ON COLUMN "job_summary"."cancel_reason" IS '失败åå '; COMMENT ON TABLE "job_summary" IS 'DashBoard_Job'; CREATE TABLE workflow ( id BIGSERIAL PRIMARY KEY, workflow_name varchar(64) NOT NULL, namespace_id varchar(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', group_name varchar(64) NOT NULL, workflow_status smallint NOT NULL DEFAULT 1, trigger_type smallint NOT NULL, trigger_interval varchar(255) NOT NULL, next_trigger_at BIGINT NOT NULL, block_strategy smallint NOT NULL DEFAULT 1, executor_timeout INT NOT NULL DEFAULT 0, description varchar(256) NOT NULL DEFAULT '', flow_info text DEFAULT NULL, bucket_index INT NOT NULL DEFAULT 0, version INT NOT NULL, create_dt timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, update_dt timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, deleted smallint NOT NULL DEFAULT 0, ext_attrs varchar(256) NULL DEFAULT '' ); CREATE INDEX idx_create_dt_workflow ON workflow (create_dt); CREATE INDEX idx_namespace_id_group_name ON workflow (namespace_id, group_name); COMMENT ON TABLE workflow IS '工使µ'; COMMENT ON COLUMN workflow.id IS '主é®'; COMMENT ON COLUMN workflow.workflow_name IS '工使µåç§°'; COMMENT ON COLUMN workflow.namespace_id IS 'å½å空é´id'; COMMENT ON COLUMN workflow.group_name IS 'ç»åç§°'; COMMENT ON COLUMN workflow.workflow_status IS '工使µç¶æ 0ãå ³éã1ãå¼å¯'; COMMENT ON COLUMN workflow.trigger_type IS '触åç±»å 1.CRON è¡¨è¾¾å¼ 2. åºå®æ¶é´'; COMMENT ON COLUMN workflow.trigger_interval IS 'é´éæ¶é¿'; COMMENT ON COLUMN workflow.next_trigger_at IS '䏿¬¡è§¦åæ¶é´'; COMMENT ON COLUMN workflow.block_strategy IS 'é»å¡çç¥ 1ãä¸¢å¼ 2ãè¦ç 3ãå¹¶è¡'; COMMENT ON COLUMN workflow.executor_timeout IS '任塿§è¡è¶ æ¶æ¶é´ï¼åä½ç§'; COMMENT ON COLUMN workflow.description IS 'æè¿°'; COMMENT ON COLUMN workflow.flow_info IS 'æµç¨ä¿¡æ¯'; COMMENT ON COLUMN workflow.bucket_index IS 'bucket'; COMMENT ON COLUMN workflow.version IS 'çæ¬å·'; COMMENT ON COLUMN workflow.create_dt IS 'å建æ¶é´'; COMMENT ON COLUMN workflow.update_dt IS 'ä¿®æ¹æ¶é´'; COMMENT ON COLUMN workflow.deleted IS 'é»è¾å é¤ 1ãå é¤'; COMMENT ON COLUMN workflow.ext_attrs IS 'æ©å±å段'; CREATE TABLE workflow_node ( id BIGSERIAL PRIMARY KEY, namespace_id VARCHAR(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', node_name VARCHAR(64) NOT NULL, group_name VARCHAR(64) NOT NULL, job_id BIGINT NOT NULL, workflow_id BIGINT NOT NULL, node_type SMALLINT NOT NULL DEFAULT 1, expression_type SMALLINT NOT NULL DEFAULT 0, fail_strategy SMALLINT NOT NULL DEFAULT 1, workflow_node_status SMALLINT NOT NULL DEFAULT 1, priority_level INT NOT NULL DEFAULT 1, node_info TEXT DEFAULT NULL, version INT NOT NULL, create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, update_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, deleted SMALLINT NOT NULL DEFAULT 0, ext_attrs VARCHAR(256) NULL DEFAULT '' ); CREATE INDEX idx_create_dt_workflow_node ON workflow_node (create_dt); CREATE INDEX idx_namespace_id_group_name ON workflow_node (namespace_id, group_name); COMMENT ON TABLE workflow_node IS '工使µèç¹'; COMMENT ON COLUMN workflow_node.id IS '主é®'; COMMENT ON COLUMN workflow_node.namespace_id IS 'å½å空é´id'; COMMENT ON COLUMN workflow_node.node_name IS 'èç¹åç§°'; COMMENT ON COLUMN workflow_node.group_name IS 'ç»åç§°'; COMMENT ON COLUMN workflow_node.job_id IS 'ä»»å¡ä¿¡æ¯id'; COMMENT ON COLUMN workflow_node.workflow_id IS '工使µID'; COMMENT ON COLUMN workflow_node.node_type IS '1ãä»»å¡èç¹ 2ãæ¡ä»¶èç¹'; COMMENT ON COLUMN workflow_node.expression_type IS '1ãSpElã2ãAviator 3ãQL'; COMMENT ON COLUMN workflow_node.fail_strategy IS '失败çç¥ 1ãè·³è¿ 2ãé»å¡'; COMMENT ON COLUMN workflow_node.workflow_node_status IS '工使µèç¹ç¶æ 0ãå ³éã1ãå¼å¯'; COMMENT ON COLUMN workflow_node.priority_level IS 'ä¼å 级'; COMMENT ON COLUMN workflow_node.node_info IS 'èç¹ä¿¡æ¯'; COMMENT ON COLUMN workflow_node.version IS 'çæ¬å·'; COMMENT ON COLUMN workflow_node.create_dt IS 'å建æ¶é´'; COMMENT ON COLUMN workflow_node.update_dt IS 'ä¿®æ¹æ¶é´'; COMMENT ON COLUMN workflow_node.deleted IS 'é»è¾å é¤ 1ãå é¤'; COMMENT ON COLUMN workflow_node.ext_attrs IS 'æ©å±å段'; CREATE TABLE workflow_task_batch ( id BIGSERIAL PRIMARY KEY, namespace_id VARCHAR(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a', group_name VARCHAR(64) NOT NULL, workflow_id BIGINT NOT NULL, task_batch_status SMALLINT NOT NULL DEFAULT 0, operation_reason SMALLINT NOT NULL DEFAULT 0, flow_info TEXT DEFAULT NULL, execution_at BIGINT NOT NULL DEFAULT 0, create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, update_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, deleted SMALLINT NOT NULL DEFAULT 0, ext_attrs VARCHAR(256) NULL DEFAULT '' ); CREATE INDEX idx_job_id_task_batch_status_workflow_task_batch ON workflow_task_batch (workflow_id, task_batch_status); CREATE INDEX idx_create_dt_workflow_task_batch ON workflow_task_batch (create_dt); CREATE INDEX idx_namespace_id_group_name_workflow_task_batch ON workflow_task_batch (namespace_id, group_name); COMMENT ON TABLE workflow_task_batch IS '工使µæ¹æ¬¡'; COMMENT ON COLUMN workflow_task_batch.id IS '主é®'; COMMENT ON COLUMN workflow_task_batch.namespace_id IS 'å½å空é´id'; COMMENT ON COLUMN workflow_task_batch.group_name IS 'ç»åç§°'; COMMENT ON COLUMN workflow_task_batch.workflow_id IS '工使µä»»å¡id'; COMMENT ON COLUMN workflow_task_batch.task_batch_status IS '任塿¹æ¬¡ç¶æ 0ã失败 1ãæå'; COMMENT ON COLUMN workflow_task_batch.operation_reason IS 'æä½åå '; COMMENT ON COLUMN workflow_task_batch.flow_info IS 'æµç¨ä¿¡æ¯'; COMMENT ON COLUMN workflow_task_batch.execution_at IS '任塿§è¡æ¶é´'; COMMENT ON COLUMN workflow_task_batch.create_dt IS 'å建æ¶é´'; COMMENT ON COLUMN workflow_task_batch.update_dt IS 'ä¿®æ¹æ¶é´'; COMMENT ON COLUMN workflow_task_batch.deleted IS 'é»è¾å é¤ 1ãå é¤'; COMMENT ON COLUMN workflow_task_batch.ext_attrs IS 'æ©å±å段'; script/sql/ry_vue_5.X.sql
@@ -293,7 +293,9 @@ -- 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', 'powerjob', 'monitor/powerjob/index', '', 1, 0, 'C', '0', '0', 'monitor:powerjob:list', 'job', 103, 1, sysdate(), null, null, 'PowerJobæ§å¶å°èå'); insert into sys_menu values('120', 'ä»»å¡è°åº¦ä¸å¿', '2', '5', 'powerjob', 'monitor/powerjob/index', '', 1, 0, 'C', '0', '0', 'monitor:powerjob:list', 'job', 103, 1, sysdate(), null, null, 'PowerJobæ§å¶å°èå'); -- retry serveræ§å¶å° insert into sys_menu values('130', 'EasyRetryæå¡å¨', '2', '6', 'easyretry', 'monitor/easyretry/index', '', 1, 0, 'C', '0', '0', 'monitor:easyretry:list', 'job', 103, 1, sysdate(), null, null, 'EasyRetryæ§å¶å°èå'); -- ä¸çº§èå 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, 'æä½æ¥å¿èå');