perf: change country to enum values

This commit is contained in:
Rafi Arrafif
2026-01-21 21:54:42 +07:00
parent e33c0264fa
commit 87ec339dba

View File

@ -26,23 +26,22 @@ model Media {
id String @id @default(uuid()) id String @id @default(uuid())
title String @db.Text title String @db.Text
titleAlternative Json titleAlternative Json
slug String @db.Text slug String @db.Text @unique
malId Int? @unique
pictureMedium String @db.Text pictureMedium String @db.Text
pictureLarge String @db.Text pictureLarge String @db.Text
genres Genre[] @relation("MediaGenres") genres Genre[] @relation("MediaGenres")
country Country @relation("MediaCounty", fields: [countryId], references: [id]) country Country @default(JP)
countryId String status Status
isAiring Boolean @default(false) startAiring DateTime?
isTba Boolean @default(false) finishAiring DateTime?
startAiring DateTime
endAiring DateTime
synopsis String @db.Text synopsis String @db.Text
nfsw Boolean @default(false) nfsw Boolean @default(false)
ageRating AgeRating ageRating AgeRating
mediaType MediaType mediaType MediaType
source Source source Source
studios Studio[] @relation("MediaStudios") studios Studio[] @relation("MediaStudios")
pendingUpload Boolean @default(true) onDraft Boolean @default(false)
uploader User @relation("UserUploadedMedias", fields: [uploadedBy], references: [id]) uploader User @relation("UserUploadedMedias", fields: [uploadedBy], references: [id])
uploadedBy String uploadedBy String
deletedAt DateTime? deletedAt DateTime?
@ -104,22 +103,6 @@ model Studio {
@@map("studios") @@map("studios")
} }
model Country {
id String @id @default(uuid())
name String @db.VarChar(255)
code String @db.VarChar(5)
flag String @db.VarChar(10)
creator User @relation("UserCreatedCountry", fields: [createdBy], references: [id])
createdBy String
deletedAt DateTime?
createdAt DateTime @default(now())
updatedAt DateTime @default(now()) @updatedAt
medias Media[] @relation("MediaCounty")
user_show_countries UserPreference[] @relation("UserShowContries")
@@map("countries")
}
model Episode { model Episode {
id String @id @default(uuid()) id String @id @default(uuid())
media Media @relation("MediaEpisodes", fields: [mediaId], references: [id]) media Media @relation("MediaEpisodes", fields: [mediaId], references: [id])
@ -222,7 +205,6 @@ model User {
media_approveds MediaLog[] @relation("UserApprovedMedias") media_approveds MediaLog[] @relation("UserApprovedMedias")
genres Genre[] @relation("UserCreatedGenres") genres Genre[] @relation("UserCreatedGenres")
studios Studio[] @relation("UserCreatedStudios") studios Studio[] @relation("UserCreatedStudios")
countries Country[] @relation("UserCreatedCountry")
episodes Episode[] @relation("UserEpisodes") episodes Episode[] @relation("UserEpisodes")
episode_likes EpisodeLike[] @relation("UserEpisodeLikes") episode_likes EpisodeLike[] @relation("UserEpisodeLikes")
videos Video[] @relation("UserVideos") videos Video[] @relation("UserVideos")
@ -258,7 +240,7 @@ model UserPreference {
videoQuality VideoQuality @default(Q1080) videoQuality VideoQuality @default(Q1080)
serviceDefault VideoService? @relation("UserServiceDefault", fields: [serviceDefaultId], references: [id]) serviceDefault VideoService? @relation("UserServiceDefault", fields: [serviceDefaultId], references: [id])
serviceDefaultId String? serviceDefaultId String?
showContries Country[] @relation("UserShowContries") hideContries Country[]
favoriteGenres Genre[] @relation("UserFavoriteGenres") favoriteGenres Genre[] @relation("UserFavoriteGenres")
createdAt DateTime @default(now()) createdAt DateTime @default(now())
updatedAt DateTime @default(now()) @updatedAt updatedAt DateTime @default(now()) @updatedAt
@ -563,6 +545,17 @@ enum Source {
light_novel light_novel
game game
} }
enum Status {
FINISHED_AIRING @map("Finished Airing")
CURRENTLY_AIRING @map("Currently Airing")
NOT_YET_AIRED @map("Not yet aired")
}
enum Country {
JP @map("Japanese")
EN @map("English")
ID @map("Indonesia")
KR @map("Korea")
}
// MediaLog Enum // MediaLog Enum
enum MediaOperation { enum MediaOperation {