-- 删除 platform=bilibili(快手?否:B站) 和 platform=kuaishou(快手) 的所有数据，
-- 并缩减 platform_accounts.platform 枚举（移除 'bilibili'、'kuaishou' 两个值）
-- 执行顺序：先删各关联表数据（评论/作品日统计/作品/发布结果/账号级统计），最后删 platform_accounts，再 ALTER 枚举
-- 说明：多数关联表对 platform_accounts 有 ON DELETE CASCADE，显式删除仅为清晰与安全兜底
-- !!! 执行前请备份数据库；本脚本不可逆 !!!
-- 执行日期: 2026-06-23

USE media_manager;

-- 1. 删除评论（comments.platform 为 VARCHAR；account_id 外键为 CASCADE，此处按 platform 显式删）
DELETE FROM comments
WHERE platform IN ('bilibili', 'kuaishou');

-- 2. 删除作品每日统计（先于 works 删除，避免外键 CASCADE 时序问题；CASCADE 也会自动删）
DELETE FROM work_day_statistics
WHERE work_id IN (SELECT id FROM works WHERE platform IN ('bilibili', 'kuaishou'));

-- 3. 删除作品（work_day_statistics 已在上一步清理；accountId 外键 CASCADE 也会处理残留）
DELETE FROM works
WHERE platform IN ('bilibili', 'kuaishou');

-- 4. 删除发布结果（publish_results.platform 为 VARCHAR；account_id CASCADE 也会删）
DELETE FROM publish_results
WHERE platform IN ('bilibili', 'kuaishou');

-- 5. 删除账号级数据统计（analytics_data 无 platform 列，按 account_id 子查询；account_id CASCADE 也会删）
DELETE FROM analytics_data
WHERE account_id IN (SELECT id FROM platform_accounts WHERE platform IN ('bilibili', 'kuaishou'));

-- 6. 删除账号每日统计（user_day_statistics 无 platform 列，按 account_id 子查询；account_id CASCADE 也会删）
DELETE FROM user_day_statistics
WHERE account_id IN (SELECT id FROM platform_accounts WHERE platform IN ('bilibili', 'kuaishou'));

-- 7. 删除平台账号（核心；上述关联表已显式清理，CASCADE 也会兜底）
DELETE FROM platform_accounts
WHERE platform IN ('bilibili', 'kuaishou');

-- 8. 缩减 platform_accounts.platform 枚举：移除 'bilibili'、'kuaishou'
--    新枚举与 database/schema.sql 保持一致（7 值）
ALTER TABLE platform_accounts
MODIFY COLUMN platform ENUM('douyin','weixin_video','xiaohongshu','toutiao','baijiahao','qie','dayuhao') NOT NULL;

-- 提示：publish_tasks.target_accounts (JSON) 可能仍引用已删除的 bilibili/kuaishou 账号 id，
-- 这些历史任务的 target_accounts 会存在悬空引用，但不影响新任务，可按需手动清理或保留为历史记录。