재현 가능한 로컬 데이터
Seed 가 신선한 DB 를 합리적 테스트 데이터로 채우는 스크립트 (SQL 또는 코드). 프로젝트 실행하는 모든 개발자가 같은 시작 상태 — 같은 username, 같은 product, 같은 edge case.
두 패턴
- Static SQL seed: INSERT 있는
seed.sql. 단순, deterministic, git commit 쉬움. - Programmatic seed: 데이터 생성하는 스크립트 (Faker, Mimesis, 모델 factory). 다양성과 양에 더 좋음; 정확히 재현 어려움.
멱등성 win
Seed 멱등하게 — 재실행이 크래시 안 나야. 고정 ID 행엔 ON CONFLICT DO NOTHING; 다른 모든 거엔 truncate-then-reload (dev 만). 두 번 실행 못 할 거는 결국 두 번 실행됨.