From 9bff4a4f0fc41224361fd8fbb687be47a0dc8be2 Mon Sep 17 00:00:00 2001 From: Sanne Raymaekers Date: Wed, 1 Jun 2022 10:25:27 +0200 Subject: [PATCH] dbjobqueue: Alter foreign key constraints When deleting rows from the job table, make sure the delete is cascaded to the dependencies and heartbeat tables. --- .../dbjobqueue/schemas/003_dependencies_cascade.sql | 11 +++++++++++ .../dbjobqueue/schemas/004_heartbeats_cascade.sql | 6 ++++++ 2 files changed, 17 insertions(+) create mode 100644 internal/jobqueue/dbjobqueue/schemas/003_dependencies_cascade.sql create mode 100644 internal/jobqueue/dbjobqueue/schemas/004_heartbeats_cascade.sql diff --git a/internal/jobqueue/dbjobqueue/schemas/003_dependencies_cascade.sql b/internal/jobqueue/dbjobqueue/schemas/003_dependencies_cascade.sql new file mode 100644 index 000000000..61a3e8f31 --- /dev/null +++ b/internal/jobqueue/dbjobqueue/schemas/003_dependencies_cascade.sql @@ -0,0 +1,11 @@ +ALTER TABLE job_dependencies + +DROP CONSTRAINT job_dependencies_dependency_id_fkey, + +DROP CONSTRAINT job_dependencies_job_id_fkey, + +ADD CONSTRAINT job_dependencies_dependency_id_fkey +FOREIGN KEY (job_id) REFERENCES jobs(id) ON DELETE CASCADE, + +ADD CONSTRAINT job_dependencies_job_id_fkey +FOREIGN KEY (dependency_id) REFERENCES jobs(id) ON DELETE CASCADE; diff --git a/internal/jobqueue/dbjobqueue/schemas/004_heartbeats_cascade.sql b/internal/jobqueue/dbjobqueue/schemas/004_heartbeats_cascade.sql new file mode 100644 index 000000000..693da709c --- /dev/null +++ b/internal/jobqueue/dbjobqueue/schemas/004_heartbeats_cascade.sql @@ -0,0 +1,6 @@ +ALTER TABLE heartbeats + +DROP CONSTRAINT heartbeats_id_fkey, + +ADD CONSTRAINT heartbeats_id_fkey +FOREIGN KEY (id) REFERENCES jobs(id) ON DELETE CASCADE;