Files
tps-dashboard/backend/sql/002a_diagnostic_episode_number.sql
T

31 lines
968 B
SQL

-- ============================================================
-- 002a_diagnostic_episode_number.sql
-- 诊断脚本:将 episodes.episode_number 从全局 UNIQUE 改为 (air_year, episode_number) 复合 UNIQUE
-- 执行方式: psql -U postgres -d milsci_dev -f 002a_diagnostic_episode_number.sql
-- 前置条件:先设 $env:PGCLIENTENCODING="UTF8"
-- ============================================================
-- 三项诊断(任一异常停下找制片人)
SELECT
'total_rows' as check_name,
count(*) as value
FROM episodes
UNION ALL
SELECT
'null_air_date' as check_name,
count(*) as value
FROM episodes
WHERE air_date IS NULL
UNION ALL
SELECT
'duplicate_year_epnum' as check_name,
count(*) as value
FROM (
SELECT
EXTRACT(YEAR FROM air_date)::int as air_year,
episode_number
FROM episodes
WHERE original_episode_id IS NULL
GROUP BY 1, 2
HAVING count(*) > 1
) as dup;