|
@@ -0,0 +1,179 @@
|
|
|
+#
|
|
|
+# In your Quartz properties file, you'll need to set
|
|
|
+# org.quartz.jobStore.driverDelegateClass = org.quartz.impl.jdbcjobstore.StdJDBCDelegate
|
|
|
+#
|
|
|
+#
|
|
|
+# By: Ron Cordell - roncordell
|
|
|
+# I didn't see this anywhere, so I thought I'd post it here. This is the script from Quartz to create the tables in a MySQL database, modified to use INNODB instead of MYISAM.
|
|
|
+
|
|
|
+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_SIMPLE_TRIGGERS;
|
|
|
+DROP TABLE IF EXISTS QRTZ_SIMPROP_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;
|
|
|
+
|
|
|
+CREATE TABLE QRTZ_JOB_DETAILS(
|
|
|
+SCHED_NAME VARCHAR(120) NOT NULL,
|
|
|
+JOB_NAME VARCHAR(200) NOT NULL,
|
|
|
+JOB_GROUP VARCHAR(200) NOT NULL,
|
|
|
+DESCRIPTION VARCHAR(250) NULL,
|
|
|
+JOB_CLASS_NAME VARCHAR(250) NOT NULL,
|
|
|
+IS_DURABLE VARCHAR(1) NOT NULL,
|
|
|
+IS_NONCONCURRENT VARCHAR(1) NOT NULL,
|
|
|
+IS_UPDATE_DATA VARCHAR(1) NOT NULL,
|
|
|
+REQUESTS_RECOVERY VARCHAR(1) NOT NULL,
|
|
|
+JOB_DATA BLOB NULL,
|
|
|
+PRIMARY KEY (SCHED_NAME,JOB_NAME,JOB_GROUP))
|
|
|
+ENGINE=InnoDB;
|
|
|
+
|
|
|
+CREATE TABLE QRTZ_TRIGGERS (
|
|
|
+SCHED_NAME VARCHAR(120) NOT NULL,
|
|
|
+TRIGGER_NAME VARCHAR(200) NOT NULL,
|
|
|
+TRIGGER_GROUP VARCHAR(200) NOT NULL,
|
|
|
+JOB_NAME VARCHAR(200) NOT NULL,
|
|
|
+JOB_GROUP VARCHAR(200) NOT NULL,
|
|
|
+DESCRIPTION VARCHAR(250) NULL,
|
|
|
+NEXT_FIRE_TIME BIGINT(13) NULL,
|
|
|
+PREV_FIRE_TIME BIGINT(13) NULL,
|
|
|
+PRIORITY INTEGER NULL,
|
|
|
+TRIGGER_STATE VARCHAR(16) NOT NULL,
|
|
|
+TRIGGER_TYPE VARCHAR(8) NOT NULL,
|
|
|
+START_TIME BIGINT(13) NOT NULL,
|
|
|
+END_TIME BIGINT(13) NULL,
|
|
|
+CALENDAR_NAME VARCHAR(200) NULL,
|
|
|
+MISFIRE_INSTR SMALLINT(2) NULL,
|
|
|
+JOB_DATA BLOB 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))
|
|
|
+ENGINE=InnoDB;
|
|
|
+
|
|
|
+CREATE TABLE QRTZ_SIMPLE_TRIGGERS (
|
|
|
+SCHED_NAME VARCHAR(120) NOT NULL,
|
|
|
+TRIGGER_NAME VARCHAR(200) NOT NULL,
|
|
|
+TRIGGER_GROUP VARCHAR(200) NOT NULL,
|
|
|
+REPEAT_COUNT BIGINT(7) NOT NULL,
|
|
|
+REPEAT_INTERVAL BIGINT(12) NOT NULL,
|
|
|
+TIMES_TRIGGERED BIGINT(10) 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))
|
|
|
+ENGINE=InnoDB;
|
|
|
+
|
|
|
+CREATE TABLE QRTZ_CRON_TRIGGERS (
|
|
|
+SCHED_NAME VARCHAR(120) NOT NULL,
|
|
|
+TRIGGER_NAME VARCHAR(200) NOT NULL,
|
|
|
+TRIGGER_GROUP VARCHAR(200) NOT NULL,
|
|
|
+CRON_EXPRESSION VARCHAR(120) NOT NULL,
|
|
|
+TIME_ZONE_ID VARCHAR(80),
|
|
|
+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))
|
|
|
+ENGINE=InnoDB;
|
|
|
+
|
|
|
+CREATE TABLE QRTZ_SIMPROP_TRIGGERS
|
|
|
+ (
|
|
|
+ SCHED_NAME VARCHAR(120) NOT NULL,
|
|
|
+ TRIGGER_NAME VARCHAR(200) NOT NULL,
|
|
|
+ TRIGGER_GROUP VARCHAR(200) NOT NULL,
|
|
|
+ STR_PROP_1 VARCHAR(512) NULL,
|
|
|
+ STR_PROP_2 VARCHAR(512) NULL,
|
|
|
+ STR_PROP_3 VARCHAR(512) NULL,
|
|
|
+ INT_PROP_1 INT NULL,
|
|
|
+ INT_PROP_2 INT NULL,
|
|
|
+ LONG_PROP_1 BIGINT NULL,
|
|
|
+ LONG_PROP_2 BIGINT NULL,
|
|
|
+ DEC_PROP_1 NUMERIC(13,4) NULL,
|
|
|
+ DEC_PROP_2 NUMERIC(13,4) NULL,
|
|
|
+ BOOL_PROP_1 VARCHAR(1) NULL,
|
|
|
+ BOOL_PROP_2 VARCHAR(1) 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))
|
|
|
+ENGINE=InnoDB;
|
|
|
+
|
|
|
+CREATE TABLE QRTZ_BLOB_TRIGGERS (
|
|
|
+SCHED_NAME VARCHAR(120) NOT NULL,
|
|
|
+TRIGGER_NAME VARCHAR(200) NOT NULL,
|
|
|
+TRIGGER_GROUP VARCHAR(200) NOT NULL,
|
|
|
+BLOB_DATA BLOB NULL,
|
|
|
+PRIMARY KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP),
|
|
|
+INDEX (SCHED_NAME,TRIGGER_NAME, TRIGGER_GROUP),
|
|
|
+FOREIGN KEY (SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP)
|
|
|
+REFERENCES QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP))
|
|
|
+ENGINE=InnoDB;
|
|
|
+
|
|
|
+CREATE TABLE QRTZ_CALENDARS (
|
|
|
+SCHED_NAME VARCHAR(120) NOT NULL,
|
|
|
+CALENDAR_NAME VARCHAR(200) NOT NULL,
|
|
|
+CALENDAR BLOB NOT NULL,
|
|
|
+PRIMARY KEY (SCHED_NAME,CALENDAR_NAME))
|
|
|
+ENGINE=InnoDB;
|
|
|
+
|
|
|
+CREATE TABLE QRTZ_PAUSED_TRIGGER_GRPS (
|
|
|
+SCHED_NAME VARCHAR(120) NOT NULL,
|
|
|
+TRIGGER_GROUP VARCHAR(200) NOT NULL,
|
|
|
+PRIMARY KEY (SCHED_NAME,TRIGGER_GROUP))
|
|
|
+ENGINE=InnoDB;
|
|
|
+
|
|
|
+CREATE TABLE QRTZ_FIRED_TRIGGERS (
|
|
|
+SCHED_NAME VARCHAR(120) NOT NULL,
|
|
|
+ENTRY_ID VARCHAR(95) NOT NULL,
|
|
|
+TRIGGER_NAME VARCHAR(200) NOT NULL,
|
|
|
+TRIGGER_GROUP VARCHAR(200) NOT NULL,
|
|
|
+INSTANCE_NAME VARCHAR(200) NOT NULL,
|
|
|
+FIRED_TIME BIGINT(13) NOT NULL,
|
|
|
+SCHED_TIME BIGINT(13) NOT NULL,
|
|
|
+PRIORITY INTEGER NOT NULL,
|
|
|
+STATE VARCHAR(16) NOT NULL,
|
|
|
+JOB_NAME VARCHAR(200) NULL,
|
|
|
+JOB_GROUP VARCHAR(200) NULL,
|
|
|
+IS_NONCONCURRENT VARCHAR(1) NULL,
|
|
|
+REQUESTS_RECOVERY VARCHAR(1) NULL,
|
|
|
+PRIMARY KEY (SCHED_NAME,ENTRY_ID))
|
|
|
+ENGINE=InnoDB;
|
|
|
+
|
|
|
+CREATE TABLE QRTZ_SCHEDULER_STATE (
|
|
|
+SCHED_NAME VARCHAR(120) NOT NULL,
|
|
|
+INSTANCE_NAME VARCHAR(200) NOT NULL,
|
|
|
+LAST_CHECKIN_TIME BIGINT(13) NOT NULL,
|
|
|
+CHECKIN_INTERVAL BIGINT(13) NOT NULL,
|
|
|
+PRIMARY KEY (SCHED_NAME,INSTANCE_NAME))
|
|
|
+ENGINE=InnoDB;
|
|
|
+
|
|
|
+CREATE TABLE QRTZ_LOCKS (
|
|
|
+SCHED_NAME VARCHAR(120) NOT NULL,
|
|
|
+LOCK_NAME VARCHAR(40) NOT NULL,
|
|
|
+PRIMARY KEY (SCHED_NAME,LOCK_NAME))
|
|
|
+ENGINE=InnoDB;
|
|
|
+
|
|
|
+CREATE INDEX IDX_QRTZ_J_REQ_RECOVERY ON QRTZ_JOB_DETAILS(SCHED_NAME,REQUESTS_RECOVERY);
|
|
|
+CREATE INDEX IDX_QRTZ_J_GRP ON QRTZ_JOB_DETAILS(SCHED_NAME,JOB_GROUP);
|
|
|
+
|
|
|
+CREATE INDEX IDX_QRTZ_T_J ON QRTZ_TRIGGERS(SCHED_NAME,JOB_NAME,JOB_GROUP);
|
|
|
+CREATE INDEX IDX_QRTZ_T_JG ON QRTZ_TRIGGERS(SCHED_NAME,JOB_GROUP);
|
|
|
+CREATE INDEX IDX_QRTZ_T_C ON QRTZ_TRIGGERS(SCHED_NAME,CALENDAR_NAME);
|
|
|
+CREATE INDEX IDX_QRTZ_T_G ON QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_GROUP);
|
|
|
+CREATE INDEX IDX_QRTZ_T_STATE ON QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_STATE);
|
|
|
+CREATE INDEX IDX_QRTZ_T_N_STATE ON QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP,TRIGGER_STATE);
|
|
|
+CREATE INDEX IDX_QRTZ_T_N_G_STATE ON QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_GROUP,TRIGGER_STATE);
|
|
|
+CREATE INDEX IDX_QRTZ_T_NEXT_FIRE_TIME ON QRTZ_TRIGGERS(SCHED_NAME,NEXT_FIRE_TIME);
|
|
|
+CREATE INDEX IDX_QRTZ_T_NFT_ST ON QRTZ_TRIGGERS(SCHED_NAME,TRIGGER_STATE,NEXT_FIRE_TIME);
|
|
|
+CREATE INDEX IDX_QRTZ_T_NFT_MISFIRE ON QRTZ_TRIGGERS(SCHED_NAME,MISFIRE_INSTR,NEXT_FIRE_TIME);
|
|
|
+CREATE INDEX IDX_QRTZ_T_NFT_ST_MISFIRE ON QRTZ_TRIGGERS(SCHED_NAME,MISFIRE_INSTR,NEXT_FIRE_TIME,TRIGGER_STATE);
|
|
|
+CREATE INDEX IDX_QRTZ_T_NFT_ST_MISFIRE_GRP ON QRTZ_TRIGGERS(SCHED_NAME,MISFIRE_INSTR,NEXT_FIRE_TIME,TRIGGER_GROUP,TRIGGER_STATE);
|
|
|
+
|
|
|
+CREATE INDEX IDX_QRTZ_FT_TRIG_INST_NAME ON QRTZ_FIRED_TRIGGERS(SCHED_NAME,INSTANCE_NAME);
|
|
|
+CREATE INDEX IDX_QRTZ_FT_INST_JOB_REQ_RCVRY ON QRTZ_FIRED_TRIGGERS(SCHED_NAME,INSTANCE_NAME,REQUESTS_RECOVERY);
|
|
|
+CREATE INDEX IDX_QRTZ_FT_J_G ON QRTZ_FIRED_TRIGGERS(SCHED_NAME,JOB_NAME,JOB_GROUP);
|
|
|
+CREATE INDEX IDX_QRTZ_FT_JG ON QRTZ_FIRED_TRIGGERS(SCHED_NAME,JOB_GROUP);
|
|
|
+CREATE INDEX IDX_QRTZ_FT_T_G ON QRTZ_FIRED_TRIGGERS(SCHED_NAME,TRIGGER_NAME,TRIGGER_GROUP);
|
|
|
+CREATE INDEX IDX_QRTZ_FT_TG ON QRTZ_FIRED_TRIGGERS(SCHED_NAME,TRIGGER_GROUP);
|
|
|
+
|
|
|
+commit;
|