🗃️ db: add media-to-media relations

This commit is contained in:
2026-05-17 21:00:00 +07:00
parent eb7a3ba935
commit 743abc0b7a
2 changed files with 924 additions and 908 deletions

File diff suppressed because it is too large Load Diff

View File

@ -255,7 +255,7 @@ model Media {
explicit_genres MediaExplicitGenre[] explicit_genres MediaExplicitGenre[]
themes MediaTheme[] themes MediaTheme[]
demographics MediaDemographic[] demographics MediaDemographic[]
// relations MediaRelation[] 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])
@ -271,6 +271,7 @@ model Media {
status_id String @db.Uuid status_id String @db.Uuid
age_rating_id String? @db.Uuid age_rating_id String? @db.Uuid
country_id String? @db.Uuid country_id String? @db.Uuid
related_media MediaRelation[] @relation("MediaRelationRelatedMedia")
@@map("medias") @@map("medias")
} }
@ -420,6 +421,17 @@ model Genre {
@@map("genres") @@map("genres")
} }
model MediaRelation {
media Media @relation(fields: [media_id], references: [id], name: "MediaRelationMedia")
related_media Media @relation(fields: [related_media_id], references: [id], name: "MediaRelationRelatedMedia")
relation_type String @db.VarChar(50)
media_id String @db.Uuid
related_media_id String @db.Uuid
@@id([media_id, related_media_id])
@@map("media_relations")
}
/** /**