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