lib/que/scheduler/migrations/3/up.sql
ALTER TABLE que_scheduler_audit ADD PRIMARY KEY (scheduler_job_id);
CREATE TABLE que_scheduler_audit_enqueued (
scheduler_job_id integer NOT NULL REFERENCES que_scheduler_audit (scheduler_job_id),
job_class varchar(255) NOT NULL,
queue varchar(255),
priority integer,
args jsonb NOT NULL
);
CREATE INDEX que_scheduler_audit_enqueued_job_class ON que_scheduler_audit_enqueued USING btree (job_class);
CREATE INDEX que_scheduler_audit_enqueued_args ON que_scheduler_audit_enqueued USING btree (args);
WITH rows AS (SELECT scheduler_job_id, json_array_elements(jobs_enqueued::json) AS enqueued FROM que_scheduler_audit)
INSERT INTO que_scheduler_audit_enqueued(scheduler_job_id, args, job_class)
SELECT scheduler_job_id, (enqueued->>'args')::jsonb AS args, enqueued->>'job_class' AS job_class FROM rows;
ALTER TABLE que_scheduler_audit DROP COLUMN next_run_at;
ALTER TABLE que_scheduler_audit DROP COLUMN jobs_enqueued;