피드로 돌아가기
Dev.toDatabase
원문 읽기
Firestore 스키마 혼돈과 보안 규칙 지옥을 해결하는 Firemap 설계
I spent 7 years fighting Firestore's worst problems. So I built a tool to fix them.
AI 요약
Context
Firestore의 유연한 스키마 구조로 인한 데이터 일관성 결여. 유지보수가 불가능한 거대 규모의 Security Rules 파일 생성. 런타임 타입 안전성 부족으로 인한 잦은 데이터 오류 발생.
Technical Solution
- Visual Designer를 통한 스키마 정의 및 TypeScript 모델, Security Rules, Cloud Functions의 자동 코드 생성 구조
- 실제 DB 컬렉션을 스캔하여 정의된 스키마와 실제 데이터 간의 불일치를 탐지하는 Crawler 기능 구현
- Decorator 기반의 TypeScript ODM을 도입하여 컴파일 타임 타입을 넘어선 런타임 데이터 검증 로직 확보
- 스키마 정의 기반의 Security Rules 자동 생성으로 수동 편집 과정의 휴먼 에러 제거 및 동기화 유지
- 모델 정의와 연동된 Typed Cloud Functions 생성으로 데이터 변경 시 영향 범위 자동 업데이트 체계 구축
Key Takeaway
스키마리스 데이터베이스일수록 어플리케이션 계층에서의 엄격한 검증 레이어와 단일 진실 공급원(Single Source of Truth) 기반의 코드 생성 전략이 필수적임.
실천 포인트
Firestore 프로젝트 규모 확장 시, 수동 Security Rules 관리 대신 스키마 기반 자동 생성 도구 도입 검토 필요