diff --git a/prisma/migrations/20220130134144_initial/migration.sql b/prisma/migrations/20220202072359_initial/migration.sql similarity index 93% rename from prisma/migrations/20220130134144_initial/migration.sql rename to prisma/migrations/20220202072359_initial/migration.sql index 6f2b3bf4f..f7c71c20b 100644 --- a/prisma/migrations/20220130134144_initial/migration.sql +++ b/prisma/migrations/20220202072359_initial/migration.sql @@ -188,6 +188,19 @@ CREATE TABLE "LfgGroupMatch" ( CONSTRAINT "LfgGroupMatch_pkey" PRIMARY KEY ("id") ); +-- CreateTable +CREATE TABLE "Skill" ( + "id" TEXT NOT NULL, + "userId" TEXT NOT NULL, + "mu" DOUBLE PRECISION NOT NULL, + "sigma" DOUBLE PRECISION NOT NULL, + "matchId" TEXT, + "tournamentId" TEXT, + "createdAt" TIMESTAMP(3) NOT NULL DEFAULT CURRENT_TIMESTAMP, + + CONSTRAINT "Skill_pkey" PRIMARY KEY ("id") +); + -- CreateTable CREATE TABLE "_TournamentMatchGameResultToUser" ( "A" TEXT NOT NULL, @@ -326,6 +339,15 @@ ALTER TABLE "LfgGroupMember" ADD CONSTRAINT "LfgGroupMember_groupId_fkey" FOREIG -- AddForeignKey ALTER TABLE "LfgGroupMember" ADD CONSTRAINT "LfgGroupMember_memberId_fkey" FOREIGN KEY ("memberId") REFERENCES "User"("id") ON DELETE RESTRICT ON UPDATE CASCADE; +-- AddForeignKey +ALTER TABLE "Skill" ADD CONSTRAINT "Skill_userId_fkey" FOREIGN KEY ("userId") REFERENCES "User"("id") ON DELETE RESTRICT ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "Skill" ADD CONSTRAINT "Skill_matchId_fkey" FOREIGN KEY ("matchId") REFERENCES "LfgGroupMatch"("id") ON DELETE SET NULL ON UPDATE CASCADE; + +-- AddForeignKey +ALTER TABLE "Skill" ADD CONSTRAINT "Skill_tournamentId_fkey" FOREIGN KEY ("tournamentId") REFERENCES "Tournament"("id") ON DELETE SET NULL ON UPDATE CASCADE; + -- AddForeignKey ALTER TABLE "_TournamentMatchGameResultToUser" ADD FOREIGN KEY ("A") REFERENCES "TournamentMatchGameResult"("id") ON DELETE CASCADE ON UPDATE CASCADE; diff --git a/prisma/schema.prisma b/prisma/schema.prisma index e402be2c6..dad74addc 100644 --- a/prisma/schema.prisma +++ b/prisma/schema.prisma @@ -26,6 +26,7 @@ model User { tournamentTeams TournamentTeamMember[] tournamentMatches TournamentMatchGameResult[] lfgGroups LfgGroupMember[] + skill Skill[] } model Organization { @@ -61,6 +62,7 @@ model Tournament { organizer Organization @relation(fields: [organizerId], references: [id]) teams TournamentTeam[] brackets TournamentBracket[] + changedSkills Skill[] // There might be duplicate nameForUrl's but inside an organization they're unique @@unique([nameForUrl, organizerId]) @@ -250,6 +252,20 @@ model LfgGroupMember { } model LfgGroupMatch { - id String @id @default(uuid()) - groups LfgGroup[] + id String @id @default(uuid()) + groups LfgGroup[] + changedSkills Skill[] +} + +model Skill { + id String @id @default(uuid()) + userId String + mu Float + sigma Float + matchId String? + tournamentId String? + createdAt DateTime @default(now()) + user User @relation(fields: [userId], references: [id]) + match LfgGroupMatch? @relation(fields: [matchId], references: [id]) + tournament Tournament? @relation(fields: [tournamentId], references: [id]) }