49 lines
1.3 KiB
Plaintext
49 lines
1.3 KiB
Plaintext
generator client {
|
|
provider = "prisma-client-js"
|
|
}
|
|
|
|
datasource db {
|
|
provider = "mysql"
|
|
url = env("DATABASE_URL")
|
|
}
|
|
|
|
model ranks {
|
|
entry_id Int @id @default(autoincrement())
|
|
season_id Int
|
|
rank_id Int @unique
|
|
rank_name String
|
|
seasons seasons @relation(fields: [season_id], references: [season_id])
|
|
timetracker timetracker[]
|
|
|
|
@@unique([season_id, rank_id], name: "ranks_season_id_rank_id_uindex")
|
|
}
|
|
|
|
model seasons {
|
|
season_id Int @id @default(autoincrement())
|
|
start_date DateTime @default(now())
|
|
end_date DateTime?
|
|
ranks ranks[]
|
|
timetracker timetracker[]
|
|
}
|
|
|
|
model timetracker {
|
|
entry_id Int @id @default(autoincrement())
|
|
user_uid String
|
|
season_id Int
|
|
rank_id Int?
|
|
time Int
|
|
ranks ranks? @relation(fields: [rank_id], references: [rank_id])
|
|
seasons seasons @relation(fields: [season_id], references: [season_id])
|
|
user user @relation(fields: [user_uid], references: [uid])
|
|
|
|
@@unique([user_uid, season_id], name: "timetracker_user_uid_season_id_uindex")
|
|
@@index([rank_id], name: "timetracker_ranks_rank_id_fk")
|
|
@@index([season_id], name: "timetracker_seasons_season_id_fk")
|
|
}
|
|
|
|
model user {
|
|
uid String @id
|
|
name String?
|
|
timetracker timetracker[]
|
|
}
|