Firebase Firestore 인덱스 삭제 질문 해결: 배포 중 안전하게 판단하기

2026.05.07·수정 2026.09.13·약 4분·작성: 해비·블로그 소개

학습 목표와 사전 지식

목표: 인덱스 삭제 질문의 의미를 읽고 실행 중인 쿼리와 비교해 보존·삭제를 결정합니다.
사전 지식: firebase deploy, 복합 쿼리, 버전 관리

Would you like to delete these indexes?는 로컬 정의와 원격 인덱스 차이를 정리할지 묻는 질문입니다. 필요 여부를 모르면 N으로 보존하고 조사합니다. 문서는 지워지지 않아도 쿼리가 실패할 수 있습니다.

최소 재현 조건

개발 프로젝트 Console에 복합 인덱스를 만든 뒤 로컬 firestore.indexes.json에 그 정의가 없는 상태에서 인덱스 배포를 시도하면 삭제 후보가 표시될 수 있습니다. CLI 버전에 따라 문구가 다를 수 있습니다. 실제 운영 인덱스를 시험 삼아 삭제할 필요는 없습니다.

터미널 · 읽기 확인 명령; 출력의 대상 프로젝트와 정의를 로컬에서 비교

firebase --version
firebase use
firebase firestore:indexes --project YOUR_PROJECT_ID
Firebase Firestore 인덱스 삭제 질문 해결 원인 진단 흐름

수정 위치: firestore.indexes.json

예를 들어 reviews에서 productId == 값, createdAt 내림차순을 사용하는 화면이 살아 있다면 아래 정의를 기존 indexes 배열에 병합합니다. 파일 전체를 예시 하나로 덮어쓰지 않습니다. Console에서 만든 인덱스가 코드에 누락된 경우 삭제보다 정의를 회수하는 것이 먼저입니다.

firestore.indexes.json · 최소 파일 예시; 실제 파일에는 기존 정의를 보존

{
  "indexes": [
    {
      "collectionGroup": "reviews",
      "queryScope": "COLLECTION",
      "fields": [
        {
          "fieldPath": "productId",
          "order": "ASCENDING"
        },
        {
          "fieldPath": "createdAt",
          "order": "DESCENDING"
        }
      ]
    }
  ],
  "fieldOverrides": []
}
판단 선택·조치
사용 중인 쿼리·관리자 화면·구버전 앱이 존재 N, 원격 정의를 코드로 가져오기
참조 여부를 모름 N, 호출 위치와 배포 버전 조사
모든 호출 제거와 롤백 영향 검토 완료 별도 변경으로 삭제 검토

조회 성공으로 확인해야 하는 이유

인덱스 생성은 빌드 시간이 필요합니다. 배포 명령 종료만으로 모든 쿼리가 준비됐다고 보지 말고 Console에서 준비 상태를 확인한 뒤 실제 복합 쿼리와 페이지네이션을 실행합니다. 에뮬레이터는 복합 인덱스 요구를 운영과 동일하게 강제하지 않으므로 이 확인은 개발용 실제 Firestore에서도 필요합니다.

Firebase Firestore 인덱스 삭제 질문 해결 해결 단계 체크리스트

삭제 후 문제라면

저장한 정의를 복원해 다시 배포하고 생성 완료까지 기다립니다. 재생성이 가능하다는 말은 즉시 복구를 뜻하지 않습니다. 삭제 후보·결정 이유·영향 쿼리·복원 파일을 함께 기록하면 다음 배포 때 같은 질문을 반복 조사하지 않아도 됩니다.

직접 확인할 결과

원격 인덱스와 로컬 JSON 필드 순서 대조
실제 개발 DB 쿼리 확인
재생성 대기·롤백 계획 기록

검증 범위와 기준일

공식 문서 확인일: 2026-09-13. 웹 SDK 예제는 모듈형 API 기준입니다. 이 글의 코드·구조 정적 검토와 실제 클라우드 인증·저장·배포 검증을 구분합니다. 본인 개발 Firebase 프로젝트의 실제 인증·권한·배포 요청은 이 편집 환경에서 실행하지 않았습니다.

이어서 학습하기

공식 문서

이 글이 도움이 되었나요?

조회 중

Firebase 학습 순서

필수 13개 · 전체 19개

읽음 기록 관리

전체 과정 목차 (19개)
  1. 필수 길잡이 · Firebase 실무 로드맵: Auth, Firestore, Storage, Functions
  2. 필수 학습 · Firebase 초기화 구조: Next.js firebase.ts 설계 기준
  3. 필수 학습 · Firebase Authentication 사용 기준: 로그인 유지와 비밀번호 재설정
  4. 필수 학습 · Firebase 보안 규칙 설계: Firestore와 Storage 권한 관리하기
  5. 필수 학습 · Firestore CRUD 사용법: 컬렉션 구조와 읽기 쓰기 흐름
  6. 필수 학습 · Firebase Auth Context 설계: 로그인 권한과 라우팅 관리하기
  7. 필수 학습 · Firebase Storage 이미지 업로드 사용법: 상품 이미지 관리 흐름 만들기
  8. 필수 학습 · Firebase Custom Claims 사용법: 관리자 권한 구분하기
  9. 필수 학습 · Firebase Functions v2 사용법: 트리거 배포 Secret 처리
  10. 필수 학습 · Firestore seed data 설계: 리뷰 더미 데이터 구조 잡기
  11. 선택 참고 · Firebase 배포 제외 파일 설정: firebase.json의 ignore 사용법
  12. 선택 참고 · Firebase Firestore 인덱스 삭제 질문 해결: 배포 중 안전하게 판단하기 현재 글
  13. 선택 참고 · Firebase Auth unauthorized-domain 오류 해결: 로그인 도메인 설정 확인
  14. 선택 참고 · Firebase permission-denied 오류 해결: Firestore Rules 체크리스트
  15. 선택 참고 · Firebase Storage 이미지 오류 해결: 403·404·token·Rules 확인법
  16. 선택 참고 · Firebase CORS 오류 해결: Storage 이미지 업로드가 막힐 때 확인할 설정
  17. 필수 선수 · Firebase 실무 오류 해결 모음: Storage, Firestore, Auth 체크리스트
  18. 필수 학습 · Firestore undefined 오류 해결: 선택 필드가 저장을 막을 때
  19. 필수 학습 · Firestore arrayUnion 중첩 배열 오류: 배열을 그대로 넘기면 실패하는 이유

새 글 받아보기

RSS 리더에서 BlogFlow의 새 글을 확인할 수 있습니다.

RSS 피드 구독하기

댓글 남기기