Jiarenxiang | 25a45b7 | 2025-03-13 16:09:13 +0800 | [diff] [blame^] | 1 | DROP TABLE IF EXISTS QRTZ_FIRED_TRIGGERS; |
| 2 | DROP TABLE IF EXISTS QRTZ_PAUSED_TRIGGER_GRPS; |
| 3 | DROP TABLE IF EXISTS QRTZ_SCHEDULER_STATE; |
| 4 | DROP TABLE IF EXISTS QRTZ_LOCKS; |
| 5 | DROP TABLE IF EXISTS QRTZ_SIMPLE_TRIGGERS; |
| 6 | DROP TABLE IF EXISTS QRTZ_SIMPROP_TRIGGERS; |
| 7 | DROP TABLE IF EXISTS QRTZ_CRON_TRIGGERS; |
| 8 | DROP TABLE IF EXISTS QRTZ_BLOB_TRIGGERS; |
| 9 | DROP TABLE IF EXISTS QRTZ_TRIGGERS; |
| 10 | DROP TABLE IF EXISTS QRTZ_JOB_DETAILS; |
| 11 | DROP TABLE IF EXISTS QRTZ_CALENDARS; |
| 12 | |
| 13 | -- ---------------------------- |
| 14 | -- 1、存储每一个已配置的 jobDetail 的详细信息 |
| 15 | -- ---------------------------- |
| 16 | create table QRTZ_JOB_DETAILS ( |
| 17 | sched_name varchar(120) not null comment '调度名称', |
| 18 | job_name varchar(200) not null comment '任务名称', |
| 19 | job_group varchar(200) not null comment '任务组名', |
| 20 | description varchar(250) null comment '相关介绍', |
| 21 | job_class_name varchar(250) not null comment '执行任务类名称', |
| 22 | is_durable varchar(1) not null comment '是否持久化', |
| 23 | is_nonconcurrent varchar(1) not null comment '是否并发', |
| 24 | is_update_data varchar(1) not null comment '是否更新数据', |
| 25 | requests_recovery varchar(1) not null comment '是否接受恢复执行', |
| 26 | job_data blob null comment '存放持久化job对象', |
| 27 | primary key (sched_name, job_name, job_group) |
| 28 | ) engine=innodb comment = '任务详细信息表'; |
| 29 | |
| 30 | -- ---------------------------- |
| 31 | -- 2、 存储已配置的 Trigger 的信息 |
| 32 | -- ---------------------------- |
| 33 | create table QRTZ_TRIGGERS ( |
| 34 | sched_name varchar(120) not null comment '调度名称', |
| 35 | trigger_name varchar(200) not null comment '触发器的名字', |
| 36 | trigger_group varchar(200) not null comment '触发器所属组的名字', |
| 37 | job_name varchar(200) not null comment 'qrtz_job_details表job_name的外键', |
| 38 | job_group varchar(200) not null comment 'qrtz_job_details表job_group的外键', |
| 39 | description varchar(250) null comment '相关介绍', |
| 40 | next_fire_time bigint(13) null comment '上一次触发时间(毫秒)', |
| 41 | prev_fire_time bigint(13) null comment '下一次触发时间(默认为-1表示不触发)', |
| 42 | priority integer null comment '优先级', |
| 43 | trigger_state varchar(16) not null comment '触发器状态', |
| 44 | trigger_type varchar(8) not null comment '触发器的类型', |
| 45 | start_time bigint(13) not null comment '开始时间', |
| 46 | end_time bigint(13) null comment '结束时间', |
| 47 | calendar_name varchar(200) null comment '日程表名称', |
| 48 | misfire_instr smallint(2) null comment '补偿执行的策略', |
| 49 | job_data blob null comment '存放持久化job对象', |
| 50 | primary key (sched_name, trigger_name, trigger_group), |
| 51 | foreign key (sched_name, job_name, job_group) references QRTZ_JOB_DETAILS(sched_name, job_name, job_group) |
| 52 | ) engine=innodb comment = '触发器详细信息表'; |
| 53 | |
| 54 | -- ---------------------------- |
| 55 | -- 3、 存储简单的 Trigger,包括重复次数,间隔,以及已触发的次数 |
| 56 | -- ---------------------------- |
| 57 | create table QRTZ_SIMPLE_TRIGGERS ( |
| 58 | sched_name varchar(120) not null comment '调度名称', |
| 59 | trigger_name varchar(200) not null comment 'qrtz_triggers表trigger_name的外键', |
| 60 | trigger_group varchar(200) not null comment 'qrtz_triggers表trigger_group的外键', |
| 61 | repeat_count bigint(7) not null comment '重复的次数统计', |
| 62 | repeat_interval bigint(12) not null comment '重复的间隔时间', |
| 63 | times_triggered bigint(10) not null comment '已经触发的次数', |
| 64 | primary key (sched_name, trigger_name, trigger_group), |
| 65 | foreign key (sched_name, trigger_name, trigger_group) references QRTZ_TRIGGERS(sched_name, trigger_name, trigger_group) |
| 66 | ) engine=innodb comment = '简单触发器的信息表'; |
| 67 | |
| 68 | -- ---------------------------- |
| 69 | -- 4、 存储 Cron Trigger,包括 Cron 表达式和时区信息 |
| 70 | -- ---------------------------- |
| 71 | create table QRTZ_CRON_TRIGGERS ( |
| 72 | sched_name varchar(120) not null comment '调度名称', |
| 73 | trigger_name varchar(200) not null comment 'qrtz_triggers表trigger_name的外键', |
| 74 | trigger_group varchar(200) not null comment 'qrtz_triggers表trigger_group的外键', |
| 75 | cron_expression varchar(200) not null comment 'cron表达式', |
| 76 | time_zone_id varchar(80) comment '时区', |
| 77 | primary key (sched_name, trigger_name, trigger_group), |
| 78 | foreign key (sched_name, trigger_name, trigger_group) references QRTZ_TRIGGERS(sched_name, trigger_name, trigger_group) |
| 79 | ) engine=innodb comment = 'Cron类型的触发器表'; |
| 80 | |
| 81 | -- ---------------------------- |
| 82 | -- 5、 Trigger 作为 Blob 类型存储(用于 Quartz 用户用 JDBC 创建他们自己定制的 Trigger 类型,JobStore 并不知道如何存储实例的时候) |
| 83 | -- ---------------------------- |
| 84 | create table QRTZ_BLOB_TRIGGERS ( |
| 85 | sched_name varchar(120) not null comment '调度名称', |
| 86 | trigger_name varchar(200) not null comment 'qrtz_triggers表trigger_name的外键', |
| 87 | trigger_group varchar(200) not null comment 'qrtz_triggers表trigger_group的外键', |
| 88 | blob_data blob null comment '存放持久化Trigger对象', |
| 89 | primary key (sched_name, trigger_name, trigger_group), |
| 90 | foreign key (sched_name, trigger_name, trigger_group) references QRTZ_TRIGGERS(sched_name, trigger_name, trigger_group) |
| 91 | ) engine=innodb comment = 'Blob类型的触发器表'; |
| 92 | |
| 93 | -- ---------------------------- |
| 94 | -- 6、 以 Blob 类型存储存放日历信息, quartz可配置一个日历来指定一个时间范围 |
| 95 | -- ---------------------------- |
| 96 | create table QRTZ_CALENDARS ( |
| 97 | sched_name varchar(120) not null comment '调度名称', |
| 98 | calendar_name varchar(200) not null comment '日历名称', |
| 99 | calendar blob not null comment '存放持久化calendar对象', |
| 100 | primary key (sched_name, calendar_name) |
| 101 | ) engine=innodb comment = '日历信息表'; |
| 102 | |
| 103 | -- ---------------------------- |
| 104 | -- 7、 存储已暂停的 Trigger 组的信息 |
| 105 | -- ---------------------------- |
| 106 | create table QRTZ_PAUSED_TRIGGER_GRPS ( |
| 107 | sched_name varchar(120) not null comment '调度名称', |
| 108 | trigger_group varchar(200) not null comment 'qrtz_triggers表trigger_group的外键', |
| 109 | primary key (sched_name, trigger_group) |
| 110 | ) engine=innodb comment = '暂停的触发器表'; |
| 111 | |
| 112 | -- ---------------------------- |
| 113 | -- 8、 存储与已触发的 Trigger 相关的状态信息,以及相联 Job 的执行信息 |
| 114 | -- ---------------------------- |
| 115 | create table QRTZ_FIRED_TRIGGERS ( |
| 116 | sched_name varchar(120) not null comment '调度名称', |
| 117 | entry_id varchar(95) not null comment '调度器实例id', |
| 118 | trigger_name varchar(200) not null comment 'qrtz_triggers表trigger_name的外键', |
| 119 | trigger_group varchar(200) not null comment 'qrtz_triggers表trigger_group的外键', |
| 120 | instance_name varchar(200) not null comment '调度器实例名', |
| 121 | fired_time bigint(13) not null comment '触发的时间', |
| 122 | sched_time bigint(13) not null comment '定时器制定的时间', |
| 123 | priority integer not null comment '优先级', |
| 124 | state varchar(16) not null comment '状态', |
| 125 | job_name varchar(200) null comment '任务名称', |
| 126 | job_group varchar(200) null comment '任务组名', |
| 127 | is_nonconcurrent varchar(1) null comment '是否并发', |
| 128 | requests_recovery varchar(1) null comment '是否接受恢复执行', |
| 129 | primary key (sched_name, entry_id) |
| 130 | ) engine=innodb comment = '已触发的触发器表'; |
| 131 | |
| 132 | -- ---------------------------- |
| 133 | -- 9、 存储少量的有关 Scheduler 的状态信息,假如是用于集群中,可以看到其他的 Scheduler 实例 |
| 134 | -- ---------------------------- |
| 135 | create table QRTZ_SCHEDULER_STATE ( |
| 136 | sched_name varchar(120) not null comment '调度名称', |
| 137 | instance_name varchar(200) not null comment '实例名称', |
| 138 | last_checkin_time bigint(13) not null comment '上次检查时间', |
| 139 | checkin_interval bigint(13) not null comment '检查间隔时间', |
| 140 | primary key (sched_name, instance_name) |
| 141 | ) engine=innodb comment = '调度器状态表'; |
| 142 | |
| 143 | -- ---------------------------- |
| 144 | -- 10、 存储程序的悲观锁的信息(假如使用了悲观锁) |
| 145 | -- ---------------------------- |
| 146 | create table QRTZ_LOCKS ( |
| 147 | sched_name varchar(120) not null comment '调度名称', |
| 148 | lock_name varchar(40) not null comment '悲观锁名称', |
| 149 | primary key (sched_name, lock_name) |
| 150 | ) engine=innodb comment = '存储的悲观锁信息表'; |
| 151 | |
| 152 | -- ---------------------------- |
| 153 | -- 11、 Quartz集群实现同步机制的行锁表 |
| 154 | -- ---------------------------- |
| 155 | create table QRTZ_SIMPROP_TRIGGERS ( |
| 156 | sched_name varchar(120) not null comment '调度名称', |
| 157 | trigger_name varchar(200) not null comment 'qrtz_triggers表trigger_name的外键', |
| 158 | trigger_group varchar(200) not null comment 'qrtz_triggers表trigger_group的外键', |
| 159 | str_prop_1 varchar(512) null comment 'String类型的trigger的第一个参数', |
| 160 | str_prop_2 varchar(512) null comment 'String类型的trigger的第二个参数', |
| 161 | str_prop_3 varchar(512) null comment 'String类型的trigger的第三个参数', |
| 162 | int_prop_1 int null comment 'int类型的trigger的第一个参数', |
| 163 | int_prop_2 int null comment 'int类型的trigger的第二个参数', |
| 164 | long_prop_1 bigint null comment 'long类型的trigger的第一个参数', |
| 165 | long_prop_2 bigint null comment 'long类型的trigger的第二个参数', |
| 166 | dec_prop_1 numeric(13,4) null comment 'decimal类型的trigger的第一个参数', |
| 167 | dec_prop_2 numeric(13,4) null comment 'decimal类型的trigger的第二个参数', |
| 168 | bool_prop_1 varchar(1) null comment 'Boolean类型的trigger的第一个参数', |
| 169 | bool_prop_2 varchar(1) null comment 'Boolean类型的trigger的第二个参数', |
| 170 | primary key (sched_name, trigger_name, trigger_group), |
| 171 | foreign key (sched_name, trigger_name, trigger_group) references QRTZ_TRIGGERS(sched_name, trigger_name, trigger_group) |
| 172 | ) engine=innodb comment = '同步机制的行锁表'; |
| 173 | |
| 174 | commit; |