-- 180_study_topics_uq_active.sql (2/6) -- active 주제끼리만 (user_id, name) 중복 방지. -- soft-deleted 행은 unique 제약에서 빠지므로 삭제된 주제명을 다시 만들 수 있다. -- 테이블 레벨 UNIQUE (user_id, name) 은 의도적으로 사용하지 않음 (soft delete 와 충돌). CREATE UNIQUE INDEX IF NOT EXISTS uq_study_topics_user_name_active ON study_topics (user_id, name) WHERE deleted_at IS NULL;