alexwasik
05/04/2022, 11:53 AMmodel Player {
id String @id
username String?
createdAt DateTime @default(now())
updatedAt DateTime @default(now())
losses Match[] @relation("Losses")
resigned Match[] @relation("Resigned")
wins Match[] @relation("Wins")
moves Move[]
matches PlayerMatch[]
rolls Roll[]
lastLogin DateTime?
}alexwasik
05/04/2022, 11:54 AMmodel Match {
id String @id
status String @default("active")
winnerId String?
loserId String?
resignedId String?
createdAt DateTime @default(now())
updatedAt DateTime @default(now())
endedAt DateTime?
loser Player? @relation("Losses", fields: [loserId], references: [id])
resigned Player? @relation("Resigned", fields: [resignedId], references: [id])
winner Player? @relation("Wins", fields: [winnerId], references: [id])
moves Move[]
rolls Roll[]
players PlayerMatch[]
}alexwasik
05/04/2022, 11:54 AMmodel Move {
id Int @id @default(autoincrement())
matchId String
playerId String
createdAt DateTime @default(now())
updatedAt DateTime @default(now())
type String?
selected String @default("")
match Match @relation(fields: [matchId], references: [id])
player Player @relation(fields: [playerId], references: [id])
}
model Roll {
id Int @id @default(autoincrement())
matchId String
playerId String
createdAt DateTime @default(now())
updatedAt DateTime @default(now())
die1 Int
die2 Int
match Match @relation(fields: [matchId], references: [id])
player Player @relation(fields: [playerId], references: [id])
}
model PlayerMatch {
playerId String
matchId String
createdAt DateTime @default(now())
updatedAt DateTime @default(now())
match Match @relation(fields: [matchId], references: [id], onDelete: Cascade)
player Player @relation(fields: [playerId], references: [id], onDelete: Cascade)
@@id([playerId, matchId])
}alexwasik
05/04/2022, 11:54 AMdelete player error PrismaClientKnownRequestError: Foreign key constraint failed on the field: `foreign key`Nurul
05/04/2022, 2:40 PMalexwasik
05/04/2022, 3:10 PMalexwasik
05/05/2022, 11:53 AMNurul
05/05/2022, 12:16 PMalexwasik
05/05/2022, 12:18 PMPlayerMatch but wondering how I would do that if I'm removing a Player