Files
Timetable-V2/server/prisma/schema.prisma

65 lines
1.6 KiB
Plaintext

generator client {
provider = "prisma-client-js"
}
datasource db {
provider = "postgresql"
url = env("DATABASE_URL")
}
model Timetable {
id Int @id @unique @default(autoincrement())
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
class String
validFrom DateTime @default(now())
validUntil DateTime?
data Json
}
model Substitution {
id Int @id @unique @default(autoincrement())
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
class String[]
date DateTime
type String
lesson Int
teacher String
changedTeacher String?
changedRoom String?
changedSubject String?
notes String?
removed Boolean @default(false)
SubstitutionChange SubstitutionChange[]
}
model SubstitutionChange {
id Int @id @unique @default(autoincrement())
createdAt DateTime @default(now())
substitution Substitution @relation(fields: [substitutionId], references: [id])
substitutionId Int
type String
teacher String?
changes Json?
parseEvent ParseEvent @relation(fields: [parseEventId], references: [id])
parseEventId Int
}
model ParseEvent {
id Int @id @unique @default(autoincrement())
createdAt DateTime @default(now())
logFile String
originalData String
duration Int
succeeded Boolean
SubstitutionChange SubstitutionChange[]
}
model Class {
name String @id @unique
regex String
}