Firestoreの複合インデックスを削除する
Firestoreで複数条件を指定したり、複数フィールドでのソートを行う場合、複合インデックスを作成する必要がある。
アプリケーション側の仕様変更で別の複合インデックスを利用することになり、古い複合インデックスを削除しようとしたところハマったので対応方法を残しておく。
「Cloud Firestore でのインデックス管理 | Firebase」のドキュメントを読むとFirebaseコンソールから削除できると書かれていたが、2021/8/2時点だと削除メニューを見つけられなかった。

対応方法としてはfirebaseコマンドを使ってCLI経由で削除することができた。
- 既存のインデックスをローカルファイルとしてエクスポート。
yarn run -s firebase firestore:indexes > firestore.indexes.json
firestore.indexes.json
を編集し、不要になったインデックスを削除するインデックスをfirestoreにデプロイ
yarn run firebase deploy --only firestore:indexes
この時「ローカルファイルから消えているインデックスをFirestoreからも消して良いか?」と聞かれるので「y」を選択すれば、古い複合インデックスが削除される。