o2o-site-AEO/postgres-init/migrations/0007_story_rows_per_kind.sql
Mina Choi 328d9e18ee [feat] solution: 지역 이야기 생성 · 발행본 섹션 손질 · 마이그레이션 주석 축약
- 지역 이야기(가요·인물·연표·엽서·퀴즈) 생성 경로: story_service · grounding/story ·
  section_prompts. 지금까지 만들 자리가 없어 시안에만 손으로 넣은 3만 자였다
- 발행본 섹션: ItinerarySection · Carousel 레일 자동재생(use-rail-autoplay) ·
  Festival · LocalGuide · Weather · Gallery · Header/Footer
- 목업 payload 를 payloads-mockup/ 으로 분리 — 발행 대상과 섞이지 않게
- DB 새 구조 후속: site_payload · local_content_crud 조인 정리 · 테스트
- 마이그레이션 주석 축약: 9개 파일 합계 주석 비율 48% → 25%.
  실측과 밟은 함정만 남기고 논증은 커밋 메시지로 옮겼다

검증: site·frontend 빌드 통과

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-10 14:36:00 +09:00

12 lines
661 B
SQL

-- 0007 · 지역 이야기 다섯 종이 한 지역에 나란히 서게
--
-- uq_local_contents_single 은 날씨용(지역당 한 행)인데 이야기도 external_id 가 없어 같이 걸렸다.
-- 실측(52군산시): 54건 생성됐는데 첫 종류만 저장되고 넷이 unique 위반으로 떨어졌다 —
-- 잡은 성공으로 끝나고 화면만 비었다. single 은 kind 가 없는 행(=날씨)에만 건다.
DROP INDEX IF EXISTS public.uq_local_contents_single;
CREATE UNIQUE INDEX IF NOT EXISTS uq_local_contents_single
ON public.area_contents (region_code, content_type)
WHERE deleted = FALSE AND external_id IS NULL AND kind IS NULL;