-- relationship_building 保底任务：扩大生成范围
-- 依赖：biz.coach_tasks 表已存在（P4 创建，P17 扩展）
-- 回滚：见文件末尾 ROLLBACK 注释块

BEGIN;

-- ═══════════════════════════════════════════════════════════
-- 1. Partial unique index：每个 (assistant, member) 对最多 1 条 active 的 relationship_building
-- ═══════════════════════════════════════════════════════════

CREATE UNIQUE INDEX IF NOT EXISTS idx_coach_tasks_rb_unique_active
    ON biz.coach_tasks (site_id, assistant_id, member_id)
    WHERE task_type = 'relationship_building' AND status = 'active';

COMMENT ON INDEX biz.idx_coach_tasks_rb_unique_active IS
    '保证每个 (site_id, assistant_id, member_id) 最多 1 条 active 的 relationship_building 任务，支持 upsert';

COMMIT;

-- ═══════════════════════════════════════════════════════════
-- ROLLBACK
-- ═══════════════════════════════════════════════════════════
-- DROP INDEX IF EXISTS biz.idx_coach_tasks_rb_unique_active;
