Ajout comportements en cas de suppresion d'un élément lié
This commit is contained in:
@ -12,7 +12,7 @@ model Player {
|
||||
name String @unique
|
||||
password String
|
||||
money Int @default(0)
|
||||
activeChallenge ChallengeAction? @relation("ActiveChallenge", fields: [activeChallengeId], references: [id])
|
||||
activeChallenge ChallengeAction? @relation("ActiveChallenge", fields: [activeChallengeId], references: [id], onDelete: SetNull)
|
||||
activeChallengeId Int? @unique
|
||||
actions ChallengeAction[]
|
||||
geolocations Geolocation[]
|
||||
@ -24,17 +24,17 @@ model Player {
|
||||
model Game {
|
||||
id Int @id @default(autoincrement())
|
||||
started Boolean @default(false)
|
||||
currentRun PlayerRun? @relation("CurrentRun", fields: [currentRunId], references: [id])
|
||||
currentRun PlayerRun? @relation("CurrentRun", fields: [currentRunId], references: [id], onDelete: SetNull)
|
||||
currentRunId Int? @unique
|
||||
runs PlayerRun[] @relation("GameRuns")
|
||||
}
|
||||
|
||||
model PlayerRun {
|
||||
id Int @id @default(autoincrement())
|
||||
game Game @relation("GameRuns", fields: [gameId], references: [id])
|
||||
game Game @relation("GameRuns", fields: [gameId], references: [id], onDelete: Cascade)
|
||||
runningGame Game? @relation("CurrentRun")
|
||||
gameId Int
|
||||
runner Player @relation(fields: [runnerId], references: [id])
|
||||
runner Player @relation(fields: [runnerId], references: [id], onDelete: Cascade)
|
||||
runnerId Int
|
||||
start DateTime @default(now()) @db.Timestamptz(3)
|
||||
end DateTime? @db.Timestamptz(3)
|
||||
@ -45,7 +45,7 @@ model PlayerRun {
|
||||
|
||||
model Geolocation {
|
||||
id Int @id @default(autoincrement())
|
||||
player Player @relation(fields: [playerId], references: [id])
|
||||
player Player @relation(fields: [playerId], references: [id], onDelete: Cascade)
|
||||
playerId Int
|
||||
longitude Float
|
||||
latitude Float
|
||||
@ -66,16 +66,16 @@ model Challenge {
|
||||
|
||||
model ChallengeAction {
|
||||
id Int @id @default(autoincrement())
|
||||
player Player @relation(fields: [playerId], references: [id])
|
||||
player Player @relation(fields: [playerId], references: [id], onDelete: Restrict)
|
||||
playerId Int
|
||||
challenge Challenge @relation(fields: [challengeId], references: [id])
|
||||
challenge Challenge @relation(fields: [challengeId], references: [id], onDelete: Cascade)
|
||||
challengeId Int @unique
|
||||
success Boolean @default(false)
|
||||
start DateTime @default(now()) @db.Timestamptz(3)
|
||||
end DateTime? @db.Timestamptz(3)
|
||||
penaltyStart DateTime? @db.Timestamptz(3)
|
||||
penaltyEnd DateTime? @db.Timestamptz(3)
|
||||
run PlayerRun @relation(fields: [runId], references: [id])
|
||||
run PlayerRun @relation(fields: [runId], references: [id], onDelete: Restrict)
|
||||
runId Int
|
||||
activePlayer Player? @relation("ActiveChallenge")
|
||||
moneyUpdate MoneyUpdate?
|
||||
@ -83,7 +83,7 @@ model ChallengeAction {
|
||||
|
||||
model TrainTrip {
|
||||
id String @id
|
||||
player Player @relation(fields: [playerId], references: [id])
|
||||
player Player @relation(fields: [playerId], references: [id], onDelete: Restrict)
|
||||
playerId Int
|
||||
distance Float
|
||||
from String
|
||||
@ -91,22 +91,22 @@ model TrainTrip {
|
||||
departureTime DateTime @db.Timestamptz(3)
|
||||
arrivalTime DateTime @db.Timestamptz(3)
|
||||
infoJson Json
|
||||
run PlayerRun @relation(fields: [runId], references: [id])
|
||||
run PlayerRun @relation(fields: [runId], references: [id], onDelete: Restrict)
|
||||
runId Int
|
||||
moneyUpdate MoneyUpdate?
|
||||
}
|
||||
|
||||
model MoneyUpdate {
|
||||
id Int @id @default(autoincrement())
|
||||
player Player @relation(fields: [playerId], references: [id])
|
||||
player Player @relation(fields: [playerId], references: [id], onDelete: Restrict)
|
||||
playerId Int
|
||||
amount Int
|
||||
reason MoneyUpdateType
|
||||
action ChallengeAction? @relation(fields: [actionId], references: [id])
|
||||
action ChallengeAction? @relation(fields: [actionId], references: [id], onDelete: Cascade)
|
||||
actionId Int? @unique
|
||||
trip TrainTrip? @relation(fields: [tripId], references: [id])
|
||||
trip TrainTrip? @relation(fields: [tripId], references: [id], onDelete: Cascade)
|
||||
tripId String? @unique
|
||||
run PlayerRun? @relation(fields: [runId], references: [id])
|
||||
run PlayerRun? @relation(fields: [runId], references: [id], onDelete: Cascade)
|
||||
runId Int? @unique
|
||||
timestamp DateTime @default(now()) @db.Timestamptz(3)
|
||||
}
|
||||
|
Reference in New Issue
Block a user