chore: Improve performance of query that removes disconnected Credentials (#16792)

This commit is contained in:
Alex van Andel
2024-09-24 17:36:23 +00:00
committed by GitHub
parent 1e9a4c58a3
commit 498b55efdd
@@ -2,10 +2,15 @@
DROP INDEX "BookingReference_credentialId_idx";
-- Remove disconnected Credentials from bookingReference to prevent foreign key constraint error
UPDATE "BookingReference"
UPDATE "BookingReference" br
SET "credentialId" = NULL
WHERE "credentialId" IS NOT NULL
AND "credentialId" NOT IN (SELECT "id" FROM "Credential");
WHERE br."credentialId" IS NOT NULL
AND br."credentialId" != 0
AND NOT EXISTS (
SELECT 1
FROM "Credential" c
WHERE c."id" = br."credentialId"
);
-- AddForeignKey
ALTER TABLE "BookingReference" ADD CONSTRAINT "BookingReference_credentialId_fkey" FOREIGN KEY ("credentialId") REFERENCES "Credential"("id") ON DELETE SET NULL ON UPDATE CASCADE;