Skip to content

Commit

Permalink
[PPP-4776] Finalize Quartz Migrations Scripts
Browse files Browse the repository at this point in the history
  • Loading branch information
tkafalas committed Sep 23, 2024
1 parent 8e738b9 commit 87ea949
Show file tree
Hide file tree
Showing 5 changed files with 191 additions and 20 deletions.
14 changes: 6 additions & 8 deletions assemblies/pentaho-data/src/main/resources/data/README.TXT
Original file line number Diff line number Diff line change
@@ -1,13 +1,11 @@
For mysql, oracle, and postgresql Installs, run the sql create scripts in
For postgresql, mysql, oracle, and sqlserver installs, run the sql create scripts in
the following order:

create_repository_<db>.sql
create_jcr_<db>.sql
create_quartz_<db>.sql
create_repository_<db>.sql

If you would like to create the sample data source connection, run the following script after running the create script:

create_sample_datasource_<db>.sql

If you want to use an existing 1.7.0 Pentaho rdbms repository database, run the following script:
If you are upgrading from a version 10.2 or earlier to 10.2.0.1 or later, use the following
script to transfer your old QRTZ5 tables to QRTZ6

migration.sql
migrate_old_quartz_data_<db>.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
-- Migrate data from old Quartz 1.7.2 tables to new 2.3.2 tables ----
-- Quartz 1.x tables are prefixed with QRTZ5_ while 2.x tables are prefixed with QRTZ6_
-- Script will leave the old tables unmodified and populate the new tables built with the create_quartz-mysql.sql
-- with the 1.X data. Make sure you are connected to the quartz schema as pentaho_user.
INSERT INTO QRTZ6_JOB_DETAILS
(SCHED_NAME, JOB_NAME, JOB_GROUP, DESCRIPTION, JOB_CLASS_NAME, IS_DURABLE, IS_NONCONCURRENT, IS_UPDATE_DATA, REQUESTS_RECOVERY, JOB_DATA)
SELECT
'PentahoQuartzScheduler', JOB_NAME, JOB_GROUP, DESCRIPTION, JOB_CLASS_NAME, IS_DURABLE, IS_STATEFUL, IS_STATEFUL, REQUESTS_RECOVERY, JOB_DATA
FROM QRTZ5_JOB_DETAILS;

INSERT INTO QRTZ6_TRIGGERS
(SCHED_NAME, TRIGGER_NAME, TRIGGER_GROUP, JOB_NAME, JOB_GROUP, DESCRIPTION, NEXT_FIRE_TIME, PREV_FIRE_TIME, PRIORITY, TRIGGER_STATE, TRIGGER_TYPE, START_TIME, END_TIME, CALENDAR_NAME, MISFIRE_INSTR, JOB_DATA)
SELECT
'PentahoQuartzScheduler', TRIGGER_NAME, TRIGGER_GROUP, JOB_NAME, JOB_GROUP, DESCRIPTION, NEXT_FIRE_TIME, PREV_FIRE_TIME, PRIORITY, TRIGGER_STATE, TRIGGER_TYPE, START_TIME, END_TIME, CALENDAR_NAME, MISFIRE_INSTR, JOB_DATA
FROM QRTZ5_TRIGGERS;

INSERT INTO QRTZ6_CRON_TRIGGERS
(SCHED_NAME, TRIGGER_NAME, TRIGGER_GROUP, CRON_EXPRESSION, TIME_ZONE_ID)
SELECT
'PentahoQuartzScheduler', TRIGGER_NAME, TRIGGER_GROUP, CRON_EXPRESSION, TIME_ZONE_ID
FROM QRTZ5_CRON_TRIGGERS;

INSERT INTO QRTZ6_SIMPLE_TRIGGERS
(SCHED_NAME, TRIGGER_NAME, TRIGGER_GROUP, REPEAT_COUNT, REPEAT_INTERVAL, TIMES_TRIGGERED)
SELECT
'PentahoQuartzScheduler', TRIGGER_NAME, TRIGGER_GROUP, REPEAT_COUNT, REPEAT_INTERVAL, TIMES_TRIGGERED
FROM QRTZ5_SIMPLE_TRIGGERS;

-- Not writing SCHED_TIME because it is not defined anywhere
INSERT INTO QRTZ6_FIRED_TRIGGERS
(SCHED_NAME, ENTRY_ID, TRIGGER_NAME, TRIGGER_GROUP, INSTANCE_NAME, FIRED_TIME, PRIORITY, STATE, JOB_NAME, JOB_GROUP, IS_NONCONCURRENT, REQUESTS_RECOVERY)
SELECT
'PentahoQuartzScheduler', ENTRY_ID, TRIGGER_NAME, TRIGGER_GROUP, INSTANCE_NAME, FIRED_TIME, PRIORITY, STATE, JOB_NAME, JOB_GROUP, IS_STATEFUL, REQUESTS_RECOVERY
FROM QRTZ5_FIRED_TRIGGERS;

INSERT INTO QRTZ6_CALENDARS
(SCHED_NAME, CALENDAR_NAME, CALENDAR)
SELECT
'PentahoQuartzScheduler', CALENDAR_NAME, CALENDAR
FROM QRTZ5_CALENDARS;

INSERT INTO QRTZ6_PAUSED_TRIGGER_GRPS
(SCHED_NAME, TRIGGER_GROUP)
SELECT
'PentahoQuartzScheduler', TRIGGER_GROUP
FROM QRTZ6_PAUSED_TRIGGER_GRPS;

INSERT INTO QRTZ6_SCHEDULER_STATE
(SCHED_NAME, INSTANCE_NAME, LAST_CHECKIN_TIME, CHECKIN_INTERVAL)
SELECT
'PentahoQuartzScheduler', INSTANCE_NAME, LAST_CHECKIN_TIME, CHECKIN_INTERVAL
FROM QRTZ5_SCHEDULER_STATE;

INSERT INTO QRTZ6_LOCKS
(SCHED_NAME, LOCK_NAME)
SELECT
'PentahoQuartzScheduler', LOCK_NAME
FROM QRTZ5_LOCKS;
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
-- Migrate data from old Quartz 1.7.2 tables to new 2.3.2 tables ----
-- Quartz 1.x tables are prefixed with QRTZ5_ while 2.x tables are prefixed with QRTZ6_
-- Script will leave the old tables unmodified and populate the new tables built with the create_quartz-oracle.sql
-- with the 1.X data. Make sure you are connected to the quartz schema as the quartz user.
INSERT INTO QRTZ6_JOB_DETAILS
(SCHED_NAME, JOB_NAME, JOB_GROUP, DESCRIPTION, JOB_CLASS_NAME, IS_DURABLE, IS_NONCONCURRENT, IS_UPDATE_DATA, REQUESTS_RECOVERY, JOB_DATA)
SELECT
'PentahoQuartzScheduler', JOB_NAME, JOB_GROUP, DESCRIPTION, JOB_CLASS_NAME, IS_DURABLE, IS_STATEFUL, IS_STATEFUL, REQUESTS_RECOVERY, JOB_DATA
FROM QRTZ5_JOB_DETAILS;

INSERT INTO QRTZ6_TRIGGERS
(SCHED_NAME, TRIGGER_NAME, TRIGGER_GROUP, JOB_NAME, JOB_GROUP, DESCRIPTION, NEXT_FIRE_TIME, PREV_FIRE_TIME, PRIORITY, TRIGGER_STATE, TRIGGER_TYPE, START_TIME, END_TIME, CALENDAR_NAME, MISFIRE_INSTR, JOB_DATA)
SELECT
'PentahoQuartzScheduler', TRIGGER_NAME, TRIGGER_GROUP, JOB_NAME, JOB_GROUP, DESCRIPTION, NEXT_FIRE_TIME, PREV_FIRE_TIME, PRIORITY, TRIGGER_STATE, TRIGGER_TYPE, START_TIME, END_TIME, CALENDAR_NAME, MISFIRE_INSTR, JOB_DATA
FROM QRTZ5_TRIGGERS;

INSERT INTO QRTZ6_CRON_TRIGGERS
(SCHED_NAME, TRIGGER_NAME, TRIGGER_GROUP, CRON_EXPRESSION, TIME_ZONE_ID)
SELECT
'PentahoQuartzScheduler', TRIGGER_NAME, TRIGGER_GROUP, CRON_EXPRESSION, TIME_ZONE_ID
FROM QRTZ5_CRON_TRIGGERS;

INSERT INTO QRTZ6_SIMPLE_TRIGGERS
(SCHED_NAME, TRIGGER_NAME, TRIGGER_GROUP, REPEAT_COUNT, REPEAT_INTERVAL, TIMES_TRIGGERED)
SELECT
'PentahoQuartzScheduler', TRIGGER_NAME, TRIGGER_GROUP, REPEAT_COUNT, REPEAT_INTERVAL, TIMES_TRIGGERED
FROM QRTZ5_SIMPLE_TRIGGERS;

-- Not writing SCHED_TIME because it is not defined anywhere
INSERT INTO QRTZ6_FIRED_TRIGGERS
(SCHED_NAME, ENTRY_ID, TRIGGER_NAME, TRIGGER_GROUP, INSTANCE_NAME, FIRED_TIME, PRIORITY, STATE, JOB_NAME, JOB_GROUP, IS_NONCONCURRENT, REQUESTS_RECOVERY)
SELECT
'PentahoQuartzScheduler', ENTRY_ID, TRIGGER_NAME, TRIGGER_GROUP, INSTANCE_NAME, FIRED_TIME, PRIORITY, STATE, JOB_NAME, JOB_GROUP, IS_STATEFUL, REQUESTS_RECOVERY
FROM QRTZ5_FIRED_TRIGGERS;

INSERT INTO QRTZ6_CALENDARS
(SCHED_NAME, CALENDAR_NAME, CALENDAR)
SELECT
'PentahoQuartzScheduler', CALENDAR_NAME, CALENDAR
FROM QRTZ5_CALENDARS;

INSERT INTO QRTZ6_PAUSED_TRIGGER_GRPS
(SCHED_NAME, TRIGGER_GROUP)
SELECT
'PentahoQuartzScheduler', TRIGGER_GROUP
FROM QRTZ6_PAUSED_TRIGGER_GRPS;

INSERT INTO QRTZ6_SCHEDULER_STATE
(SCHED_NAME, INSTANCE_NAME, LAST_CHECKIN_TIME, CHECKIN_INTERVAL)
SELECT
'PentahoQuartzScheduler', INSTANCE_NAME, LAST_CHECKIN_TIME, CHECKIN_INTERVAL
FROM QRTZ5_SCHEDULER_STATE;

INSERT INTO QRTZ6_LOCKS
(SCHED_NAME, LOCK_NAME)
SELECT
'PentahoQuartzScheduler', LOCK_NAME
FROM QRTZ5_LOCKS;

COMMIT;
Original file line number Diff line number Diff line change
@@ -1,16 +1,19 @@
-- Migrate data from old 1.7.2 tables to new 2.3.2 tables ----
-- Migrate data from old Quartz 1.7.2 tables to new 2.3.2 tables ----
-- Quartz 1.x tables are prefixed with QRTZ5_ while 2.x tables are prefixed with QRTZ6_
-- Script will leave the old tables unmodified and populate the new tables built with the create_quartz-postgresql.sql
-- with the 1.X data

SET ROLE pentaho_user;

-- with the 1.X data. Make sure you are connected to the quartz schema as pentaho_user.
INSERT INTO QRTZ6_JOB_DETAILS
(SCHED_NAME, JOB_NAME, JOB_GROUP, DESCRIPTION, JOB_CLASS_NAME, IS_DURABLE, IS_NONCONCURRENT, IS_UPDATE_DATA, REQUESTS_RECOVERY, JOB_DATA)
SELECT
'PentahoQuartzScheduler', JOB_NAME, JOB_GROUP, DESCRIPTION, JOB_CLASS_NAME, IS_DURABLE, IS_STATEFUL, IS_STATEFUL, REQUESTS_RECOVERY, JOB_DATA
FROM QRTZ5_JOB_DETAILS;

INSERT INTO QRTZ6_TRIGGERS
(SCHED_NAME, TRIGGER_NAME, TRIGGER_GROUP, JOB_NAME, JOB_GROUP, DESCRIPTION, NEXT_FIRE_TIME, PREV_FIRE_TIME, PRIORITY, TRIGGER_STATE, TRIGGER_TYPE, START_TIME, END_TIME, CALENDAR_NAME, MISFIRE_INSTR, JOB_DATA)
SELECT
'PentahoQuartzScheduler', TRIGGER_NAME, TRIGGER_GROUP, JOB_NAME, JOB_GROUP, DESCRIPTION, NEXT_FIRE_TIME, PREV_FIRE_TIME, PRIORITY, TRIGGER_STATE, TRIGGER_TYPE, START_TIME, END_TIME, CALENDAR_NAME, MISFIRE_INSTR, JOB_DATA
FROM QRTZ5_TRIGGERS;

INSERT INTO QRTZ6_CRON_TRIGGERS
(SCHED_NAME, TRIGGER_NAME, TRIGGER_GROUP, CRON_EXPRESSION, TIME_ZONE_ID)
SELECT
Expand All @@ -23,20 +26,13 @@ SELECT
'PentahoQuartzScheduler', TRIGGER_NAME, TRIGGER_GROUP, REPEAT_COUNT, REPEAT_INTERVAL, TIMES_TRIGGERED
FROM QRTZ5_SIMPLE_TRIGGERS;


-- Not writing SCHED_TIME because it is not defined anywhere
INSERT INTO QRTZ6_FIRED_TRIGGERS
(SCHED_NAME, ENTRY_ID, TRIGGER_NAME, TRIGGER_GROUP, INSTANCE_NAME, FIRED_TIME, PRIORITY, STATE, JOB_NAME, JOB_GROUP, IS_NONCONCURRENT, REQUESTS_RECOVERY)
SELECT
'PentahoQuartzScheduler', ENTRY_ID, TRIGGER_NAME, TRIGGER_GROUP, INSTANCE_NAME, FIRED_TIME, PRIORITY, STATE, JOB_NAME, JOB_GROUP, IS_STATEFUL, REQUESTS_RECOVERY
FROM QRTZ5_FIRED_TRIGGERS;

INSERT INTO QRTZ6_TRIGGERS
(SCHED_NAME, TRIGGER_NAME, TRIGGER_GROUP, JOB_NAME, JOB_GROUP, DESCRIPTION, NEXT_FIRE_TIME, PREV_FIRE_TIME, PRIORITY, TRIGGER_STATE, TRIGGER_TYPE, START_TIME, END_TIME, CALENDAR_NAME, MISFIRE_INSTR, JOB_DATA)
SELECT
'PentahoQuartzScheduler', TRIGGER_NAME, TRIGGER_GROUP, JOB_NAME, JOB_GROUP, DESCRIPTION, NEXT_FIRE_TIME, PREV_FIRE_TIME, PRIORITY, TRIGGER_STATE, TRIGGER_TYPE, START_TIME, END_TIME, CALENDAR_NAME, MISFIRE_INSTR, JOB_DATA
FROM QRTZ5_TRIGGERS;

INSERT INTO QRTZ6_CALENDARS
(SCHED_NAME, CALENDAR_NAME, CALENDAR)
SELECT
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
-- Migrate data from old Quartz 1.7.2 tables to new 2.3.2 tables ----
-- Quartz 1.x tables are prefixed with QRTZ5_ while 2.x tables are prefixed with QRTZ6_
-- Script will leave the old tables unmodified and populate the new tables built with the create_quartz-sqlserver.sql
-- with the 1.X data. Make sure you are connected to the quartz schema as pentaho_user.
INSERT INTO QRTZ6_JOB_DETAILS
(SCHED_NAME, JOB_NAME, JOB_GROUP, DESCRIPTION, JOB_CLASS_NAME, IS_DURABLE, IS_NONCONCURRENT, IS_UPDATE_DATA, REQUESTS_RECOVERY, JOB_DATA)
SELECT
'PentahoQuartzScheduler', JOB_NAME, JOB_GROUP, DESCRIPTION, JOB_CLASS_NAME, IS_DURABLE, IS_STATEFUL, IS_STATEFUL, REQUESTS_RECOVERY, JOB_DATA
FROM QRTZ5_JOB_DETAILS;

INSERT INTO QRTZ6_TRIGGERS
(SCHED_NAME, TRIGGER_NAME, TRIGGER_GROUP, JOB_NAME, JOB_GROUP, DESCRIPTION, NEXT_FIRE_TIME, PREV_FIRE_TIME, PRIORITY, TRIGGER_STATE, TRIGGER_TYPE, START_TIME, END_TIME, CALENDAR_NAME, MISFIRE_INSTR, JOB_DATA)
SELECT
'PentahoQuartzScheduler', TRIGGER_NAME, TRIGGER_GROUP, JOB_NAME, JOB_GROUP, DESCRIPTION, NEXT_FIRE_TIME, PREV_FIRE_TIME, PRIORITY, TRIGGER_STATE, TRIGGER_TYPE, START_TIME, END_TIME, CALENDAR_NAME, MISFIRE_INSTR, JOB_DATA
FROM QRTZ5_TRIGGERS;

INSERT INTO QRTZ6_CRON_TRIGGERS
(SCHED_NAME, TRIGGER_NAME, TRIGGER_GROUP, CRON_EXPRESSION, TIME_ZONE_ID)
SELECT
'PentahoQuartzScheduler', TRIGGER_NAME, TRIGGER_GROUP, CRON_EXPRESSION, TIME_ZONE_ID
FROM QRTZ5_CRON_TRIGGERS;

INSERT INTO QRTZ6_SIMPLE_TRIGGERS
(SCHED_NAME, TRIGGER_NAME, TRIGGER_GROUP, REPEAT_COUNT, REPEAT_INTERVAL, TIMES_TRIGGERED)
SELECT
'PentahoQuartzScheduler', TRIGGER_NAME, TRIGGER_GROUP, REPEAT_COUNT, REPEAT_INTERVAL, TIMES_TRIGGERED
FROM QRTZ5_SIMPLE_TRIGGERS;

-- Not writing SCHED_TIME because it is not defined anywhere
INSERT INTO QRTZ6_FIRED_TRIGGERS
(SCHED_NAME, ENTRY_ID, TRIGGER_NAME, TRIGGER_GROUP, INSTANCE_NAME, FIRED_TIME, PRIORITY, STATE, JOB_NAME, JOB_GROUP, IS_NONCONCURRENT, REQUESTS_RECOVERY)
SELECT
'PentahoQuartzScheduler', ENTRY_ID, TRIGGER_NAME, TRIGGER_GROUP, INSTANCE_NAME, FIRED_TIME, PRIORITY, STATE, JOB_NAME, JOB_GROUP, IS_STATEFUL, REQUESTS_RECOVERY
FROM QRTZ5_FIRED_TRIGGERS;

INSERT INTO QRTZ6_CALENDARS
(SCHED_NAME, CALENDAR_NAME, CALENDAR)
SELECT
'PentahoQuartzScheduler', CALENDAR_NAME, CALENDAR
FROM QRTZ5_CALENDARS;

INSERT INTO QRTZ6_PAUSED_TRIGGER_GRPS
(SCHED_NAME, TRIGGER_GROUP)
SELECT
'PentahoQuartzScheduler', TRIGGER_GROUP
FROM QRTZ6_PAUSED_TRIGGER_GRPS;

INSERT INTO QRTZ6_SCHEDULER_STATE
(SCHED_NAME, INSTANCE_NAME, LAST_CHECKIN_TIME, CHECKIN_INTERVAL)
SELECT
'PentahoQuartzScheduler', INSTANCE_NAME, LAST_CHECKIN_TIME, CHECKIN_INTERVAL
FROM QRTZ5_SCHEDULER_STATE;

INSERT INTO QRTZ6_LOCKS
(SCHED_NAME, LOCK_NAME)
SELECT
'PentahoQuartzScheduler', LOCK_NAME
FROM QRTZ5_LOCKS;
GO

0 comments on commit 87ea949

Please sign in to comment.