파괴적 연산 전 사전 확인
파괴적 연산 전 사전 확인
한 줄 정의
Write/Update/Delete 실행 전 대상 데이터를 1건 직접 찍어보고, 결과물이 원본과 분리된 경로인지 확인.
체크리스트
파괴적 연산(Write/Update/Delete) 전:
- [ ] 대상 데이터를 1건 실제로 찍어봤는가? (형태를 가정하지 말 것)
- [ ] 가공 결과물은 원본과 완전히 분리된 경로/row인가?
- [ ] upsert: true 쓸 때 — 경로가 의도치 않게 같아질 수 있는가?
사고 사례 (lattice):
- PDF 다운스케일 —
.pdf확장자 없는 UUID 경로에서 정규식 매치 실패 → 원본 덮어쓰기 - GCal 연동 —
email-integration/하위에 calendar 코드 넣으려다 네이밍 불일치 발견
구현 전 추가 확인
- 기존 디렉토리/파일명/변수명이 확장된 스코프를 담을 수 있는가?
- 실서비스 코드 변경이면 — branch 파고 PR 요청했는가?
적용 맥락
DB upsert, 파일 저장, 스토리지 업로드 등 모든 파괴적 연산.
Relationships
related_to RLS는 workspace_id 기준 (user_id 단독 금지)
related_to service_role은 API Route에서 금지
Backlinks
related_to Shadow Table Atomic Swap (무중단 데이터 교체)