diff --git a/sql/migrate-k109-legacy-drama-like-cleanup.sql b/sql/migrate-k109-legacy-drama-like-cleanup.sql new file mode 100644 index 0000000..90c01fe --- /dev/null +++ b/sql/migrate-k109-legacy-drama-like-cleanup.sql @@ -0,0 +1,23 @@ +-- Author: fruit.com.cn +-- K109 清理历史遗留的「按整部剧点赞」数据。 +-- 产品口径:收藏按剧,点赞与评论按集。客户端点赞入口只作用于当前剧集 +-- (targetType = EPISODE),以下 DRAMA 记录均为 2026-10-21 15:49 之前的旧模型遗留。 +BEGIN; + +UPDATE content_like +SET deleted = 1 +WHERE target_type = 'DRAMA' AND deleted = 0; + +-- 剧级点赞数由这些行累加而来,随软删一并按实际剩余行数校准,避免详情页展示虚高数字。 +UPDATE drama d +SET like_count = sub.cnt +FROM ( + SELECT d2.id, COUNT(l.id) AS cnt + FROM drama d2 + LEFT JOIN content_like l + ON l.target_type = 'DRAMA' AND l.target_id = d2.id AND l.deleted = 0 + GROUP BY d2.id +) sub +WHERE d.id = sub.id AND d.like_count IS DISTINCT FROM sub.cnt; + +COMMIT;