🗃️ db: redesign collection schema with manual pivot table to media
This commit is contained in:
@ -49,11 +49,11 @@ model Media {
|
||||
createdAt DateTime @default(now())
|
||||
updatedAt DateTime @default(now()) @updatedAt
|
||||
|
||||
bannerPromotion HeroBanner[] @relation("MediaBannerPromotion")
|
||||
logs MediaLog[] @relation("MediaLogs")
|
||||
episodes Episode[] @relation("MediaEpisodes")
|
||||
collections Collection[] @relation("MediaCollections")
|
||||
reviews MediaReview[] @relation("MediaReviews")
|
||||
bannerPromotion HeroBanner[] @relation("MediaBannerPromotion")
|
||||
logs MediaLog[] @relation("MediaLogs")
|
||||
episodes Episode[] @relation("MediaEpisodes")
|
||||
reviews MediaReview[] @relation("MediaReviews")
|
||||
inCollections CollectionMedia[] @relation("CollectionMedia")
|
||||
|
||||
@@index([status, onDraft, deletedAt])
|
||||
@@index([mediaType])
|
||||
@ -420,7 +420,6 @@ model Collection {
|
||||
id String @id @db.Uuid
|
||||
name String @db.VarChar(115)
|
||||
slug String @db.VarChar(115)
|
||||
medias Media[] @relation("MediaCollections")
|
||||
owner User @relation("UserCollections", fields: [ownerId], references: [id])
|
||||
ownerId String @db.Uuid
|
||||
accessStatus AccessStatus @default(private)
|
||||
@ -431,10 +430,21 @@ model Collection {
|
||||
createdAt DateTime @default(now())
|
||||
updatedAt DateTime @default(now()) @updatedAt
|
||||
|
||||
media_saved CollectionMedia[] @relation("CollectionMedia")
|
||||
@@unique([slug, ownerId])
|
||||
@@map("collections")
|
||||
}
|
||||
|
||||
model CollectionMedia {
|
||||
id String @id @db.Uuid
|
||||
collection Collection @relation("CollectionMedia", fields: [collectionId], references: [id])
|
||||
collectionId String @db.Uuid
|
||||
media Media @relation("CollectionMedia", fields: [mediaId], references: [id])
|
||||
mediaId String @db.Uuid
|
||||
savedAt DateTime @default(now())
|
||||
@@unique([collectionId, mediaId])
|
||||
}
|
||||
|
||||
model WatchHistory {
|
||||
id String @id @db.Uuid
|
||||
episode Episode @relation("EpisodeWatchHistories", fields: [id], references: [id])
|
||||
|
||||
Reference in New Issue
Block a user