From 1fc2d3e1ae1851996607f7b549b630b84ff16d85 Mon Sep 17 00:00:00 2001 From: admin Date: Sun, 22 Mar 2026 00:12:26 +0100 Subject: [PATCH] feat: add migration for archive extract requests and invite user relation Co-Authored-By: Claude Opus 4.6 (1M context) --- .../migration.sql | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 prisma/migrations/20260322000000_add_extract_requests_and_invite_user/migration.sql diff --git a/prisma/migrations/20260322000000_add_extract_requests_and_invite_user/migration.sql b/prisma/migrations/20260322000000_add_extract_requests_and_invite_user/migration.sql new file mode 100644 index 0000000..9904734 --- /dev/null +++ b/prisma/migrations/20260322000000_add_extract_requests_and_invite_user/migration.sql @@ -0,0 +1,32 @@ +-- CreateEnum +CREATE TYPE "ExtractStatus" AS ENUM ('PENDING', 'IN_PROGRESS', 'COMPLETED', 'FAILED'); + +-- AlterTable +ALTER TABLE "User" ADD COLUMN "usedInviteId" TEXT; + +-- CreateTable +CREATE TABLE "archive_extract_requests" ( + "id" TEXT NOT NULL, + "packageId" TEXT NOT NULL, + "filePath" VARCHAR(1024) NOT NULL, + "status" "ExtractStatus" NOT NULL DEFAULT 'PENDING', + "imageData" BYTEA, + "contentType" VARCHAR(64), + "error" TEXT, + "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "updatedAt" TIMESTAMP(3) NOT NULL, + + CONSTRAINT "archive_extract_requests_pkey" PRIMARY KEY ("id") +); + +-- CreateIndex +CREATE INDEX "archive_extract_requests_packageId_filePath_idx" ON "archive_extract_requests"("packageId", "filePath"); + +-- CreateIndex +CREATE INDEX "archive_extract_requests_status_idx" ON "archive_extract_requests"("status"); + +-- AddForeignKey +ALTER TABLE "User" ADD CONSTRAINT "User_usedInviteId_fkey" FOREIGN KEY ("usedInviteId") REFERENCES "invite_codes"("id") ON DELETE SET NULL ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "archive_extract_requests" ADD CONSTRAINT "archive_extract_requests_packageId_fkey" FOREIGN KEY ("packageId") REFERENCES "packages"("id") ON DELETE CASCADE ON UPDATE CASCADE;