From 6599fa8f79d7a15f28abe4cffa61862de1b6e2ac Mon Sep 17 00:00:00 2001 From: Rafi Arrafif Date: Tue, 17 Mar 2026 16:41:29 +0700 Subject: [PATCH] =?UTF-8?q?=F0=9F=97=83=EF=B8=8F=20db:=20reset=20prisma=20?= =?UTF-8?q?migrations=20for=20updated=20banner=20structure?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- prisma/dbml/schema.dbml | 11 +++--- .../migration.sql | 34 +++++++++++++++++-- .../migration.sql | 17 ---------- .../migration.sql | 2 -- .../migration.sql | 20 ----------- .../migration.sql | 32 ----------------- .../migration.sql | 11 ------ .../migration.sql | 16 --------- .../migration.sql | 2 -- .../migration.sql | 8 ----- .../migration.sql | 23 +++++++++++++ 11 files changed, 60 insertions(+), 116 deletions(-) rename prisma/migrations/{000_baseline => 000_baseline_v1}/migration.sql (96%) delete mode 100644 prisma/migrations/20260220133017_rename_code_to_video_code/migration.sql delete mode 100644 prisma/migrations/20260220155805_add_thumbnail_code_in_video/migration.sql delete mode 100644 prisma/migrations/20260301052432_add_hero_banner/migration.sql delete mode 100644 prisma/migrations/20260301052641_rename_hero_banner/migration.sql delete mode 100644 prisma/migrations/20260302155255_add_order_in_hero_banner/migration.sql delete mode 100644 prisma/migrations/20260302160211_rename_order_column/migration.sql delete mode 100644 prisma/migrations/20260303063458_add_tags_in_hero_banner/migration.sql delete mode 100644 prisma/migrations/20260303101939_make_system_preference_id_unique/migration.sql create mode 100644 prisma/migrations/20260317094013_change_banner_to_media_only/migration.sql diff --git a/prisma/dbml/schema.dbml b/prisma/dbml/schema.dbml index 05bab02..d546b66 100644 --- a/prisma/dbml/schema.dbml +++ b/prisma/dbml/schema.dbml @@ -28,6 +28,7 @@ Table medias { deletedAt DateTime createdAt DateTime [default: `now()`, not null] updatedAt DateTime [default: `now()`, not null] + bannerPromotion hero_banner [not null] logs media_logs [not null] episodes episodes [not null] collections collections [not null] @@ -496,12 +497,8 @@ Table email_system_histories { Table hero_banner { id String [pk] orderPriority Int [unique] - isClickable Boolean [not null, default: false] - title String - tags String[] [not null] - description String - buttonContent String - buttonLink String + mediaId String [not null] + media medias [not null] imageUrl String startDate DateTime [not null] endDate DateTime [not null] @@ -780,6 +777,8 @@ Ref: email_system_accounts.createdBy > users.id Ref: email_system_histories.userRelated > users.id +Ref: hero_banner.mediaId > medias.id + Ref: hero_banner.creatorId > users.id Ref: system_notifications.createdBy > users.id diff --git a/prisma/migrations/000_baseline/migration.sql b/prisma/migrations/000_baseline_v1/migration.sql similarity index 96% rename from prisma/migrations/000_baseline/migration.sql rename to prisma/migrations/000_baseline_v1/migration.sql index bf55f6a..e2ec3d9 100644 --- a/prisma/migrations/000_baseline/migration.sql +++ b/prisma/migrations/000_baseline_v1/migration.sql @@ -206,7 +206,8 @@ CREATE TABLE "videos" ( "id" UUID NOT NULL, "episodeId" UUID NOT NULL, "serviceId" UUID NOT NULL, - "code" VARCHAR(255) NOT NULL, + "videoCode" VARCHAR(255) NOT NULL, + "thumbnailCode" TEXT, "pendingUpload" BOOLEAN NOT NULL DEFAULT true, "uploadedBy" UUID NOT NULL, "deletedAt" TIMESTAMP(3), @@ -497,6 +498,26 @@ CREATE TABLE "email_system_histories" ( CONSTRAINT "email_system_histories_pkey" PRIMARY KEY ("id") ); +-- CreateTable +CREATE TABLE "hero_banner" ( + "id" UUID NOT NULL, + "orderPriority" INTEGER, + "isClickable" BOOLEAN NOT NULL DEFAULT false, + "title" VARCHAR(225), + "tags" TEXT[], + "description" TEXT, + "buttonContent" VARCHAR(100), + "buttonLink" TEXT, + "imageUrl" TEXT, + "startDate" TIMESTAMP(3) NOT NULL, + "endDate" TIMESTAMP(3) NOT NULL, + "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "updatedAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "creatorId" UUID NOT NULL, + + CONSTRAINT "hero_banner_pkey" PRIMARY KEY ("id") +); + -- CreateTable CREATE TABLE "system_preferences" ( "id" UUID NOT NULL, @@ -629,7 +650,7 @@ CREATE UNIQUE INDEX "lang_va_char_language_vaId_charId_key" ON "lang_va_char"("l CREATE UNIQUE INDEX "episodes_mediaId_episode_key" ON "episodes"("mediaId", "episode"); -- CreateIndex -CREATE UNIQUE INDEX "videos_serviceId_code_key" ON "videos"("serviceId", "code"); +CREATE UNIQUE INDEX "videos_serviceId_videoCode_key" ON "videos"("serviceId", "videoCode"); -- CreateIndex CREATE UNIQUE INDEX "video_services_name_key" ON "video_services"("name"); @@ -664,6 +685,12 @@ CREATE UNIQUE INDEX "email_system_accounts_email_key" ON "email_system_accounts" -- CreateIndex CREATE UNIQUE INDEX "email_system_accounts_username_key" ON "email_system_accounts"("username"); +-- CreateIndex +CREATE UNIQUE INDEX "hero_banner_orderPriority_key" ON "hero_banner"("orderPriority"); + +-- CreateIndex +CREATE UNIQUE INDEX "system_preferences_key_key" ON "system_preferences"("key"); + -- CreateIndex CREATE INDEX "_MediaStudios_B_index" ON "_MediaStudios"("B"); @@ -820,6 +847,9 @@ ALTER TABLE "email_system_accounts" ADD CONSTRAINT "email_system_accounts_create -- AddForeignKey ALTER TABLE "email_system_histories" ADD CONSTRAINT "email_system_histories_userRelated_fkey" FOREIGN KEY ("userRelated") REFERENCES "users"("id") ON DELETE RESTRICT ON UPDATE CASCADE; +-- AddForeignKey +ALTER TABLE "hero_banner" ADD CONSTRAINT "hero_banner_creatorId_fkey" FOREIGN KEY ("creatorId") REFERENCES "users"("id") ON DELETE RESTRICT ON UPDATE CASCADE; + -- AddForeignKey ALTER TABLE "system_notifications" ADD CONSTRAINT "system_notifications_createdBy_fkey" FOREIGN KEY ("createdBy") REFERENCES "users"("id") ON DELETE RESTRICT ON UPDATE CASCADE; diff --git a/prisma/migrations/20260220133017_rename_code_to_video_code/migration.sql b/prisma/migrations/20260220133017_rename_code_to_video_code/migration.sql deleted file mode 100644 index c9c46ac..0000000 --- a/prisma/migrations/20260220133017_rename_code_to_video_code/migration.sql +++ /dev/null @@ -1,17 +0,0 @@ -/* - Warnings: - - - You are about to drop the column `code` on the `videos` table. All the data in the column will be lost. - - A unique constraint covering the columns `[serviceId,videoCode]` on the table `videos` will be added. If there are existing duplicate values, this will fail. - - Added the required column `videoCode` to the `videos` table without a default value. This is not possible if the table is not empty. - -*/ --- DropIndex -DROP INDEX "videos_serviceId_code_key"; - --- AlterTable -ALTER TABLE "videos" RENAME COLUMN "code" TO "videoCode"; - --- CreateIndex -DROP INDEX IF EXISTS "videos_serviceId_code_key"; -CREATE UNIQUE INDEX "videos_serviceId_videoCode_key" ON "videos"("serviceId", "videoCode"); diff --git a/prisma/migrations/20260220155805_add_thumbnail_code_in_video/migration.sql b/prisma/migrations/20260220155805_add_thumbnail_code_in_video/migration.sql deleted file mode 100644 index 83ddf44..0000000 --- a/prisma/migrations/20260220155805_add_thumbnail_code_in_video/migration.sql +++ /dev/null @@ -1,2 +0,0 @@ --- AlterTable -ALTER TABLE "videos" ADD COLUMN "thumbnailCode" TEXT; diff --git a/prisma/migrations/20260301052432_add_hero_banner/migration.sql b/prisma/migrations/20260301052432_add_hero_banner/migration.sql deleted file mode 100644 index 64de72c..0000000 --- a/prisma/migrations/20260301052432_add_hero_banner/migration.sql +++ /dev/null @@ -1,20 +0,0 @@ --- CreateTable -CREATE TABLE "HeroBanner" ( - "id" UUID NOT NULL, - "isClickable" BOOLEAN NOT NULL DEFAULT false, - "title" VARCHAR(225), - "description" TEXT, - "buttonContent" VARCHAR(100), - "buttonLink" TEXT, - "imageUrl" TEXT, - "startDate" TIMESTAMP(3) NOT NULL, - "endDate" TIMESTAMP(3) NOT NULL, - "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, - "updatedAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, - "creatorId" UUID NOT NULL, - - CONSTRAINT "HeroBanner_pkey" PRIMARY KEY ("id") -); - --- AddForeignKey -ALTER TABLE "HeroBanner" ADD CONSTRAINT "HeroBanner_creatorId_fkey" FOREIGN KEY ("creatorId") REFERENCES "users"("id") ON DELETE RESTRICT ON UPDATE CASCADE; diff --git a/prisma/migrations/20260301052641_rename_hero_banner/migration.sql b/prisma/migrations/20260301052641_rename_hero_banner/migration.sql deleted file mode 100644 index 8fb2907..0000000 --- a/prisma/migrations/20260301052641_rename_hero_banner/migration.sql +++ /dev/null @@ -1,32 +0,0 @@ -/* - Warnings: - - - You are about to drop the `HeroBanner` table. If the table is not empty, all the data it contains will be lost. - -*/ --- DropForeignKey -ALTER TABLE "HeroBanner" DROP CONSTRAINT "HeroBanner_creatorId_fkey"; - --- DropTable -DROP TABLE "HeroBanner"; - --- CreateTable -CREATE TABLE "hero_banner" ( - "id" UUID NOT NULL, - "isClickable" BOOLEAN NOT NULL DEFAULT false, - "title" VARCHAR(225), - "description" TEXT, - "buttonContent" VARCHAR(100), - "buttonLink" TEXT, - "imageUrl" TEXT, - "startDate" TIMESTAMP(3) NOT NULL, - "endDate" TIMESTAMP(3) NOT NULL, - "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, - "updatedAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, - "creatorId" UUID NOT NULL, - - CONSTRAINT "hero_banner_pkey" PRIMARY KEY ("id") -); - --- AddForeignKey -ALTER TABLE "hero_banner" ADD CONSTRAINT "hero_banner_creatorId_fkey" FOREIGN KEY ("creatorId") REFERENCES "users"("id") ON DELETE RESTRICT ON UPDATE CASCADE; diff --git a/prisma/migrations/20260302155255_add_order_in_hero_banner/migration.sql b/prisma/migrations/20260302155255_add_order_in_hero_banner/migration.sql deleted file mode 100644 index 0d0e645..0000000 --- a/prisma/migrations/20260302155255_add_order_in_hero_banner/migration.sql +++ /dev/null @@ -1,11 +0,0 @@ -/* - Warnings: - - - A unique constraint covering the columns `[order]` on the table `hero_banner` will be added. If there are existing duplicate values, this will fail. - -*/ --- AlterTable -ALTER TABLE "hero_banner" ADD COLUMN "order" INTEGER; - --- CreateIndex -CREATE UNIQUE INDEX "hero_banner_order_key" ON "hero_banner"("order"); diff --git a/prisma/migrations/20260302160211_rename_order_column/migration.sql b/prisma/migrations/20260302160211_rename_order_column/migration.sql deleted file mode 100644 index 532f842..0000000 --- a/prisma/migrations/20260302160211_rename_order_column/migration.sql +++ /dev/null @@ -1,16 +0,0 @@ -/* - Warnings: - - - You are about to drop the column `order` on the `hero_banner` table. All the data in the column will be lost. - - A unique constraint covering the columns `[orderPriority]` on the table `hero_banner` will be added. If there are existing duplicate values, this will fail. - -*/ --- DropIndex -DROP INDEX "hero_banner_order_key"; - --- AlterTable -ALTER TABLE "hero_banner" DROP COLUMN "order", -ADD COLUMN "orderPriority" INTEGER; - --- CreateIndex -CREATE UNIQUE INDEX "hero_banner_orderPriority_key" ON "hero_banner"("orderPriority"); diff --git a/prisma/migrations/20260303063458_add_tags_in_hero_banner/migration.sql b/prisma/migrations/20260303063458_add_tags_in_hero_banner/migration.sql deleted file mode 100644 index 63764e1..0000000 --- a/prisma/migrations/20260303063458_add_tags_in_hero_banner/migration.sql +++ /dev/null @@ -1,2 +0,0 @@ --- AlterTable -ALTER TABLE "hero_banner" ADD COLUMN "tags" TEXT[]; diff --git a/prisma/migrations/20260303101939_make_system_preference_id_unique/migration.sql b/prisma/migrations/20260303101939_make_system_preference_id_unique/migration.sql deleted file mode 100644 index f9cb54e..0000000 --- a/prisma/migrations/20260303101939_make_system_preference_id_unique/migration.sql +++ /dev/null @@ -1,8 +0,0 @@ -/* - Warnings: - - - A unique constraint covering the columns `[key]` on the table `system_preferences` will be added. If there are existing duplicate values, this will fail. - -*/ --- CreateIndex -CREATE UNIQUE INDEX "system_preferences_key_key" ON "system_preferences"("key"); diff --git a/prisma/migrations/20260317094013_change_banner_to_media_only/migration.sql b/prisma/migrations/20260317094013_change_banner_to_media_only/migration.sql new file mode 100644 index 0000000..612c63e --- /dev/null +++ b/prisma/migrations/20260317094013_change_banner_to_media_only/migration.sql @@ -0,0 +1,23 @@ +/* + Warnings: + + - You are about to drop the column `buttonContent` on the `hero_banner` table. All the data in the column will be lost. + - You are about to drop the column `buttonLink` on the `hero_banner` table. All the data in the column will be lost. + - You are about to drop the column `description` on the `hero_banner` table. All the data in the column will be lost. + - You are about to drop the column `isClickable` on the `hero_banner` table. All the data in the column will be lost. + - You are about to drop the column `tags` on the `hero_banner` table. All the data in the column will be lost. + - You are about to drop the column `title` on the `hero_banner` table. All the data in the column will be lost. + - Added the required column `mediaId` to the `hero_banner` table without a default value. This is not possible if the table is not empty. + +*/ +-- AlterTable +ALTER TABLE "hero_banner" DROP COLUMN "buttonContent", +DROP COLUMN "buttonLink", +DROP COLUMN "description", +DROP COLUMN "isClickable", +DROP COLUMN "tags", +DROP COLUMN "title", +ADD COLUMN "mediaId" UUID NOT NULL; + +-- AddForeignKey +ALTER TABLE "hero_banner" ADD CONSTRAINT "hero_banner_mediaId_fkey" FOREIGN KEY ("mediaId") REFERENCES "medias"("id") ON DELETE RESTRICT ON UPDATE CASCADE;