artable/prisma/schema.prisma

60 lines
1.7 KiB
Text

generator client {
provider = "prisma-client-js"
}
datasource db {
provider = "postgresql"
url = env("DATABASE_URL")
}
model news {
id Int @id(map: "pk_news") @default(autoincrement())
title String
message String
is_alert Boolean @default(false)
created_at DateTime @default(now())
}
model study_item {
id Int @id(map: "pk_study_item") @default(autoincrement())
title String
study_slot study_slot[]
}
model study_slot {
id Int @id(map: "pk_study_slot") @default(autoincrement())
study_item_id Int
where String
studentsGroup String
position Int
study_item study_item @relation(fields: [study_item_id], references: [id], onDelete: Cascade, onUpdate: NoAction, map: "fk_study_slot_study_item")
timetable timetable? @relation(fields: [timetableId], references: [id])
timetableId Int?
}
model timetable {
id Int @id(map: "pk_timetable") @default(autoincrement())
day Int @db.SmallInt
odd Boolean
slots study_slot[]
teacher users @relation(fields: [teacherId], references: [id])
teacherId Int
}
model users {
id Int @id(map: "pk_users") @default(autoincrement())
login String @unique @db.VarChar(25)
pass String @db.VarChar(100)
fullName String? @db.VarChar(100)
is_admin Boolean @default(false)
lore String? @db.Text()
timetable timetable[]
user_session user_session[]
}
model user_session {
id String @id @default(uuid())
usersId Int
user users @relation(fields: [usersId], references: [id])
}