Files
Neo-ZQYY/db/etl_feiqiu/migrations/2026-03-20_drop_recall_index.sql

59 lines
2.1 KiB
PL/PgSQL
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
-- =============================================================================
-- 迁移:移除废弃的 dws_member_recall_index 表及 RLS 视图
-- 日期: 2026-03-20
-- 原因: RecallIndexTask 已于 2026-02-13 被 WBI+NCI 替代,但表和视图的 DDL
-- 在 2026-02-19 schema 重命名billiards_dws → dws时残留至今。
-- 表中无有效数据ETL 任务已删除),属于孤儿对象。
-- 影响: 无下游消费者依赖此表数据(后端 recall 维度已改用 v_dws_member_winback_index
-- 回滚: 从 git 历史恢复 DDL 定义并重建表和视图
-- =============================================================================
BEGIN;
-- 1. 删除 RLS 视图
DROP VIEW IF EXISTS app.v_dws_member_recall_index;
-- 2. 删除索引
DROP INDEX IF EXISTS dws.idx_dws_recall_display;
-- 3. 删除表CASCADE 会自动清理约束)
DROP TABLE IF EXISTS dws.dws_member_recall_index CASCADE;
-- 4. 删除序列
DROP SEQUENCE IF EXISTS dws.dws_member_recall_index_recall_id_seq;
COMMIT;
-- =============================================================================
-- 验证
-- =============================================================================
DO $$
DECLARE
tbl_exists BOOLEAN;
view_exists BOOLEAN;
seq_exists BOOLEAN;
BEGIN
SELECT EXISTS(
SELECT 1 FROM information_schema.tables
WHERE table_schema = 'dws' AND table_name = 'dws_member_recall_index'
) INTO tbl_exists;
SELECT EXISTS(
SELECT 1 FROM information_schema.views
WHERE table_schema = 'app' AND table_name = 'v_dws_member_recall_index'
) INTO view_exists;
SELECT EXISTS(
SELECT 1 FROM information_schema.sequences
WHERE sequence_schema = 'dws' AND sequence_name = 'dws_member_recall_index_recall_id_seq'
) INTO seq_exists;
RAISE NOTICE '表存在: % (应为 false)', tbl_exists;
RAISE NOTICE '视图存在: % (应为 false)', view_exists;
RAISE NOTICE '序列存在: % (应为 false)', seq_exists;
IF tbl_exists OR view_exists OR seq_exists THEN
RAISE EXCEPTION '清理不完整,仍有残留对象';
END IF;
END $$;