🗃️ db: add character relations to media and user preference schemas
This commit is contained in:
@ -61,6 +61,12 @@ enum media_season {
|
|||||||
fall
|
fall
|
||||||
}
|
}
|
||||||
|
|
||||||
|
enum character_role {
|
||||||
|
main
|
||||||
|
supporting
|
||||||
|
background
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -148,8 +154,8 @@ 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)
|
||||||
|
genre_preferences UserGenrePreference[]
|
||||||
|
rating_preferences UserRatingPreference[]
|
||||||
|
country_preferences UserCountryPreference[]
|
||||||
|
|
||||||
user User @relation(fields: [user_id], references: [id])
|
user User @relation(fields: [user_id], references: [id])
|
||||||
genre_preferences UserGenrePreference[]
|
char_as_partner_id String @db.Uuid
|
||||||
rating_preferences UserRatingPreference[]
|
|
||||||
country_preferences UserCountryPreference[]
|
|
||||||
@@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")
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
Reference in New Issue
Block a user