Select Git revision
schema.prisma
schema.prisma 1.52 KiB
generator client {
provider = "prisma-client-js"
}
datasource db {
provider = "mysql"
url = env("DATABASE_URL")
}
model User {
id Int @id @default(autoincrement())
firstname String
lastname String?
mail String? @unique
password String?
gitlabId Int @unique
role String?
deleted Boolean @default(false)
enonces Enonce[]
exercices Exercice[]
}
model Enonce {
name String @id
gitlabId Int
gitlabLink String
gitlabCreationInfo Json @db.Json
gitlabLastInfo Json @db.Json
gitlabLastInfoDate DateTime
published Boolean @default(false)
exercices Exercice[]
staff User[]
}
model Exercice {
id String @id @db.Char(36)
enonceName String
name String
secret String @unique @db.Char(36)
gitlabId Int
gitlabLink String
gitlabCreationInfo Json @db.Json
gitlabLastInfo Json @db.Json
gitlabLastInfoDate DateTime
enonce Enonce @relation(fields: [enonceName], references: [name], onDelete: NoAction, onUpdate: Cascade)
members User[]
results Result[]
}
model Result {
exerciceId String @db.Char(36)
dateTime DateTime @default(now())
pass Boolean
details String @db.Text
exercice Exercice @relation(fields: [exerciceId], references: [id], onDelete: Cascade, onUpdate: Cascade)
@@id([exerciceId, dateTime])
}