HOTFIX: Name of uuid function

The prisma schema didn't compile with the previous schema
This commit is contained in:
Stephan
2022-04-28 13:00:27 +02:00
committed by Stefan-5422
parent f6d194f0c9
commit d688a7db9c
+170 -158
View File
@@ -1,158 +1,170 @@
// Schema for the main database // Schema for the main database
datasource db { datasource db {
provider = "postgresql" provider = "postgresql"
url = env("DATABASE_URL") url = env("DATABASE_URL")
} }
generator client { generator client {
provider = "prisma-client-js" provider = "prisma-client-js"
} }
model Event { model Event {
id Int @id @default(autoincrement()) // Primary key id Int @id @default(autoincrement()) // Primary key
pid String @unique @default(dbgenerated("gen_random_uuid()")) @db.Uuid // Public key pid String @unique @default(dbgenerated("gen_random_uuid()")) @db.Uuid // Public key
date DateTime date DateTime
name String name String
description String description String
disciplines Discipline[] disciplines Discipline[]
organisations Organisation[] organisations Organisation[]
campaign Campaign[] campaign Campaign[]
} visual Media[]
}
model Campaign {
id Int @id @default(autoincrement()) model Campaign {
pid String @unique @default(dbgenerated("gen_random_uuid()")) @db.Uuid id Int @id @default(autoincrement())
start DateTime pid String @unique @default(dbgenerated("gen_random_uuid()")) @db.Uuid
expiresAt DateTime start DateTime
expiresAt DateTime
links Link[]
event Event @relation(fields: [eventId], references: [id]) links Link[]
eventId Int @unique event Event @relation(fields: [eventId], references: [id], onDelete: Cascade)
} eventId Int @unique
}
model Link {
id Int @id @default(autoincrement()) model Link {
pid String @unique @default(dbgenerated("gen_random_uuid()")) @db.Uuid id Int @id @default(autoincrement())
link String pid String @unique @default(dbgenerated("gen_random_uuid()")) @db.Uuid
link String
campaign Campaign @relation(fields: [campaignId], references: [id])
campaignId Int campaign Campaign @relation(fields: [campaignId], references: [id], onDelete: Cascade)
group Group? @relation(fields: [groupId], references: [id]) campaignId Int
groupId Int @unique group Group @relation(fields: [groupId], references: [id], onDelete: Cascade)
} groupId Int @unique
}
model Admin {
id Int @id @default(autoincrement()) model Admin {
pid String @unique @default(dbgenerated("gen_random_uuid()")) @db.Uuid id Int @id @default(autoincrement())
name String @unique pid String @unique @default(dbgenerated("gen_random_uuid()")) @db.Uuid
password String // TODO: Probably specify hash size (VarChar or some other type) name String @unique
password String // TODO: Probably specify hash size (VarChar or some other type)
permission_level AdminLevel @default(STANDARD)
revision DateTime @default(now()) permission_level AdminLevel @default(STANDARD)
groups Group[] revision DateTime @default(now())
} groups Group[]
}
model Discipline {
id Int @id @default(autoincrement()) model Discipline {
pid String @unique @default(dbgenerated("gen_random_uuid()")) @db.Uuid id Int @id @default(autoincrement())
name String pid String @unique @default(dbgenerated("gen_random_uuid()")) @db.Uuid
minTeamSize Int name String
maxTeamSize Int minTeamSize Int
roles RoleSchema[] maxTeamSize Int
teams Team[] roles RoleSchema[]
event Event @relation(fields: [eventId], references: [id]) teams Team[]
eventId Int event Event @relation(fields: [eventId], references: [id], onDelete: Cascade)
} eventId Int
visual Media[]
model RoleSchema { }
id Int @id @default(autoincrement())
pid String @unique @default(dbgenerated("gen_random_uuid()")) @db.Uuid model RoleSchema {
name String id Int @id @default(autoincrement())
schema Json pid String @unique @default(dbgenerated("gen_random_uuid()")) @db.Uuid
name String
roles Role[] schema Json
discipline Discipline @relation(fields: [disciplineId], references: [id])
disciplineId Int roles Role[]
} discipline Discipline @relation(fields: [disciplineId], references: [id], onDelete: Cascade)
disciplineId Int
model Team { visual Media[]
id Int @id @default(autoincrement()) }
pid String @unique @default(dbgenerated("gen_random_uuid()")) @db.Uuid
name String model Team {
leaderEmail String id Int @id @default(autoincrement())
pid String @unique @default(dbgenerated("gen_random_uuid()")) @db.Uuid
roles Role[] @relation(name: "participants") name String
discipline Discipline @relation(fields: [disciplineId], references: [id]) leaderEmail String
disciplineId Int
} roles Role[] @relation(name: "participants")
discipline Discipline @relation(fields: [disciplineId], references: [id], onDelete: Cascade)
model Participant { disciplineId Int
id Int @id @default(autoincrement()) }
pid String @unique @default(dbgenerated("gen_random_uuid()")) @db.Uuid
firstName String model Participant {
lastName String id Int @id @default(autoincrement())
gender Gender pid String @unique @default(dbgenerated("gen_random_uuid()")) @db.Uuid
firstName String
verified Boolean @default(false) lastName String
gender Gender
group Group @relation(fields: [groupId], references: [id]) relevance Job
groupId Int
roles Role[] group Group @relation(fields: [groupId], references: [id], onDelete: Cascade)
} groupId Int
roles Role[]
model Role { }
id Int @id @default(autoincrement())
pid String @unique @default(dbgenerated("gen_random")) model Role {
name String //e.g. runner, swimmer,... id Int @id @default(autoincrement())
importance Job pid String @unique @default(dbgenerated("gen_random_uuid()"))
score String score String
participant Participant? @relation(fields: [participantId], references: [id]) participant Participant? @relation(fields: [participantId], references: [id], onDelete: SetNull)
participantId Int? participantId Int?
team Team @relation(name: "participants", fields: [teamId], references: [id]) team Team @relation(name: "participants", fields: [teamId], references: [id], onDelete: Cascade)
teamId Int teamId Int
schema RoleSchema @relation(fields: [schemaId], references: [id]) schema RoleSchema @relation(fields: [schemaId], references: [id], onDelete: Cascade)
schemaId Int schemaId Int
} }
model Organisation { model Organisation {
id Int @id @default(autoincrement()) id Int @id @default(autoincrement())
pid String @unique @default(dbgenerated("gen_random_uuid()")) @db.Uuid pid String @unique @default(dbgenerated("gen_random_uuid()")) @db.Uuid
name String name String
groups Group[] groups Group[]
event Event @relation(fields: [eventId], references: [id]) event Event @relation(fields: [eventId], references: [id], onDelete: Cascade)
eventId Int eventId Int
} }
model Group { model Group {
id Int @id @default(autoincrement()) id Int @id @default(autoincrement())
pid String @unique @default(dbgenerated("gen_random_uuid()")) @db.Uuid pid String @unique @default(dbgenerated("gen_random_uuid()")) @db.Uuid
name String name String
user_limit Int @default(40) user_limit Int @default(40)
level Int level Int
oragnisation Organisation @relation(fields: [oragnisationId], references: [id]) oragnisation Organisation @relation(fields: [oragnisationId], references: [id], onDelete: Cascade)
oragnisationId Int oragnisationId Int
participants Participant[] participants Participant[]
link Link? link Link?
admins Admin[] admins Admin[]
} }
enum AdminLevel { model Media {
STANDARD id Int @id @default(autoincrement())
ELEVATED pid String @unique @default(dbgenerated("gen_random_uuid()")) @db.Uuid
} description String
location String @unique
enum Gender {
MALE event Event[]
FEMALE discipline Discipline[]
OTHER role RoleSchema[]
} }
enum Job { enum AdminLevel {
TEAMLEADER STANDARD
MEMBER ELEVATED
}
enum Gender {
MALE
FEMALE
OTHER
}
enum Job {
TEAMLEADER
MEMBER
}