fix(media): 缩略图唯一索引改为部分索引,避免软删行占用 episode_id 导致登记冲突

This commit is contained in:
Zhou Weidong authored and trae-solo-agent committed 2026-10-27 21:07:10 +08:00
1 parent ddd2406f32
commit 5d139783c9
2 files changed
+8 -1

No files matched your search

@@ -0,0 +1,7 @@
-- 缩略图时间轴唯一约束改为部分索引:
-- media_thumbnail.deleted 为 @TableLogic 逻辑删除,软删行仍占用 episode_id 会导致
-- ThumbnailRecordService.upsert 的 delete+insert 触发 uk_media_thumbnail_episode 冲突。
-- 唯一性只约束未删除行(deleted = 0)。
DROP INDEX IF EXISTS uk_media_thumbnail_episode;
CREATE UNIQUE INDEX IF NOT EXISTS uk_media_thumbnail_episode
ON media_thumbnail (episode_id) WHERE deleted = 0;
+1 -1
View File
@@ -806,7 +806,7 @@ CREATE TABLE IF NOT EXISTS media_thumbnail (
deleted SMALLINT NOT NULL DEFAULT 0
);
CREATE UNIQUE INDEX IF NOT EXISTS uk_media_thumbnail_episode
ON media_thumbnail (episode_id);
ON media_thumbnail (episode_id) WHERE deleted = 0;
CREATE INDEX IF NOT EXISTS idx_media_thumbnail_drama
ON media_thumbnail (drama_id);
COMMENT ON TABLE media_thumbnail IS '单集缩略图雪碧图与 VTT 时间轴';