-- 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;