diff --git a/prisma/schema.prisma b/prisma/schema.prisma index 03ea4e4..a4103a3 100644 --- a/prisma/schema.prisma +++ b/prisma/schema.prisma @@ -19,7 +19,7 @@ model Event { disciplines Discipline[] organisations Organisation[] campaign Campaign[] - visual VisualElement[] + visual Media[] } model Campaign { @@ -29,7 +29,7 @@ model Campaign { expiresAt DateTime links Link[] - event Event @relation(fields: [eventId], references: [id]) + event Event @relation(fields: [eventId], references: [id], onDelete: Cascade) eventId Int @unique } @@ -38,9 +38,9 @@ model Link { pid String @unique @default(dbgenerated("gen_random_uuid()")) @db.Uuid link String - campaign Campaign @relation(fields: [campaignId], references: [id]) + campaign Campaign @relation(fields: [campaignId], references: [id], onDelete: Cascade) campaignId Int - group Group? @relation(fields: [groupId], references: [id]) + group Group @relation(fields: [groupId], references: [id], onDelete: Cascade) groupId Int @unique } @@ -56,17 +56,17 @@ model Admin { } model Discipline { - id Int @id @default(autoincrement()) - pid String @unique @default(dbgenerated("gen_random_uuid()")) @db.Uuid + id Int @id @default(autoincrement()) + pid String @unique @default(dbgenerated("gen_random_uuid()")) @db.Uuid name String minTeamSize Int maxTeamSize Int - roles RoleSchema[] + roles RoleSchema[] teams Team[] - event Event @relation(fields: [eventId], references: [id]) + event Event @relation(fields: [eventId], references: [id], onDelete: Cascade) eventId Int - visual VisualElement[] + visual Media[] } model RoleSchema { @@ -76,9 +76,9 @@ model RoleSchema { schema Json roles Role[] - discipline Discipline @relation(fields: [disciplineId], references: [id]) + discipline Discipline @relation(fields: [disciplineId], references: [id], onDelete: Cascade) disciplineId Int - visual VisualElement[] + visual Media[] } model Team { @@ -88,7 +88,7 @@ model Team { leaderEmail String roles Role[] @relation(name: "participants") - discipline Discipline @relation(fields: [disciplineId], references: [id]) + discipline Discipline @relation(fields: [disciplineId], references: [id], onDelete: Cascade) disciplineId Int } @@ -100,7 +100,7 @@ model Participant { gender Gender relevance Job - group Group @relation(fields: [groupId], references: [id]) + group Group @relation(fields: [groupId], references: [id], onDelete: Cascade) groupId Int roles Role[] } @@ -108,14 +108,13 @@ model Participant { model Role { id Int @id @default(autoincrement()) pid String @unique @default(dbgenerated("gen_random")) - name String //e.g. runner, swimmer,... score String - participant Participant? @relation(fields: [participantId], references: [id]) + participant Participant? @relation(fields: [participantId], references: [id], onDelete: SetNull) participantId Int? - team Team @relation(name: "participants", fields: [teamId], references: [id]) + team Team @relation(name: "participants", fields: [teamId], references: [id], onDelete: Cascade) teamId Int - schema RoleSchema @relation(fields: [schemaId], references: [id]) + schema RoleSchema @relation(fields: [schemaId], references: [id], onDelete: Cascade) schemaId Int } @@ -125,7 +124,7 @@ model Organisation { name String groups Group[] - event Event @relation(fields: [eventId], references: [id]) + event Event @relation(fields: [eventId], references: [id], onDelete: Cascade) eventId Int } @@ -136,18 +135,18 @@ model Group { user_limit Int @default(40) level Int - oragnisation Organisation @relation(fields: [oragnisationId], references: [id]) + oragnisation Organisation @relation(fields: [oragnisationId], references: [id], onDelete: Cascade) oragnisationId Int participants Participant[] link Link? admins Admin[] } -model VisualElement { +model Media { id Int @id @default(autoincrement()) pid String @unique @default(dbgenerated("gen_random_uuid()")) @db.Uuid description String - location String + location String @unique event Event[] discipline Discipline[]