-- =============================================================================
-- 迁移：member_retention_clue 新增 is_hidden 列（维客线索隐藏功能）
-- 日期：2026-03-20
-- 关联 SPEC：tenant-admin-web
-- 需求：16.1, 16.2
-- 说明：
--   租户管理后台可隐藏线索使其不在小程序端展示，同时保留在管理后台可见。
--   已有数据通过 DEFAULT false 保证兼容（所有现有线索默认可见）。
-- =============================================================================

ALTER TABLE public.member_retention_clue
    ADD COLUMN IF NOT EXISTS is_hidden BOOLEAN NOT NULL DEFAULT false;

COMMENT ON COLUMN public.member_retention_clue.is_hidden
    IS '是否隐藏（true=管理后台保留但小程序不展示）';

-- =============================================================================
-- 回滚
-- =============================================================================
-- ALTER TABLE public.member_retention_clue DROP COLUMN IF EXISTS is_hidden;

-- =============================================================================
-- 验证
-- =============================================================================
-- 1) 字段存在性
-- SELECT column_name, data_type, column_default, is_nullable
-- FROM information_schema.columns
-- WHERE table_schema = 'public' AND table_name = 'member_retention_clue'
--   AND column_name = 'is_hidden';
-- 预期：1 行，boolean, false, NO

-- 2) 已有数据全部为 false
-- SELECT COUNT(*) FROM public.member_retention_clue WHERE is_hidden = true;
-- 预期：0

-- 3) 列注释存在
-- SELECT col_description(
--     (SELECT oid FROM pg_class WHERE relname = 'member_retention_clue'),
--     (SELECT ordinal_position FROM information_schema.columns
--      WHERE table_name = 'member_retention_clue' AND column_name = 'is_hidden')
-- );
-- 预期：'是否隐藏（true=管理后台保留但小程序不展示）'
