From 36d8bee14a4da2823e23e59eb5f7f503854aa478 Mon Sep 17 00:00:00 2001 From: Eric Allam Date: Wed, 17 Apr 2024 15:26:35 +0100 Subject: [PATCH] =?UTF-8?q?Don=E2=80=99t=20delete=20task=20runs=20if=20the?= =?UTF-8?q?=20attached=20task=20schedule=20or=20instance=20is=20deleted?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../migration.sql | 11 +++++++++++ packages/database/prisma/schema.prisma | 4 ++-- 2 files changed, 13 insertions(+), 2 deletions(-) create mode 100644 packages/database/prisma/migrations/20240417142604_dont_delete_task_runs_if_schedules_are_deleted/migration.sql diff --git a/packages/database/prisma/migrations/20240417142604_dont_delete_task_runs_if_schedules_are_deleted/migration.sql b/packages/database/prisma/migrations/20240417142604_dont_delete_task_runs_if_schedules_are_deleted/migration.sql new file mode 100644 index 000000000..77faf09e0 --- /dev/null +++ b/packages/database/prisma/migrations/20240417142604_dont_delete_task_runs_if_schedules_are_deleted/migration.sql @@ -0,0 +1,11 @@ +-- DropForeignKey +ALTER TABLE "TaskRun" DROP CONSTRAINT "TaskRun_scheduleId_fkey"; + +-- DropForeignKey +ALTER TABLE "TaskRun" DROP CONSTRAINT "TaskRun_scheduleInstanceId_fkey"; + +-- AddForeignKey +ALTER TABLE "TaskRun" ADD CONSTRAINT "TaskRun_scheduleInstanceId_fkey" FOREIGN KEY ("scheduleInstanceId") REFERENCES "TaskScheduleInstance"("id") ON DELETE SET NULL ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "TaskRun" ADD CONSTRAINT "TaskRun_scheduleId_fkey" FOREIGN KEY ("scheduleId") REFERENCES "TaskSchedule"("id") ON DELETE SET NULL ON UPDATE CASCADE; diff --git a/packages/database/prisma/schema.prisma b/packages/database/prisma/schema.prisma index 0557b496c..07880e938 100644 --- a/packages/database/prisma/schema.prisma +++ b/packages/database/prisma/schema.prisma @@ -1629,10 +1629,10 @@ model TaskRun { dependency TaskRunDependency? CheckpointRestoreEvent CheckpointRestoreEvent[] - scheduleInstance TaskScheduleInstance? @relation(fields: [scheduleInstanceId], references: [id], onDelete: Cascade, onUpdate: Cascade) + scheduleInstance TaskScheduleInstance? @relation(fields: [scheduleInstanceId], references: [id], onDelete: SetNull) scheduleInstanceId String? - schedule TaskSchedule? @relation(fields: [scheduleId], references: [id], onDelete: Cascade, onUpdate: Cascade) + schedule TaskSchedule? @relation(fields: [scheduleId], references: [id], onDelete: SetNull) scheduleId String? @@unique([runtimeEnvironmentId, idempotencyKey])