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;