Skip to content

Commit 7eb53a0

Browse files
matt-aitkenTrigger.dev RepoOps
authored andcommitted
fix(database): make queue-concurrency migrations idempotent
Mono-RevId: 5997ba1b23b730bd390acfc3ddd3c8c60f06e00a
1 parent 5619acf commit 7eb53a0

5 files changed

Lines changed: 17 additions & 11 deletions

File tree

  • internal-packages
    • database/prisma/migrations
    • run-ops-database/prisma/migrations/20260829120000_add_task_run_gates
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
-- AlterTable
2-
ALTER TABLE "TaskQueue" ADD COLUMN "totalConcurrencyLimit" INTEGER;
2+
ALTER TABLE "TaskQueue" ADD COLUMN IF NOT EXISTS "totalConcurrencyLimit" INTEGER;
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
-- AlterTable
2-
ALTER TABLE "BackgroundWorkerTask" ADD COLUMN "gates" JSONB;
2+
ALTER TABLE "BackgroundWorkerTask" ADD COLUMN IF NOT EXISTS "gates" JSONB;
33

44
-- AlterTable
5-
ALTER TABLE "TaskRun" ADD COLUMN "gates" JSONB;
5+
ALTER TABLE "TaskRun" ADD COLUMN IF NOT EXISTS "gates" JSONB;
Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
-- AlterTable
2-
ALTER TABLE "TaskQueue" ADD COLUMN "totalConcurrencyLimitOverriddenAt" TIMESTAMP(3);
3-
ALTER TABLE "TaskQueue" ADD COLUMN "totalConcurrencyLimitOverriddenBy" TEXT;
4-
ALTER TABLE "TaskQueue" ADD COLUMN "totalConcurrencyLimitBase" INTEGER;
2+
ALTER TABLE "TaskQueue" ADD COLUMN IF NOT EXISTS "totalConcurrencyLimitOverriddenAt" TIMESTAMP(3);
3+
ALTER TABLE "TaskQueue" ADD COLUMN IF NOT EXISTS "totalConcurrencyLimitOverriddenBy" TEXT;
4+
ALTER TABLE "TaskQueue" ADD COLUMN IF NOT EXISTS "totalConcurrencyLimitBase" INTEGER;
Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,15 @@
11
-- CreateEnum
2-
CREATE TYPE "TaskQueueConcurrencyVersion" AS ENUM ('V1', 'V2');
2+
DO $$ BEGIN
3+
CREATE TYPE "TaskQueueConcurrencyVersion" AS ENUM ('V1', 'V2');
4+
EXCEPTION WHEN duplicate_object THEN NULL;
5+
END $$;
36

47
-- CreateEnum
5-
CREATE TYPE "TaskQueueRole" AS ENUM ('QUEUE', 'LIMIT');
8+
DO $$ BEGIN
9+
CREATE TYPE "TaskQueueRole" AS ENUM ('QUEUE', 'LIMIT');
10+
EXCEPTION WHEN duplicate_object THEN NULL;
11+
END $$;
612

713
-- AlterTable
8-
ALTER TABLE "TaskQueue" ADD COLUMN "concurrencyVersion" "TaskQueueConcurrencyVersion" NOT NULL DEFAULT 'V1',
9-
ADD COLUMN "role" "TaskQueueRole" NOT NULL DEFAULT 'QUEUE';
14+
ALTER TABLE "TaskQueue" ADD COLUMN IF NOT EXISTS "concurrencyVersion" "TaskQueueConcurrencyVersion" NOT NULL DEFAULT 'V1',
15+
ADD COLUMN IF NOT EXISTS "role" "TaskQueueRole" NOT NULL DEFAULT 'QUEUE';
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
-- AlterTable
2-
ALTER TABLE "TaskRun" ADD COLUMN "gates" JSONB;
2+
ALTER TABLE "TaskRun" ADD COLUMN IF NOT EXISTS "gates" JSONB;

0 commit comments

Comments
 (0)