feat: add PackageGroup schema for album-based file grouping

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-03-25 22:21:52 +01:00
parent 6eb7129637
commit e4398caebe
2 changed files with 51 additions and 0 deletions

View File

@@ -0,0 +1,30 @@
-- AlterTable
ALTER TABLE "packages" ADD COLUMN "packageGroupId" TEXT;
-- CreateTable
CREATE TABLE "package_groups" (
"id" TEXT NOT NULL,
"name" TEXT NOT NULL,
"mediaAlbumId" TEXT,
"sourceChannelId" TEXT NOT NULL,
"previewData" BYTEA,
"createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP,
"updatedAt" TIMESTAMP(3) NOT NULL,
CONSTRAINT "package_groups_pkey" PRIMARY KEY ("id")
);
-- CreateIndex
CREATE INDEX "package_groups_sourceChannelId_idx" ON "package_groups"("sourceChannelId");
-- CreateIndex
CREATE UNIQUE INDEX "package_groups_mediaAlbumId_sourceChannelId_key" ON "package_groups"("mediaAlbumId", "sourceChannelId");
-- CreateIndex
CREATE INDEX "packages_packageGroupId_idx" ON "packages"("packageGroupId");
-- AddForeignKey
ALTER TABLE "packages" ADD CONSTRAINT "packages_packageGroupId_fkey" FOREIGN KEY ("packageGroupId") REFERENCES "package_groups"("id") ON DELETE SET NULL ON UPDATE CASCADE;
-- AddForeignKey
ALTER TABLE "package_groups" ADD CONSTRAINT "package_groups_sourceChannelId_fkey" FOREIGN KEY ("sourceChannelId") REFERENCES "telegram_channels"("id") ON DELETE CASCADE ON UPDATE CASCADE;