-- 포스트 보드 기본 카테고리 시드 — 편집형 일방 발행 taxonomy (Unity 5-mirror)
-- 배경: post_categories 는 운영자 CRUD 대상이나(D1/G2), 런칭 시 기본 탭이 곧바로
--   렌더되도록 기본 5개 카테고리를 시드한다. 이후 운영자가 관리화면에서 추가/수정/
--   비활성 가능. 카테고리 축은 Unity 공식 블로그(News/DevBlog/Games/Engine&platform/
--   Industry)를 미러링한 편집 taxonomy 다 — 포스트 보드가 제작자 상호 포럼이 아니라
--   일방 발행/소비 모델이기 때문.
--
-- 이 프로젝트는 flyway/liquibase 가 없다(db/apply-local-ddl.sh 참고). 이 파일은
--   작성만 한다. DB 적용은 orchestrator 가 사용자 확인 후 수행한다.
--
-- 멱등: slug UNIQUE(ux_post_categories_slug) 기준 ON CONFLICT DO NOTHING →
--   재실행해도 중복 미생성. 기존에 동일 slug 가 있으면 건드리지 않는다(운영자 변경 보존).
--
-- 적용 (로컬 dev 스키마, 가동중 컨테이너):
--   docker exec -e PGOPTIONS="-c search_path=dev" -i bibimbap-db \
--     psql -U bibimbap -d bibimbap -v ON_ERROR_STOP=1 -f - < db/migrations/20260724-post-categories-seed.sql
-- 적용 (운영): 운영 스키마 search_path 로 동일 실행.

INSERT INTO post_categories (name, slug, sort_order, is_active) VALUES
    ('공지',          'notice',    1, true),
    ('개발일지',      'devlog',    2, true),
    ('쇼케이스',      'showcase',  3, true),
    ('자료·튜토리얼', 'resources', 4, true),
    ('업계 소식',     'industry',  5, true)
ON CONFLICT (slug) DO NOTHING;

-- 검증 (적용 후 위 slug 5건 전부 존재해야 함):
-- SELECT id, name, slug, sort_order, is_active FROM post_categories ORDER BY sort_order;

-- 롤백 (이 시드만 제거 — 운영자가 추가 생성한 카테고리는 보존):
-- DELETE FROM post_categories WHERE slug IN ('notice','devlog','showcase','resources','industry');
-- 주의: posts.category_id 는 NOT NULL FK 다. 해당 카테고리에 연결된 글이 있으면
--   FK 위반으로 삭제 불가 → 글을 다른 카테고리로 이관하거나 is_active=false 로 숨길 것.
