mirror of
https://gitee.com/huangge1199_admin/vue-pro.git
synced 2025-01-19 03:30:06 +08:00
【功能优化】信创数据库:大金数据库支持 Quartz 的兼容
This commit is contained in:
parent
2c67bd3a09
commit
674e7520cc
170
sql/kingbase/quartz.sql
Normal file
170
sql/kingbase/quartz.sql
Normal file
@ -0,0 +1,170 @@
|
|||||||
|
set client_min_messages = WARNING;
|
||||||
|
DROP TABLE IF EXISTS qrtz_fired_triggers;
|
||||||
|
DROP TABLE IF EXISTS qrtz_paused_trigger_grps;
|
||||||
|
DROP TABLE IF EXISTS qrtz_scheduler_state;
|
||||||
|
DROP TABLE IF EXISTS qrtz_locks;
|
||||||
|
DROP TABLE IF EXISTS qrtz_simprop_triggers;
|
||||||
|
DROP TABLE IF EXISTS qrtz_simple_triggers;
|
||||||
|
DROP TABLE IF EXISTS qrtz_cron_triggers;
|
||||||
|
DROP TABLE IF EXISTS qrtz_blob_triggers;
|
||||||
|
DROP TABLE IF EXISTS qrtz_triggers;
|
||||||
|
DROP TABLE IF EXISTS qrtz_job_details;
|
||||||
|
DROP TABLE IF EXISTS qrtz_calendars;
|
||||||
|
set client_min_messages = NOTICE;
|
||||||
|
|
||||||
|
CREATE TABLE qrtz_job_details
|
||||||
|
(
|
||||||
|
sched_name TEXT NOT NULL,
|
||||||
|
job_name TEXT NOT NULL,
|
||||||
|
job_group TEXT NOT NULL,
|
||||||
|
description TEXT NULL,
|
||||||
|
job_class_name TEXT NOT NULL,
|
||||||
|
is_durable BOOL NOT NULL,
|
||||||
|
is_nonconcurrent BOOL NOT NULL,
|
||||||
|
is_update_data BOOL NOT NULL,
|
||||||
|
requests_recovery BOOL NOT NULL,
|
||||||
|
job_data BYTEA NULL,
|
||||||
|
PRIMARY KEY (sched_name,job_name,job_group)
|
||||||
|
);
|
||||||
|
|
||||||
|
CREATE TABLE qrtz_triggers
|
||||||
|
(
|
||||||
|
sched_name TEXT NOT NULL,
|
||||||
|
trigger_name TEXT NOT NULL,
|
||||||
|
trigger_group TEXT NOT NULL,
|
||||||
|
job_name TEXT NOT NULL,
|
||||||
|
job_group TEXT NOT NULL,
|
||||||
|
description TEXT NULL,
|
||||||
|
next_fire_time BIGINT NULL,
|
||||||
|
prev_fire_time BIGINT NULL,
|
||||||
|
priority INTEGER NULL,
|
||||||
|
trigger_state TEXT NOT NULL,
|
||||||
|
trigger_type TEXT NOT NULL,
|
||||||
|
start_time BIGINT NOT NULL,
|
||||||
|
end_time BIGINT NULL,
|
||||||
|
calendar_name TEXT NULL,
|
||||||
|
misfire_instr SMALLINT NULL,
|
||||||
|
job_data BYTEA NULL,
|
||||||
|
PRIMARY KEY (sched_name,trigger_name,trigger_group),
|
||||||
|
FOREIGN KEY (sched_name,job_name,job_group)
|
||||||
|
REFERENCES qrtz_job_details(sched_name,job_name,job_group)
|
||||||
|
);
|
||||||
|
|
||||||
|
CREATE TABLE qrtz_simple_triggers
|
||||||
|
(
|
||||||
|
sched_name TEXT NOT NULL,
|
||||||
|
trigger_name TEXT NOT NULL,
|
||||||
|
trigger_group TEXT NOT NULL,
|
||||||
|
repeat_count BIGINT NOT NULL,
|
||||||
|
repeat_interval BIGINT NOT NULL,
|
||||||
|
times_triggered BIGINT NOT NULL,
|
||||||
|
PRIMARY KEY (sched_name,trigger_name,trigger_group),
|
||||||
|
FOREIGN KEY (sched_name,trigger_name,trigger_group)
|
||||||
|
REFERENCES qrtz_triggers(sched_name,trigger_name,trigger_group) ON DELETE CASCADE
|
||||||
|
);
|
||||||
|
|
||||||
|
CREATE TABLE QRTZ_SIMPROP_TRIGGERS
|
||||||
|
(
|
||||||
|
sched_name TEXT NOT NULL,
|
||||||
|
trigger_name TEXT NOT NULL ,
|
||||||
|
trigger_group TEXT NOT NULL ,
|
||||||
|
str_prop_1 TEXT NULL,
|
||||||
|
str_prop_2 TEXT NULL,
|
||||||
|
str_prop_3 TEXT NULL,
|
||||||
|
int_prop_1 INTEGER NULL,
|
||||||
|
int_prop_2 INTEGER NULL,
|
||||||
|
long_prop_1 BIGINT NULL,
|
||||||
|
long_prop_2 BIGINT NULL,
|
||||||
|
dec_prop_1 NUMERIC NULL,
|
||||||
|
dec_prop_2 NUMERIC NULL,
|
||||||
|
bool_prop_1 BOOL NULL,
|
||||||
|
bool_prop_2 BOOL NULL,
|
||||||
|
time_zone_id TEXT NULL,
|
||||||
|
PRIMARY KEY (sched_name,trigger_name,trigger_group),
|
||||||
|
FOREIGN KEY (sched_name,trigger_name,trigger_group)
|
||||||
|
REFERENCES qrtz_triggers(sched_name,trigger_name,trigger_group) ON DELETE CASCADE
|
||||||
|
);
|
||||||
|
|
||||||
|
CREATE TABLE qrtz_cron_triggers
|
||||||
|
(
|
||||||
|
sched_name TEXT NOT NULL,
|
||||||
|
trigger_name TEXT NOT NULL,
|
||||||
|
trigger_group TEXT NOT NULL,
|
||||||
|
cron_expression TEXT NOT NULL,
|
||||||
|
time_zone_id TEXT,
|
||||||
|
PRIMARY KEY (sched_name,trigger_name,trigger_group),
|
||||||
|
FOREIGN KEY (sched_name,trigger_name,trigger_group)
|
||||||
|
REFERENCES qrtz_triggers(sched_name,trigger_name,trigger_group) ON DELETE CASCADE
|
||||||
|
);
|
||||||
|
|
||||||
|
CREATE TABLE qrtz_blob_triggers
|
||||||
|
(
|
||||||
|
sched_name TEXT NOT NULL,
|
||||||
|
trigger_name TEXT NOT NULL,
|
||||||
|
trigger_group TEXT NOT NULL,
|
||||||
|
blob_data BYTEA NULL,
|
||||||
|
PRIMARY KEY (sched_name,trigger_name,trigger_group),
|
||||||
|
FOREIGN KEY (sched_name,trigger_name,trigger_group)
|
||||||
|
REFERENCES qrtz_triggers(sched_name,trigger_name,trigger_group) ON DELETE CASCADE
|
||||||
|
);
|
||||||
|
|
||||||
|
CREATE TABLE qrtz_calendars
|
||||||
|
(
|
||||||
|
sched_name TEXT NOT NULL,
|
||||||
|
calendar_name TEXT NOT NULL,
|
||||||
|
calendar BYTEA NOT NULL,
|
||||||
|
PRIMARY KEY (sched_name,calendar_name)
|
||||||
|
);
|
||||||
|
|
||||||
|
CREATE TABLE qrtz_paused_trigger_grps
|
||||||
|
(
|
||||||
|
sched_name TEXT NOT NULL,
|
||||||
|
trigger_group TEXT NOT NULL,
|
||||||
|
PRIMARY KEY (sched_name,trigger_group)
|
||||||
|
);
|
||||||
|
|
||||||
|
CREATE TABLE qrtz_fired_triggers
|
||||||
|
(
|
||||||
|
sched_name TEXT NOT NULL,
|
||||||
|
entry_id TEXT NOT NULL,
|
||||||
|
trigger_name TEXT NOT NULL,
|
||||||
|
trigger_group TEXT NOT NULL,
|
||||||
|
instance_name TEXT NOT NULL,
|
||||||
|
fired_time BIGINT NOT NULL,
|
||||||
|
sched_time BIGINT NOT NULL,
|
||||||
|
priority INTEGER NOT NULL,
|
||||||
|
state TEXT NOT NULL,
|
||||||
|
job_name TEXT NULL,
|
||||||
|
job_group TEXT NULL,
|
||||||
|
is_nonconcurrent BOOL NOT NULL,
|
||||||
|
requests_recovery BOOL NULL,
|
||||||
|
PRIMARY KEY (sched_name,entry_id)
|
||||||
|
);
|
||||||
|
|
||||||
|
CREATE TABLE qrtz_scheduler_state
|
||||||
|
(
|
||||||
|
sched_name TEXT NOT NULL,
|
||||||
|
instance_name TEXT NOT NULL,
|
||||||
|
last_checkin_time BIGINT NOT NULL,
|
||||||
|
checkin_interval BIGINT NOT NULL,
|
||||||
|
PRIMARY KEY (sched_name,instance_name)
|
||||||
|
);
|
||||||
|
|
||||||
|
CREATE TABLE qrtz_locks
|
||||||
|
(
|
||||||
|
sched_name TEXT NOT NULL,
|
||||||
|
lock_name TEXT NOT NULL,
|
||||||
|
PRIMARY KEY (sched_name,lock_name)
|
||||||
|
);
|
||||||
|
|
||||||
|
create index idx_qrtz_j_req_recovery on qrtz_job_details(requests_recovery);
|
||||||
|
create index idx_qrtz_t_next_fire_time on qrtz_triggers(next_fire_time);
|
||||||
|
create index idx_qrtz_t_state on qrtz_triggers(trigger_state);
|
||||||
|
create index idx_qrtz_t_nft_st on qrtz_triggers(next_fire_time,trigger_state);
|
||||||
|
create index idx_qrtz_ft_trig_name on qrtz_fired_triggers(trigger_name);
|
||||||
|
create index idx_qrtz_ft_trig_group on qrtz_fired_triggers(trigger_group);
|
||||||
|
create index idx_qrtz_ft_trig_nm_gp on qrtz_fired_triggers(sched_name,trigger_name,trigger_group);
|
||||||
|
create index idx_qrtz_ft_trig_inst_name on qrtz_fired_triggers(instance_name);
|
||||||
|
create index idx_qrtz_ft_job_name on qrtz_fired_triggers(job_name);
|
||||||
|
create index idx_qrtz_ft_job_group on qrtz_fired_triggers(job_group);
|
||||||
|
create index idx_qrtz_ft_job_req_recovery on qrtz_fired_triggers(requests_recovery);
|
@ -61,14 +61,13 @@ exit
|
|||||||
|
|
||||||
① 下载人大金仓 Docker 镜像:
|
① 下载人大金仓 Docker 镜像:
|
||||||
|
|
||||||
> x86_64 版本: https://kingbase.oss-cn-beijing.aliyuncs.com/KESV8R3/V009R001C001B0025-安装包-docker/x86_64/kdb_x86_64_V009R001C001B0025.tar
|
* [x86_64 版本](https://kingbase.oss-cn-beijing.aliyuncs.com/KESV8R3/V009R001C001B0025-安装包-docker/x86_64/kdb_x86_64_V009R001C001B0025.tar) 【Windows 选择这个】
|
||||||
|
* [aarch64 版本](https://kingbase.oss-cn-beijing.aliyuncs.com/KESV8R3/V009R001C001B0025-安装包-docker/aarch64/kdb_aarch64_V009R001C001B0025.tar) 【MacBook Apple Silicon 选择这个】
|
||||||
> aarch64 版本:https://kingbase.oss-cn-beijing.aliyuncs.com/KESV8R3/V009R001C001B0025-安装包-docker/aarch64/kdb_aarch64_V009R001C001B0025.tar
|
|
||||||
|
|
||||||
② 加载镜像文件,在镜像 tar 文件所在目录运行:
|
② 加载镜像文件,在镜像 tar 文件所在目录运行:
|
||||||
|
|
||||||
```Bash
|
```Bash
|
||||||
docker load -i x86_64/kdb_x86_64_V009R001C001B0025.tar
|
docker load -i kdb_x86_64_V009R001C001B0025.tar
|
||||||
```
|
```
|
||||||
|
|
||||||
③ 在项目 `sql/tools` 目录下运行:
|
③ 在项目 `sql/tools` 目录下运行:
|
||||||
|
@ -73,7 +73,6 @@ services:
|
|||||||
# docker compose exec sqlserver bash /tmp/create_schema.sh
|
# docker compose exec sqlserver bash /tmp/create_schema.sh
|
||||||
- ./sqlserver/create_schema.sh:/tmp/create_schema.sh:ro
|
- ./sqlserver/create_schema.sh:/tmp/create_schema.sh:ro
|
||||||
|
|
||||||
|
|
||||||
dm8:
|
dm8:
|
||||||
# docker load -i dm8_20240715_x86_rh6_rq_single.tar
|
# docker load -i dm8_20240715_x86_rh6_rq_single.tar
|
||||||
image: dm8_single:dm8_20240715_rev232765_x86_rh6_64
|
image: dm8_single:dm8_20240715_rev232765_x86_rh6_64
|
||||||
@ -94,10 +93,8 @@ services:
|
|||||||
- ../dm/ruoyi-vue-pro-dm8.sql:/tmp/schema.sql:ro
|
- ../dm/ruoyi-vue-pro-dm8.sql:/tmp/schema.sql:ro
|
||||||
|
|
||||||
kingbase:
|
kingbase:
|
||||||
# x86_64: https://kingbase.oss-cn-beijing.aliyuncs.com/KESV8R3/V009R001C001B0025-安装包-docker/x86_64/kdb_x86_64_V009R001C001B0025.tar
|
|
||||||
# aarch64: https://kingbase.oss-cn-beijing.aliyuncs.com/KESV8R3/V009R001C001B0025-安装包-docker/aarch64/kdb_aarch64_V009R001C001B0025.tar
|
|
||||||
# docker load -i kdb_x86_64_V009R001C001B0025.tar
|
|
||||||
image: kingbase_v009r001c001b0025_single_x86:v1
|
image: kingbase_v009r001c001b0025_single_x86:v1
|
||||||
|
# image: kingbase_v009r001c001b0025_single_arm:v1
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
environment:
|
environment:
|
||||||
DB_USER: root
|
DB_USER: root
|
||||||
@ -107,7 +104,6 @@ services:
|
|||||||
volumes:
|
volumes:
|
||||||
- kingbase:/home/kingbase/userdata
|
- kingbase:/home/kingbase/userdata
|
||||||
- ../kingbase/ruoyi-vue-pro.sql:/tmp/schema.sql:ro
|
- ../kingbase/ruoyi-vue-pro.sql:/tmp/schema.sql:ro
|
||||||
# docker compose exec kingbase bash -c 'ksql -U $DB_USER -d test -f /tmp/schema.sql'
|
|
||||||
|
|
||||||
opengauss:
|
opengauss:
|
||||||
image: opengauss/opengauss:5.0.0
|
image: opengauss/opengauss:5.0.0
|
||||||
|
@ -83,6 +83,7 @@ public class IdTypeEnvironmentPostProcessor implements EnvironmentPostProcessor
|
|||||||
driverClass = "org.quartz.impl.jdbcjobstore.MSSQLDelegate";
|
driverClass = "org.quartz.impl.jdbcjobstore.MSSQLDelegate";
|
||||||
break;
|
break;
|
||||||
case DM:
|
case DM:
|
||||||
|
case KINGBASE_ES:
|
||||||
driverClass = "org.quartz.impl.jdbcjobstore.StdJDBCDelegate";
|
driverClass = "org.quartz.impl.jdbcjobstore.StdJDBCDelegate";
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -157,7 +157,7 @@ public class QueryWrapperX<T> extends QueryWrapper<T> {
|
|||||||
case SQL_SERVER2005:
|
case SQL_SERVER2005:
|
||||||
super.select("TOP " + n + " *"); // 由于 SQL Server 是通过 SELECT TOP 1 实现限制一条,所以只好使用 * 查询剩余字段
|
super.select("TOP " + n + " *"); // 由于 SQL Server 是通过 SELECT TOP 1 实现限制一条,所以只好使用 * 查询剩余字段
|
||||||
break;
|
break;
|
||||||
default: // MySQL、PostgreSQL、DM 达梦都是采用 LIMIT 实现
|
default: // MySQL、PostgreSQL、DM 达梦、KingbaseES 大金都是采用 LIMIT 实现
|
||||||
super.last("LIMIT " + n);
|
super.last("LIMIT " + n);
|
||||||
}
|
}
|
||||||
return this;
|
return this;
|
||||||
|
Loading…
Reference in New Issue
Block a user