Commit b13dc100627d7ec9d74c166c031bdf3fb57a15fc
1 parent
71b58e4d
【功能优化】信创数据库:增加 Quartz 适配
Showing
2 changed files
with
183 additions
and
1 deletions
sql/dm/quartz.sql
0 → 100644
| 1 | +-- | |
| 2 | +-- A hint submitted by a user: Oracle DB MUST be created as "shared" and the | |
| 3 | +-- job_queue_processes parameter must be greater than 2 | |
| 4 | +-- However, these settings are pretty much standard after any | |
| 5 | +-- Oracle install, so most users need not worry about this. | |
| 6 | +-- | |
| 7 | +-- Many other users (including the primary author of Quartz) have had success | |
| 8 | +-- running in dedicated mode, so only consider the above as a hint ;-) | |
| 9 | +-- | |
| 10 | + | |
| 11 | +drop table if exists qrtz_calendars; | |
| 12 | +drop table if exists qrtz_fired_triggers; | |
| 13 | +drop table if exists qrtz_blob_triggers; | |
| 14 | +drop table if exists qrtz_cron_triggers; | |
| 15 | +drop table if exists qrtz_simple_triggers; | |
| 16 | +drop table if exists qrtz_simprop_triggers; | |
| 17 | +drop table if exists qrtz_triggers; | |
| 18 | +drop table if exists qrtz_job_details; | |
| 19 | +drop table if exists qrtz_paused_trigger_grps; | |
| 20 | +drop table if exists qrtz_locks; | |
| 21 | +drop table if exists qrtz_scheduler_state; | |
| 22 | + | |
| 23 | +CREATE TABLE qrtz_job_details | |
| 24 | +( | |
| 25 | + SCHED_NAME VARCHAR2(120) NOT NULL, | |
| 26 | + JOB_NAME VARCHAR2(200) NOT NULL, | |
| 27 | + JOB_GROUP VARCHAR2(200) NOT NULL, | |
| 28 | + DESCRIPTION VARCHAR2(250) NULL, | |
| 29 | + JOB_CLASS_NAME VARCHAR2(250) NOT NULL, | |
| 30 | + IS_DURABLE VARCHAR2(1) NOT NULL, | |
| 31 | + IS_NONCONCURRENT VARCHAR2(1) NOT NULL, | |
| 32 | + IS_UPDATE_DATA VARCHAR2(1) NOT NULL, | |
| 33 | + REQUESTS_RECOVERY VARCHAR2(1) NOT NULL, | |
| 34 | + JOB_DATA BLOB NULL, | |
| 35 | + CONSTRAINT QRTZ_JOB_DETAILS_PK PRIMARY KEY (SCHED_NAME,JOB_NAME,JOB_GROUP) | |
| 36 | +); | |
| 37 | +CREATE TABLE qrtz_triggers | |
| 38 | +( | |
| 39 | + SCHED_NAME VARCHAR2(120) NOT NULL, | |
| 40 | + TRIGGER_NAME VARCHAR2(200) NOT NULL, | |
| 41 | + TRIGGER_GROUP VARCHAR2(200) NOT NULL, | |
| 42 | + JOB_NAME VARCHAR2(200) NOT NULL, | |
| 43 | + JOB_GROUP VARCHAR2(200) NOT NULL, | |
| 44 | + DESCRIPTION VARCHAR2(250) NULL, | |
| 45 | + NEXT_FIRE_TIME NUMBER(19) NULL, | |
| 46 | + PREV_FIRE_TIME NUMBER(19) NULL, | |
| 47 | + PRIORITY NUMBER(13) NULL, | |
| 48 | + TRIGGER_STATE VARCHAR2(16) NOT NULL, | |
| 49 | + TRIGGER_TYPE VARCHAR2(8) NOT NULL, | |
| 50 | + START_TIME NUMBER(19) NOT NULL, | |
| 51 | + END_TIME NUMBER(19) NULL, | |
| 52 | + CALENDAR_NAME VARCHAR2(200) NULL, | |
| 53 | + MISFIRE_INSTR NUMBER(2) NULL, | |
| 54 | + JOB_DATA BLOB NULL, | |
| 55 | + CONSTRAINT QRTZ_TRIGGERS_PK PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP), | |
| 56 | + CONSTRAINT QRTZ_TRIGGER_TO_JOBS_FK FOREIGN KEY (SCHED_NAME,JOB_NAME,JOB_GROUP) | |
| 57 | + REFERENCES QRTZ_JOB_DETAILS(SCHED_NAME,JOB_NAME,JOB_GROUP) | |
| 58 | +); | |
| 59 | +CREATE TABLE qrtz_simple_triggers | |
| 60 | +( | |
| 61 | + SCHED_NAME VARCHAR2(120) NOT NULL, | |
| 62 | + TRIGGER_NAME VARCHAR2(200) NOT NULL, | |
| 63 | + TRIGGER_GROUP VARCHAR2(200) NOT NULL, | |
| 64 | + REPEAT_COUNT NUMBER(7) NOT NULL, | |
| 65 | + REPEAT_INTERVAL NUMBER(12) NOT NULL, | |
| 66 | + TIMES_TRIGGERED NUMBER(10) NOT NULL, | |
| 67 | + CONSTRAINT QRTZ_SIMPLE_TRIG_PK PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP), | |
| 68 | + CONSTRAINT QRTZ_SIMPLE_TRIG_TO_TRIG_FK FOREIGN KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP) | |
| 69 | + REFERENCES QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP) | |
| 70 | +); | |
| 71 | +CREATE TABLE qrtz_cron_triggers | |
| 72 | +( | |
| 73 | + SCHED_NAME VARCHAR2(120) NOT NULL, | |
| 74 | + TRIGGER_NAME VARCHAR2(200) NOT NULL, | |
| 75 | + TRIGGER_GROUP VARCHAR2(200) NOT NULL, | |
| 76 | + CRON_EXPRESSION VARCHAR2(120) NOT NULL, | |
| 77 | + TIME_ZONE_ID VARCHAR2(80), | |
| 78 | + CONSTRAINT QRTZ_CRON_TRIG_PK PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP), | |
| 79 | + CONSTRAINT QRTZ_CRON_TRIG_TO_TRIG_FK FOREIGN KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP) | |
| 80 | + REFERENCES QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP) | |
| 81 | +); | |
| 82 | +CREATE TABLE qrtz_simprop_triggers | |
| 83 | +( | |
| 84 | + SCHED_NAME VARCHAR2(120) NOT NULL, | |
| 85 | + TRIGGER_NAME VARCHAR2(200) NOT NULL, | |
| 86 | + TRIGGER_GROUP VARCHAR2(200) NOT NULL, | |
| 87 | + STR_PROP_1 VARCHAR2(512) NULL, | |
| 88 | + STR_PROP_2 VARCHAR2(512) NULL, | |
| 89 | + STR_PROP_3 VARCHAR2(512) NULL, | |
| 90 | + INT_PROP_1 NUMBER(10) NULL, | |
| 91 | + INT_PROP_2 NUMBER(10) NULL, | |
| 92 | + LONG_PROP_1 NUMBER(19) NULL, | |
| 93 | + LONG_PROP_2 NUMBER(19) NULL, | |
| 94 | + DEC_PROP_1 NUMERIC(13,4) NULL, | |
| 95 | + DEC_PROP_2 NUMERIC(13,4) NULL, | |
| 96 | + BOOL_PROP_1 VARCHAR2(1) NULL, | |
| 97 | + BOOL_PROP_2 VARCHAR2(1) NULL, | |
| 98 | + TIME_ZONE_ID VARCHAR2(80) NULL, | |
| 99 | + CONSTRAINT QRTZ_SIMPROP_TRIG_PK PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP), | |
| 100 | + CONSTRAINT QRTZ_SIMPROP_TRIG_TO_TRIG_FK FOREIGN KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP) | |
| 101 | + REFERENCES QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP) | |
| 102 | +); | |
| 103 | +CREATE TABLE qrtz_blob_triggers | |
| 104 | +( | |
| 105 | + SCHED_NAME VARCHAR2(120) NOT NULL, | |
| 106 | + TRIGGER_NAME VARCHAR2(200) NOT NULL, | |
| 107 | + TRIGGER_GROUP VARCHAR2(200) NOT NULL, | |
| 108 | + BLOB_DATA BLOB NULL, | |
| 109 | + CONSTRAINT QRTZ_BLOB_TRIG_PK PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP), | |
| 110 | + CONSTRAINT QRTZ_BLOB_TRIG_TO_TRIG_FK FOREIGN KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP) | |
| 111 | + REFERENCES QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP) | |
| 112 | +); | |
| 113 | +CREATE TABLE qrtz_calendars | |
| 114 | +( | |
| 115 | + SCHED_NAME VARCHAR2(120) NOT NULL, | |
| 116 | + CALENDAR_NAME VARCHAR2(200) NOT NULL, | |
| 117 | + CALENDAR BLOB NOT NULL, | |
| 118 | + CONSTRAINT QRTZ_CALENDARS_PK PRIMARY KEY (SCHED_NAME,CALENDAR_NAME) | |
| 119 | +); | |
| 120 | +CREATE TABLE qrtz_paused_trigger_grps | |
| 121 | +( | |
| 122 | + SCHED_NAME VARCHAR2(120) NOT NULL, | |
| 123 | + TRIGGER_GROUP VARCHAR2(200) NOT NULL, | |
| 124 | + CONSTRAINT QRTZ_PAUSED_TRIG_GRPS_PK PRIMARY KEY (SCHED_NAME,TRIGGER_GROUP) | |
| 125 | +); | |
| 126 | +CREATE TABLE qrtz_fired_triggers | |
| 127 | +( | |
| 128 | + SCHED_NAME VARCHAR2(120) NOT NULL, | |
| 129 | + ENTRY_ID VARCHAR2(140) NOT NULL, | |
| 130 | + TRIGGER_NAME VARCHAR2(200) NOT NULL, | |
| 131 | + TRIGGER_GROUP VARCHAR2(200) NOT NULL, | |
| 132 | + INSTANCE_NAME VARCHAR2(200) NOT NULL, | |
| 133 | + FIRED_TIME NUMBER(19) NOT NULL, | |
| 134 | + SCHED_TIME NUMBER(19) NOT NULL, | |
| 135 | + PRIORITY NUMBER(13) NOT NULL, | |
| 136 | + STATE VARCHAR2(16) NOT NULL, | |
| 137 | + JOB_NAME VARCHAR2(200) NULL, | |
| 138 | + JOB_GROUP VARCHAR2(200) NULL, | |
| 139 | + IS_NONCONCURRENT VARCHAR2(1) NULL, | |
| 140 | + REQUESTS_RECOVERY VARCHAR2(1) NULL, | |
| 141 | + CONSTRAINT QRTZ_FIRED_TRIGGER_PK PRIMARY KEY (SCHED_NAME,ENTRY_ID) | |
| 142 | +); | |
| 143 | +CREATE TABLE qrtz_scheduler_state | |
| 144 | +( | |
| 145 | + SCHED_NAME VARCHAR2(120) NOT NULL, | |
| 146 | + INSTANCE_NAME VARCHAR2(200) NOT NULL, | |
| 147 | + LAST_CHECKIN_TIME NUMBER(19) NOT NULL, | |
| 148 | + CHECKIN_INTERVAL NUMBER(13) NOT NULL, | |
| 149 | + CONSTRAINT QRTZ_SCHEDULER_STATE_PK PRIMARY KEY (SCHED_NAME,INSTANCE_NAME) | |
| 150 | +); | |
| 151 | +CREATE TABLE qrtz_locks | |
| 152 | +( | |
| 153 | + SCHED_NAME VARCHAR2(120) NOT NULL, | |
| 154 | + LOCK_NAME VARCHAR2(40) NOT NULL, | |
| 155 | + CONSTRAINT QRTZ_LOCKS_PK PRIMARY KEY (SCHED_NAME,LOCK_NAME) | |
| 156 | +); | |
| 157 | + | |
| 158 | +create index idx_qrtz_j_req_recovery on qrtz_job_details(SCHED_NAME,REQUESTS_RECOVERY); | |
| 159 | +create index idx_qrtz_j_grp on qrtz_job_details(SCHED_NAME,JOB_GROUP); | |
| 160 | + | |
| 161 | +create index idx_qrtz_t_j on qrtz_triggers(SCHED_NAME,JOB_NAME,JOB_GROUP); | |
| 162 | +create index idx_qrtz_t_jg on qrtz_triggers(SCHED_NAME,JOB_GROUP); | |
| 163 | +create index idx_qrtz_t_c on qrtz_triggers(SCHED_NAME,CALENDAR_NAME); | |
| 164 | +create index idx_qrtz_t_g on qrtz_triggers(SCHED_NAME,TRIGGER_GROUP); | |
| 165 | +create index idx_qrtz_t_state on qrtz_triggers(SCHED_NAME,TRIGGER_STATE); | |
| 166 | +create index idx_qrtz_t_n_state on qrtz_triggers(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP,TRIGGER_STATE); | |
| 167 | +create index idx_qrtz_t_n_g_state on qrtz_triggers(SCHED_NAME,TRIGGER_GROUP,TRIGGER_STATE); | |
| 168 | +create index idx_qrtz_t_next_fire_time on qrtz_triggers(SCHED_NAME,NEXT_FIRE_TIME); | |
| 169 | +create index idx_qrtz_t_nft_st on qrtz_triggers(SCHED_NAME,TRIGGER_STATE,NEXT_FIRE_TIME); | |
| 170 | +create index idx_qrtz_t_nft_misfire on qrtz_triggers(SCHED_NAME,MISFIRE_INSTR,NEXT_FIRE_TIME); | |
| 171 | +create index idx_qrtz_t_nft_st_misfire on qrtz_triggers(SCHED_NAME,MISFIRE_INSTR,NEXT_FIRE_TIME,TRIGGER_STATE); | |
| 172 | +create index idx_qrtz_t_nft_st_misfire_grp on qrtz_triggers(SCHED_NAME,MISFIRE_INSTR,NEXT_FIRE_TIME,TRIGGER_GROUP,TRIGGER_STATE); | |
| 173 | + | |
| 174 | +create index idx_qrtz_ft_trig_inst_name on qrtz_fired_triggers(SCHED_NAME,INSTANCE_NAME); | |
| 175 | +create index idx_qrtz_ft_inst_job_req_rcvry on qrtz_fired_triggers(SCHED_NAME,INSTANCE_NAME,REQUESTS_RECOVERY); | |
| 176 | +create index idx_qrtz_ft_j_g on qrtz_fired_triggers(SCHED_NAME,JOB_NAME,JOB_GROUP); | |
| 177 | +create index idx_qrtz_ft_jg on qrtz_fired_triggers(SCHED_NAME,JOB_GROUP); | |
| 178 | +create index idx_qrtz_ft_t_g on qrtz_fired_triggers(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP); | |
| 179 | +create index idx_qrtz_ft_tg on qrtz_fired_triggers(SCHED_NAME,TRIGGER_GROUP); | |
| 0 | 180 | \ No newline at end of file | ... | ... |
yudao-framework/yudao-spring-boot-starter-mybatis/src/main/java/cn/iocoder/yudao/framework/mybatis/config/IdTypeEnvironmentPostProcessor.java
| ... | ... | @@ -55,7 +55,7 @@ public class IdTypeEnvironmentPostProcessor implements EnvironmentPostProcessor |
| 55 | 55 | setIdType(environment, IdType.INPUT); |
| 56 | 56 | return; |
| 57 | 57 | } |
| 58 | - // 情况二,自增 ID,适合 MySQL 等直接自增的数据库 | |
| 58 | + // 情况二,自增 ID,适合 MySQL、DM 达梦等直接自增的数据库 | |
| 59 | 59 | setIdType(environment, IdType.AUTO); |
| 60 | 60 | } |
| 61 | 61 | |
| ... | ... | @@ -86,6 +86,9 @@ public class IdTypeEnvironmentPostProcessor implements EnvironmentPostProcessor |
| 86 | 86 | case SQL_SERVER2005: |
| 87 | 87 | driverClass = "org.quartz.impl.jdbcjobstore.MSSQLDelegate"; |
| 88 | 88 | break; |
| 89 | + case DM: | |
| 90 | + driverClass = "org.quartz.impl.jdbcjobstore.StdJDBCDelegate"; | |
| 91 | + break; | |
| 89 | 92 | } |
| 90 | 93 | // 设置 driverClass 变量 |
| 91 | 94 | if (StrUtil.isNotEmpty(driverClass)) { | ... | ... |