mirror of
https://github.com/dromara/RuoYi-Vue-Plus.git
synced 2025-09-17 16:56:39 +08:00
!535 feat: EasyRetry-v3.2.0 => SnailJob-v1.0.0beta1
* feat: EasyRetry-v3.2.0 => SnailJob-v1.0.0beta1
This commit is contained in:
parent
416ca05be4
commit
ef57259386
@ -1,10 +1,10 @@
|
||||
<component name="ProjectRunConfigurationManager">
|
||||
<configuration default="false" name="ruoyi-easyretry-server" type="docker-deploy" factoryName="dockerfile" server-name="Docker">
|
||||
<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-easyretry-server:5.2.0" />
|
||||
<option name="imageTag" value="ruoyi/ruoyi-snailjob-server:5.2.0" />
|
||||
<option name="buildOnly" value="true" />
|
||||
<option name="sourceFilePath" value="ruoyi-extend/ruoyi-easyretry-server/Dockerfile" />
|
||||
<option name="sourceFilePath" value="ruoyi-extend/ruoyi-snailjob-server/Dockerfile" />
|
||||
</settings>
|
||||
</deployment>
|
||||
<method v="2" />
|
17
pom.xml
17
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>
|
||||
|
@ -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 -->
|
||||
|
@ -8,17 +8,17 @@ spring.boot.admin.client:
|
||||
username: ruoyi
|
||||
password: 123456
|
||||
|
||||
--- # easy-retry 配置
|
||||
easy-retry:
|
||||
--- # snail-job 配置
|
||||
snail-job:
|
||||
enabled: true
|
||||
# 需要在EasyRetry后台组管理创建对应名称的组,然后创建任务的时候选择对应的组,才能正确分派任务
|
||||
# 需要在 SnailJob 后台组管理创建对应名称的组,然后创建任务的时候选择对应的组,才能正确分派任务
|
||||
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}
|
||||
|
||||
|
||||
|
@ -11,17 +11,17 @@ spring.boot.admin.client:
|
||||
username: ruoyi
|
||||
password: 123456
|
||||
|
||||
--- # easy-retry 配置
|
||||
easy-retry:
|
||||
--- # snail-job 配置
|
||||
snail-job:
|
||||
enabled: false
|
||||
# 需要在EasyRetry后台组管理创建对应名称的组,然后创建任务的时候选择对应的组,才能正确分派任务
|
||||
# 需要在 SnailJob 后台组管理创建对应名称的组,然后创建任务的时候选择对应的组,才能正确分派任务
|
||||
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}
|
||||
|
||||
--- # 数据源配置
|
||||
|
@ -124,9 +124,6 @@ security:
|
||||
# actuator 监控配置
|
||||
- /actuator
|
||||
- /actuator/**
|
||||
# EasyRetry Job 分派 @see com.aizuda.easy.retry.client.job.core.client.JobEndPoint
|
||||
- /job/dispatch/v1
|
||||
- /job/stop/v1
|
||||
|
||||
# 多租户配置
|
||||
tenant:
|
||||
|
@ -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>
|
||||
|
@ -3,9 +3,9 @@ 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 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;
|
||||
@ -15,20 +15,20 @@ import org.springframework.scheduling.annotation.EnableScheduling;
|
||||
/**
|
||||
* 启动定时任务
|
||||
*
|
||||
* @author dhb52
|
||||
* @since 2024/3/12
|
||||
* @author opensnail
|
||||
* @date 2024-05-17
|
||||
*/
|
||||
@AutoConfiguration
|
||||
@ConditionalOnProperty(prefix = "easy-retry", name = "enabled", havingValue = "true")
|
||||
@ConditionalOnProperty(prefix = "snail-job", name = "enabled", havingValue = "true")
|
||||
@EnableScheduling
|
||||
@EnableEasyRetry(group = "${easy-retry.group-name}")
|
||||
public class EasyRetryConfig {
|
||||
@EnableSnailJob(group = "${snail-job.group-name}")
|
||||
public class SnailJobConfig {
|
||||
|
||||
@EventListener(EasyRetryStartingEvent.class)
|
||||
public void onStarting(EasyRetryStartingEvent event) {
|
||||
@EventListener(SnailClientStartingEvent.class)
|
||||
public void onStarting(SnailClientStartingEvent event) {
|
||||
LoggerContext lc = (LoggerContext) LoggerFactory.getILoggerFactory();
|
||||
EasyRetryLogbackAppender<ILoggingEvent> ca = new EasyRetryLogbackAppender<>();
|
||||
ca.setName("easy_log_appender");
|
||||
SnailLogbackAppender<ILoggingEvent> ca = new SnailLogbackAppender<>();
|
||||
ca.setName("snail_log_appender");
|
||||
ca.start();
|
||||
Logger rootLogger = lc.getLogger(Logger.ROOT_LOGGER_NAME);
|
||||
rootLogger.addAppender(ca);
|
@ -1 +1 @@
|
||||
org.dromara.common.job.config.EasyRetryConfig
|
||||
org.dromara.common.job.config.SnailJobConfig
|
||||
|
@ -13,7 +13,7 @@
|
||||
|
||||
<modules>
|
||||
<module>ruoyi-monitor-admin</module>
|
||||
<module>ruoyi-easyretry-server</module>
|
||||
<module>ruoyi-snailjob-server</module>
|
||||
</modules>
|
||||
|
||||
</project>
|
||||
|
@ -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);
|
||||
}
|
||||
|
||||
}
|
@ -1,10 +0,0 @@
|
||||
Application Version: ${revision}
|
||||
Spring Boot Version: ${spring-boot.version}
|
||||
_
|
||||
| |
|
||||
___ __ _ ___ _ _ ______ _ __ ___| |_ _ __ _ _ ______ ___ ___ _ ____ _____ _ __
|
||||
/ _ \/ _` / __| | | |______| '__/ _ \ __| '__| | | |______/ __|/ _ \ '__\ \ / / _ \ '__|
|
||||
| __/ (_| \__ \ |_| | | | | __/ |_| | | |_| | \__ \ __/ | \ V / __/ |
|
||||
\___|\__,_|___/\__, | |_| \___|\__|_| \__, | |___/\___|_| \_/ \___|_|
|
||||
__/ | __/ |
|
||||
|___/ |___/
|
@ -3,16 +3,16 @@ FROM openjdk:17.0.2-oraclelinux8
|
||||
|
||||
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} \
|
@ -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>
|
@ -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);
|
||||
}
|
||||
|
||||
}
|
@ -14,16 +14,14 @@ spring:
|
||||
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 @@ easy-retry:
|
||||
max-count: 288
|
||||
#间隔时间
|
||||
trigger-interval: 900
|
||||
mode: all
|
||||
retry-max-pull-count: 10
|
||||
|
||||
--- # 监控中心配置
|
@ -14,16 +14,14 @@ spring:
|
||||
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 @@ easy-retry:
|
||||
max-count: 288
|
||||
#间隔时间
|
||||
trigger-interval: 900
|
||||
mode: all
|
||||
retry-max-pull-count: 10
|
||||
|
||||
--- # 监控中心配置
|
@ -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 @@ spring:
|
||||
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 @@ management:
|
||||
health:
|
||||
show-details: ALWAYS
|
||||
logfile:
|
||||
external-file: ./logs/ruoyi-easyretry-server/console.log
|
||||
external-file: ./logs/ruoyi-snailjob-server/console.log
|
@ -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>
|
@ -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("测试成功");
|
||||
}
|
||||
}
|
@ -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("测试成功");
|
||||
}
|
||||
}
|
@ -1,13 +1,13 @@
|
||||
package org.dromara.job.easyretry;
|
||||
package org.dromara.job.snailjob;
|
||||
|
||||
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 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 www.byteblogs.com
|
||||
* @date 2023-09-28 22:54:07
|
||||
* @author opensnail
|
||||
* @date 2024-05-17
|
||||
*/
|
||||
@Component
|
||||
public class TestClassJobExecutor extends AbstractJobExecutor {
|
@ -141,9 +141,9 @@ services:
|
||||
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 @@ services:
|
||||
- "8800:8800"
|
||||
- "1788:1788"
|
||||
volumes:
|
||||
- /docker/easyretry/logs/:/ruoyi/easyretry/logs
|
||||
- /docker/snailjob/logs/:/ruoyi/snailjob/logs
|
||||
privileged: true
|
||||
network_mode: "host"
|
||||
|
@ -31,7 +31,7 @@ http {
|
||||
server 127.0.0.1:9090;
|
||||
}
|
||||
|
||||
upstream easyretry-server {
|
||||
upstream snailjob-server {
|
||||
server 127.0.0.1:8800;
|
||||
}
|
||||
|
||||
@ -96,12 +96,12 @@ http {
|
||||
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;
|
||||
|
@ -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 '同组下id唯一';
|
||||
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 '同组下id唯一';
|
||||
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 '同组下id唯一';
|
||||
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 '同组下id唯一';
|
||||
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、CRON 表达式';
|
||||
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 '最大id';
|
||||
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 '工作流节点id';
|
||||
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或workflow_id)';
|
||||
COMMENT ON COLUMN er_job_summary.system_task_type IS '任务类型 3、JOB任务 4、WORKFLOW任务';
|
||||
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 '工作流ID';
|
||||
COMMENT ON COLUMN er_workflow_node.node_type IS '1、任务节点 2、条件节点';
|
||||
COMMENT ON COLUMN er_workflow_node.expression_type IS '1、SpEl、2、Aviator 3、QL';
|
||||
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 '工作流任务id';
|
||||
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 '扩展字段';
|
@ -452,8 +452,8 @@ insert into sys_menu values('123', '客户端管理', '1', '11', 'client',
|
||||
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, '操作日志菜单');
|
||||
|
894
script/sql/oracle/snail_job_oracle.sql
Normal file
894
script/sql/oracle/snail_job_oracle.sql
Normal file
@ -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或workflow_id或scene_name ) ';
|
||||
COMMENT ON COLUMN sj_notify_config.system_task_type IS '任务类型 1. 重试任务 2. 重试回调 3、JOB任务 4、WORKFLOW任务';
|
||||
COMMENT ON COLUMN sj_notify_config.notify_status IS '通知状态 0、未启用 1、启用';
|
||||
COMMENT ON COLUMN sj_notify_config.recipient_ids IS '接收人id列表';
|
||||
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 '同组下id唯一';
|
||||
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 '同组下id唯一';
|
||||
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 '同组下id唯一';
|
||||
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 '同组下id唯一';
|
||||
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、CRON 表达式';
|
||||
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 '最大id';
|
||||
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 '工作流节点id';
|
||||
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 '工作流任务批次id';
|
||||
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、JOB任务 4、WORKFLOW任务';
|
||||
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或workflow_id ) ';
|
||||
COMMENT ON COLUMN sj_job_summary.system_task_type IS '任务类型 3、JOB任务 4、WORKFLOW任务';
|
||||
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 '工作流ID';
|
||||
COMMENT ON COLUMN sj_workflow_node.node_type IS '1、任务节点 2、条件节点';
|
||||
COMMENT ON COLUMN sj_workflow_node.expression_type IS '1、SpEl、2、Aviator 3、QL';
|
||||
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 '工作流任务id';
|
||||
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 '工作流批次';
|
||||
|
@ -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 '同组下id唯一';
|
||||
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 '同组下id唯一';
|
||||
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 '同组下id唯一';
|
||||
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 '同组下id唯一';
|
||||
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、CRON 表达式';
|
||||
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 '最大id';
|
||||
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分配表';
|
||||
|
||||
-- 分布式调度DDL
|
||||
CREATE TABLE er_job
|
||||
(
|
||||
id BIGSERIAL PRIMARY KEY,
|
||||
namespace_id VARCHAR(64) NOT NULL DEFAULT '764d604ec6fc45f68cd92514c40e9e1a',
|
||||
group_name VARCHAR(64) NOT NULL,
|
||||
job_name VARCHAR(64) NOT NULL,
|
||||
args_str TEXT NOT NULL DEFAULT '',
|
||||
args_type SMALLINT NOT NULL DEFAULT 1,
|
||||
next_trigger_at BIGINT NOT NULL,
|
||||
job_status SMALLINT NOT NULL DEFAULT 1,
|
||||
task_type SMALLINT NOT NULL DEFAULT 1,
|
||||
route_key SMALLINT NOT NULL DEFAULT 4,
|
||||
executor_type SMALLINT NOT NULL DEFAULT 1,
|
||||
executor_info VARCHAR(255) DEFAULT NULL,
|
||||
trigger_type SMALLINT NOT NULL,
|
||||
trigger_interval VARCHAR(255) NOT NULL,
|
||||
block_strategy SMALLINT NOT NULL DEFAULT 1,
|
||||
executor_timeout INT NOT NULL DEFAULT 0,
|
||||
max_retry_times INT NOT NULL DEFAULT 0,
|
||||
parallel_num INT NOT NULL DEFAULT 1,
|
||||
retry_interval INT NOT NULL DEFAULT 0,
|
||||
bucket_index INT NOT NULL DEFAULT 0,
|
||||
resident SMALLINT NOT NULL DEFAULT 0,
|
||||
description VARCHAR(256) NOT NULL DEFAULT '',
|
||||
ext_attrs VARCHAR(256) DEFAULT NULL,
|
||||
create_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
update_dt TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
|
||||
deleted SMALLINT NOT NULL DEFAULT 0
|
||||
);
|
||||
|
||||
CREATE INDEX idx_namespace_id_group_name_job ON 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 '工作流节点id';
|
||||
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或workflow_id)';
|
||||
COMMENT ON COLUMN er_job_summary.system_task_type IS '任务类型 3、JOB任务 4、WORKFLOW任务';
|
||||
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 '工作流ID';
|
||||
COMMENT ON COLUMN er_workflow_node.node_type IS '1、任务节点 2、条件节点';
|
||||
COMMENT ON COLUMN er_workflow_node.expression_type IS '1、SpEl、2、Aviator 3、QL';
|
||||
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 '工作流任务id';
|
||||
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 '扩展字段';
|
@ -454,8 +454,8 @@ insert into sys_menu values('123', '客户端管理', '1', '11', 'client',
|
||||
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, '操作日志菜单');
|
||||
|
825
script/sql/postgres/snail_job_postgre.sql
Normal file
825
script/sql/postgres/snail_job_postgre.sql
Normal file
@ -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或workflow_id或scene_name ) ';
|
||||
COMMENT ON COLUMN sj_notify_config.system_task_type IS '任务类型 1. 重试任务 2. 重试回调 3、JOB任务 4、WORKFLOW任务';
|
||||
COMMENT ON COLUMN sj_notify_config.notify_status IS '通知状态 0、未启用 1、启用';
|
||||
COMMENT ON COLUMN sj_notify_config.recipient_ids IS '接收人id列表';
|
||||
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 '同组下id唯一';
|
||||
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 '同组下id唯一';
|
||||
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 '同组下id唯一';
|
||||
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 '同组下id唯一';
|
||||
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、CRON 表达式';
|
||||
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 '最大id';
|
||||
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 '工作流节点id';
|
||||
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 '工作流任务批次id';
|
||||
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、JOB任务 4、WORKFLOW任务';
|
||||
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或workflow_id ) ';
|
||||
COMMENT ON COLUMN sj_job_summary.system_task_type IS '任务类型 3、JOB任务 4、WORKFLOW任务';
|
||||
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 '工作流ID';
|
||||
COMMENT ON COLUMN sj_workflow_node.node_type IS '1、任务节点 2、条件节点';
|
||||
COMMENT ON COLUMN sj_workflow_node.expression_type IS '1、SpEl、2、Aviator 3、QL';
|
||||
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 '工作流任务id';
|
||||
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 '工作流批次';
|
||||
|
@ -288,8 +288,8 @@ insert into sys_menu values('123', '客户端管理', '1', '11', 'client',
|
||||
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, '操作日志菜单');
|
||||
|
@ -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或workflow_id或scene_name)',
|
||||
`system_task_type` tinyint(4) NOT NULL DEFAULT 3 COMMENT '任务类型 1. 重试任务 2. 重试回调 3、JOB任务 4、WORKFLOW任务',
|
||||
`notify_status` tinyint(4) NOT NULL DEFAULT 0 COMMENT '通知状态 0、未启用 1、启用',
|
||||
`recipient_ids` varchar(128) NOT NULL COMMENT '接收人id列表',
|
||||
`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 @@ CREATE TABLE `er_retry_dead_letter_0`
|
||||
`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 @@ CREATE TABLE `er_retry_dead_letter_0`
|
||||
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 @@ CREATE TABLE `er_retry_task_0`
|
||||
`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 @@ CREATE TABLE `er_retry_task_0`
|
||||
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 @@ CREATE TABLE `er_retry_task_log`
|
||||
`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 @@ CREATE TABLE `er_retry_task_log`
|
||||
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 '同组下id唯一',
|
||||
`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、CRON 表达式',
|
||||
`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 '路由策略',
|
||||
`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 @@ CREATE TABLE `er_scene_config`
|
||||
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 @@ CREATE TABLE `er_server_node`
|
||||
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 @@ CREATE TABLE `er_distributed_lock`
|
||||
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 @@ CREATE TABLE `er_system_user`
|
||||
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 @@ CREATE TABLE `er_system_user_permission`
|
||||
) 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 '最大id',
|
||||
`step` int(11) NOT NULL DEFAULT '100' 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`)
|
||||
@ -274,34 +278,34 @@ CREATE TABLE `er_sequence_alloc`
|
||||
DEFAULT CHARSET = utf8mb4 COMMENT ='号段模式序号ID分配表';
|
||||
|
||||
-- 分布式调度DDL
|
||||
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 @@ CREATE TABLE `er_job`
|
||||
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 @@ CREATE TABLE `er_job_log_message`
|
||||
`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 @@ CREATE TABLE `er_job_log_message`
|
||||
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 @@ CREATE TABLE `er_job_task`
|
||||
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 '工作流节点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任务',
|
||||
`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 '父节点',
|
||||
`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 @@ CREATE TABLE `er_job_task_batch`
|
||||
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或workflow_id)',
|
||||
`system_task_type` tinyint(4) NOT NULL DEFAULT '3' COMMENT '任务类型 3、JOB任务 4、WORKFLOW任务',
|
||||
`system_task_type` tinyint(4) NOT NULL DEFAULT 3 COMMENT '任务类型 3、JOB任务 4、WORKFLOW任务',
|
||||
`trigger_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '统计时间',
|
||||
`success_num` int NOT NULL DEFAULT '0' COMMENT '执行成功-日志数量',
|
||||
`fail_num` int NOT NULL DEFAULT '0' COMMENT '执行失败-日志数量',
|
||||
`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 @@ CREATE TABLE `er_job_summary`
|
||||
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 @@ CREATE TABLE `er_retry_summary`
|
||||
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 @@ CREATE TABLE `er_workflow`
|
||||
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 @@ CREATE TABLE `er_workflow_node`
|
||||
`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 @@ CREATE TABLE `er_workflow_node`
|
||||
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 '工作流任务id',
|
||||
`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`),
|
File diff suppressed because it is too large
Load Diff
@ -1692,7 +1692,7 @@ INSERT sys_menu VALUES (117, N'Admin监控', 2, 5, N'Admin', N'monitor/admin/ind
|
||||
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
|
||||
|
@ -6,3 +6,4 @@ ALTER TABLE sys_post ADD (post_category VARCHAR2(100) DEFAULT NULL) COMMENT '岗
|
||||
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;
|
||||
|
@ -6,3 +6,4 @@ ALTER TABLE sys_post ADD COLUMN post_category varchar(100) default null::varchar
|
||||
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;
|
||||
|
@ -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
|
@ -2,3 +2,4 @@ ALTER TABLE sys_dept ADD dept_category VARCHAR(100) DEFAULT NULL COMMENT '部门
|
||||
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;
|
||||
|
Loading…
Reference in New Issue
Block a user