db: change id in episode model to composite

This commit is contained in:
2026-07-02 11:33:48 +07:00
parent 7a63b43c9f
commit 7387386aee

View File

@ -279,13 +279,14 @@ model UserFollow {
model UserWatchHistory {
user User @relation(fields: [user_id], references: [id])
episode Episode @relation(fields: [episode_id], references: [id])
episode Episode @relation(fields: [episode_number, media_id], references: [episode_number, media_id])
updated_at DateTime @updatedAt @db.Timestamptz()
user_id String @db.Uuid
episode_id String @db.Uuid
episode_number Int @db.SmallInt
media_id String @db.Uuid
@@id([user_id, episode_id])
@@id([user_id, episode_number, media_id])
@@map("user_watch_histories")
}
@ -376,6 +377,7 @@ model Media {
related_media MediaRelation[] @relation("MediaRelationRelatedMedia")
updated_by_id String? @db.Uuid
deleted_by_id String? @db.Uuid
episodes Episode[]
home_media_banners HomeMediaBanner[]
saved_to_collections MediaCollection[]
@ -640,8 +642,8 @@ model VoiceActor {
character_id String @db.Uuid
media_character MediaCharacter @relation(fields: [media_id, character_id], references: [media_id, character_id])
@@map("voice_actors")
@@unique([media_id, character_id, staff_id, language])
@@map("voice_actors")
}
model Staff {
@ -659,9 +661,7 @@ model Staff {
}
model Episode {
id String @id @default(uuid(7)) @db.Uuid
media_id String @db.Uuid
episode Int @db.SmallInt
episode_number Int @db.SmallInt
mal_url String? @db.VarChar(255)
forum_url String? @db.VarChar(255)
title String @db.VarChar(155)
@ -681,15 +681,17 @@ model Episode {
created_by_id String @db.Uuid
comments Comment[]
watch_histories UserWatchHistory[]
media Media @relation(fields: [media_id], references: [id])
media_id String @db.Uuid
@@index([media_id, episode])
@@id([media_id, episode_number])
@@map("episodes")
}
model Video {
id String @id @default(uuid(7)) @db.Uuid
service VideoService[]
Episode Episode @relation(fields: [episode_id], references: [id])
episode Episode @relation(fields: [episode_number, media_id], references: [episode_number, media_id])
video_code String @db.VarChar(255)
short_code String? @db.VarChar(255)
thumbnail_code String? @db.VarChar(255)
@ -698,7 +700,8 @@ model Video {
deleted_at DateTime? @db.Timestamptz()
updated_at DateTime @updatedAt @db.Timestamptz()
episode_id String @db.Uuid
episode_number Int @db.SmallInt
media_id String @db.Uuid
created_by_id String @db.Uuid
video_submission VideoSubmission?
@ -762,14 +765,15 @@ model VideoServiceSubmission {
model Comment {
id String @id @default(uuid(7)) @db.Uuid
user User @relation(fields: [user_id], references: [id])
episode Episode @relation(fields: [episode_id], references: [id])
episode Episode @relation(fields: [episode_number, media_id], references: [episode_number, media_id])
content String @db.Text
created_at DateTime @default(now()) @db.Timestamptz()
updated_at DateTime @updatedAt @db.Timestamptz()
deleted_at DateTime? @db.Timestamptz()
user_id String @db.Uuid
episode_id String @db.Uuid
episode_number Int @db.SmallInt
media_id String @db.Uuid
likes CommentLike[]
audit_logs CommentAuditLog[]
reports CommentReport[]