From 55bdf3c890e3c8e26a9829de3262e19a398949b3 Mon Sep 17 00:00:00 2001 From: xCyanGrizzly Date: Tue, 24 Mar 2026 21:27:25 +0100 Subject: [PATCH] feat: add migration for skipped_packages table Hand-written migration matching the SkippedPackage model in schema.prisma. Will be applied automatically by docker-entrypoint.sh via `prisma migrate deploy`. Co-Authored-By: Claude Opus 4.6 (1M context) --- .../migration.sql | 35 +++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 prisma/migrations/20260324000000_add_skipped_packages/migration.sql diff --git a/prisma/migrations/20260324000000_add_skipped_packages/migration.sql b/prisma/migrations/20260324000000_add_skipped_packages/migration.sql new file mode 100644 index 0000000..db94f9d --- /dev/null +++ b/prisma/migrations/20260324000000_add_skipped_packages/migration.sql @@ -0,0 +1,35 @@ +-- CreateEnum +CREATE TYPE "SkipReason" AS ENUM ('SIZE_LIMIT', 'DOWNLOAD_FAILED', 'EXTRACT_FAILED', 'UPLOAD_FAILED'); + +-- CreateTable +CREATE TABLE "skipped_packages" ( + "id" TEXT NOT NULL, + "fileName" TEXT NOT NULL, + "fileSize" BIGINT NOT NULL, + "reason" "SkipReason" NOT NULL, + "errorMessage" TEXT, + "sourceChannelId" TEXT NOT NULL, + "sourceMessageId" BIGINT NOT NULL, + "sourceTopicId" BIGINT, + "isMultipart" BOOLEAN NOT NULL DEFAULT false, + "partCount" INTEGER NOT NULL DEFAULT 1, + "accountId" TEXT NOT NULL, + "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + + CONSTRAINT "skipped_packages_pkey" PRIMARY KEY ("id") +); + +-- CreateIndex +CREATE UNIQUE INDEX "skipped_packages_sourceChannelId_sourceMessageId_key" ON "skipped_packages"("sourceChannelId", "sourceMessageId"); + +-- CreateIndex +CREATE INDEX "skipped_packages_reason_idx" ON "skipped_packages"("reason"); + +-- CreateIndex +CREATE INDEX "skipped_packages_accountId_idx" ON "skipped_packages"("accountId"); + +-- AddForeignKey +ALTER TABLE "skipped_packages" ADD CONSTRAINT "skipped_packages_sourceChannelId_fkey" FOREIGN KEY ("sourceChannelId") REFERENCES "telegram_channels"("id") ON DELETE CASCADE ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "skipped_packages" ADD CONSTRAINT "skipped_packages_accountId_fkey" FOREIGN KEY ("accountId") REFERENCES "telegram_accounts"("id") ON DELETE CASCADE ON UPDATE CASCADE;