refactor-db #33

Merged
vivy-agent merged 42 commits from refactor-db into main 2026-05-26 21:33:21 +07:00
7 changed files with 7351 additions and 2356 deletions
Showing only changes of commit 0684c2511b - Show all commits

View File

@ -61,6 +61,12 @@ enum media_season {
fall fall
} }
enum character_role {
main
supporting
background
}
/** /**
@ -149,7 +155,7 @@ model UserSession {
model UserPreference { model UserPreference {
user_id String @id @db.Uuid user_id String @id @db.Uuid
// char_as_partner char_as_partner Character @relation(fields: [char_as_partner_id], references: [id])
comment_picture String? @db.VarChar(255) comment_picture String? @db.VarChar(255)
enable_watch_history Boolean @default(true) enable_watch_history Boolean @default(true)
enable_search_history Boolean @default(false) enable_search_history Boolean @default(false)
@ -162,11 +168,12 @@ model UserPreference {
publish_partner Boolean @default(true) publish_partner Boolean @default(true)
subscribe_to_newsletter Boolean @default(true) subscribe_to_newsletter Boolean @default(true)
enable_security_alerts Boolean @default(true) enable_security_alerts Boolean @default(true)
user User @relation(fields: [user_id], references: [id])
genre_preferences UserGenrePreference[] genre_preferences UserGenrePreference[]
rating_preferences UserRatingPreference[] rating_preferences UserRatingPreference[]
country_preferences UserCountryPreference[] country_preferences UserCountryPreference[]
user User @relation(fields: [user_id], references: [id])
char_as_partner_id String @db.Uuid
@@map("user_preferences") @@map("user_preferences")
} }
@ -257,7 +264,7 @@ model Media {
demographics MediaDemographic[] demographics MediaDemographic[]
relations MediaRelation[] @relation("MediaRelationMedia") relations MediaRelation[] @relation("MediaRelationMedia")
external_links MediaExternalLink[] external_links MediaExternalLink[]
// characters MediaCharacter[] characters MediaCharacter[]
// approved_by User? @relation(fields: [approver_id], references: [id]) // approved_by User? @relation(fields: [approver_id], references: [id])
// approved_at Boolean @default(false) // approved_at Boolean @default(false)
// created_by User? @relation(fields: [created_by_id], references: [id]) // created_by User? @relation(fields: [created_by_id], references: [id])
@ -442,6 +449,34 @@ model MediaExternalLink {
@@map("media_external_links") @@map("media_external_links")
} }
model MediaCharacter {
media Media @relation(fields: [media_id], references: [id])
character Character @relation(fields: [character_id], references: [id])
role character_role
media_id String @db.Uuid
character_id String @db.Uuid
@@id([media_id, character_id])
@@map("media_characters")
}
model Character {
id String @id @db.Uuid @default(uuid(7))
name String @db.VarChar(255)
image String? @db.VarChar(255)
small_image String? @db.VarChar(255)
mal_id Int? @unique
fanpage_url String? @db.VarChar(255)
liked Int @default(0)
deleted_at DateTime? @db.Timestamptz()
updated_at DateTime @updatedAt @db.Timestamptz()
created_at DateTime @default(now()) @db.Timestamptz()
partnered_user UserPreference[]
media_characters MediaCharacter[]
@@map("characters")
}
/** /**