From f05e4542b2f64f70afb157f7269b009482533ed0 Mon Sep 17 00:00:00 2001 From: "Kalle (Sendou)" <38327916+Sendouc@users.noreply.github.com> Date: Tue, 15 Dec 2020 19:36:54 +0200 Subject: [PATCH] prisma schema implicit relation with roster --- .../migration.sql | 15 +++++++++------ prisma/schema.prisma | 13 ++----------- 2 files changed, 11 insertions(+), 17 deletions(-) rename prisma/migrations/{20201214154513_salmon_run_tables => 20201215172934_create_salmon_run}/migration.sql (75%) diff --git a/prisma/migrations/20201214154513_salmon_run_tables/migration.sql b/prisma/migrations/20201215172934_create_salmon_run/migration.sql similarity index 75% rename from prisma/migrations/20201214154513_salmon_run_tables/migration.sql rename to prisma/migrations/20201215172934_create_salmon_run/migration.sql index c0faa41a4..2fff850b4 100644 --- a/prisma/migrations/20201214154513_salmon_run_tables/migration.sql +++ b/prisma/migrations/20201215172934_create_salmon_run/migration.sql @@ -26,16 +26,19 @@ CREATE TABLE "SalmonRunRecord" ( ); -- CreateTable -CREATE TABLE "SalmonRunPlayer" ( - "recordId" INTEGER NOT NULL, - "userId" INTEGER NOT NULL +CREATE TABLE "_SalmonRunRecordRoster" ( + "A" INTEGER NOT NULL, + "B" INTEGER NOT NULL ); -- CreateIndex CREATE UNIQUE INDEX "SalmonRunRotation.id_unique" ON "SalmonRunRotation"("id"); -- CreateIndex -CREATE UNIQUE INDEX "SalmonRunPlayer.recordId_userId_unique" ON "SalmonRunPlayer"("recordId", "userId"); +CREATE UNIQUE INDEX "_SalmonRunRecordRoster_AB_unique" ON "_SalmonRunRecordRoster"("A", "B"); + +-- CreateIndex +CREATE INDEX "_SalmonRunRecordRoster_B_index" ON "_SalmonRunRecordRoster"("B"); -- AddForeignKey ALTER TABLE "SalmonRunRecord" ADD FOREIGN KEY("rotationId")REFERENCES "SalmonRunRotation"("id") ON DELETE CASCADE ON UPDATE CASCADE; @@ -44,7 +47,7 @@ ALTER TABLE "SalmonRunRecord" ADD FOREIGN KEY("rotationId")REFERENCES "SalmonRun ALTER TABLE "SalmonRunRecord" ADD FOREIGN KEY("submitterId")REFERENCES "User"("id") ON DELETE CASCADE ON UPDATE CASCADE; -- AddForeignKey -ALTER TABLE "SalmonRunPlayer" ADD FOREIGN KEY("recordId")REFERENCES "SalmonRunRecord"("id") ON DELETE CASCADE ON UPDATE CASCADE; +ALTER TABLE "_SalmonRunRecordRoster" ADD FOREIGN KEY("A")REFERENCES "SalmonRunRecord"("id") ON DELETE CASCADE ON UPDATE CASCADE; -- AddForeignKey -ALTER TABLE "SalmonRunPlayer" ADD FOREIGN KEY("userId")REFERENCES "User"("id") ON DELETE CASCADE ON UPDATE CASCADE; +ALTER TABLE "_SalmonRunRecordRoster" ADD FOREIGN KEY("B")REFERENCES "User"("id") ON DELETE CASCADE ON UPDATE CASCADE; diff --git a/prisma/schema.prisma b/prisma/schema.prisma index 65a4a848b..8e6738bc3 100644 --- a/prisma/schema.prisma +++ b/prisma/schema.prisma @@ -18,7 +18,7 @@ model User { player Player? builds Build[] submittedRecords SalmonRunRecord[] - salmonRunRecords SalmonRunPlayer[] + salmonRunRecords SalmonRunRecord[] @relation("SalmonRunRecordRoster") } model Profile { @@ -203,14 +203,5 @@ model SalmonRunRecord { createdAt DateTime @default(now()) rotation SalmonRunRotation @relation(fields: [rotationId], references: [id]) submitter User @relation(fields: [submitterId], references: [id]) - players SalmonRunPlayer[] -} - -model SalmonRunPlayer { - recordId Int - userId Int - record SalmonRunRecord @relation(fields: [recordId], references: [id]) - user User @relation(fields: [userId], references: [id]) - - @@unique([recordId, userId]) + roster User[] @relation("SalmonRunRecordRoster") }