From 6d6261921ac3f26d26e6a019d0014fe6a255ddd9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Luk=C3=A1=C5=A1=20Kratochv=C3=ADl?= <xkrato10@fi.muni.cz> Date: Tue, 14 Jun 2022 23:55:29 +0200 Subject: [PATCH] feat: Prisma init migration --- .../20220614193457_init/migration.sql | 70 +++++++++++++++++++ backend/prisma/migrations/migration_lock.toml | 3 + 2 files changed, 73 insertions(+) create mode 100644 backend/prisma/migrations/20220614193457_init/migration.sql create mode 100644 backend/prisma/migrations/migration_lock.toml diff --git a/backend/prisma/migrations/20220614193457_init/migration.sql b/backend/prisma/migrations/20220614193457_init/migration.sql new file mode 100644 index 0000000..f2518c1 --- /dev/null +++ b/backend/prisma/migrations/20220614193457_init/migration.sql @@ -0,0 +1,70 @@ +-- CreateTable +CREATE TABLE "Movie" ( + "id" TEXT NOT NULL, + "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "updatedAt" TIMESTAMP(3) NOT NULL, + "deletedAt" TIMESTAMP(3), + "name" TEXT NOT NULL, + "originalName" TEXT NOT NULL, + "intro" TEXT NOT NULL, + "picture" TEXT, + "publishedAt" TIMESTAMP(3) NOT NULL, + "runTimeMinutes" INTEGER NOT NULL, + "directorId" TEXT NOT NULL, + + CONSTRAINT "Movie_pkey" PRIMARY KEY ("id") +); + +-- CreateTable +CREATE TABLE "Director" ( + "id" TEXT NOT NULL, + "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "updatedAt" TIMESTAMP(3) NOT NULL, + "deletedAt" TIMESTAMP(3), + "name" TEXT NOT NULL, + "surname" TEXT NOT NULL, + "birthDate" TIMESTAMP(3), + + CONSTRAINT "Director_pkey" PRIMARY KEY ("id") +); + +-- CreateTable +CREATE TABLE "Category" ( + "id" TEXT NOT NULL, + "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + "updatedAt" TIMESTAMP(3) NOT NULL, + "deletedAt" TIMESTAMP(3), + "name" TEXT NOT NULL, + + CONSTRAINT "Category_pkey" PRIMARY KEY ("id") +); + +-- CreateTable +CREATE TABLE "_MovieCategory" ( + "A" TEXT NOT NULL, + "B" TEXT NOT NULL +); + +-- CreateIndex +CREATE UNIQUE INDEX "Movie_originalName_publishedAt_directorId_key" ON "Movie"("originalName", "publishedAt", "directorId"); + +-- CreateIndex +CREATE UNIQUE INDEX "Director_name_surname_birthDate_key" ON "Director"("name", "surname", "birthDate"); + +-- CreateIndex +CREATE UNIQUE INDEX "Category_name_key" ON "Category"("name"); + +-- CreateIndex +CREATE UNIQUE INDEX "_MovieCategory_AB_unique" ON "_MovieCategory"("A", "B"); + +-- CreateIndex +CREATE INDEX "_MovieCategory_B_index" ON "_MovieCategory"("B"); + +-- AddForeignKey +ALTER TABLE "Movie" ADD CONSTRAINT "Movie_directorId_fkey" FOREIGN KEY ("directorId") REFERENCES "Director"("id") ON DELETE RESTRICT ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "_MovieCategory" ADD CONSTRAINT "_MovieCategory_A_fkey" FOREIGN KEY ("A") REFERENCES "Category"("id") ON DELETE CASCADE ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "_MovieCategory" ADD CONSTRAINT "_MovieCategory_B_fkey" FOREIGN KEY ("B") REFERENCES "Movie"("id") ON DELETE CASCADE ON UPDATE CASCADE; diff --git a/backend/prisma/migrations/migration_lock.toml b/backend/prisma/migrations/migration_lock.toml new file mode 100644 index 0000000..fbffa92 --- /dev/null +++ b/backend/prisma/migrations/migration_lock.toml @@ -0,0 +1,3 @@ +# Please do not edit this file manually +# It should be added in your version-control system (i.e. Git) +provider = "postgresql" \ No newline at end of file -- GitLab