Local Emulator Suiteを使ってFirestoreのローカル開発を行う際に初期データ(seeds)を用意する

公開日時
更新日時

Firebase Local Emulator Suiteを使ってFirestoreのローカル開発を行う際に、初期データ(seeds)を用意したかったので対応方法を調べた。

export

yarn run firebase emulators:start

ローカルエミュレータを起動したあと、↓でローカルFirestoreの管理画面にアクセスできる。

http://localhost:4000/firestore

GUIでポチポチしながら手動でデータ登録を行う、もしくはDeveloperToolsを開くと window.firestore が利用可能になっているので

firestore.doc('sample_collection/test_id').set({ hello: "world" })

のようにしてコードでデータ追加ができる。地味に便利。

一通りの初期データが作成できたら↓で、現時点のデータを fixtures/local 以下にexportする。

yarn run firebase emulators:export fixtures/local

import

Emulator Suiteを一度停止して、次回からは↓のように import オプションを付与してエミュレータを起動するようにすると初期データがimportされた状態でFirestoreが起動する。

yarn run firebase emulators:start --import=fixtures/local

参考


Related #firebase

Firestore エミュレータ使用時にデータをリセットする

エミュレータの場合のみ一括削除用のAPIが用意されている

Error: Input required and not supplied: firebaseServiceAccount

Dependabotによって作成されたPull Requestのみで発生している

Firebase公式Github ActionsでPull RequestごとにHostingのプレビュー環境を作る

手軽にプレビュー環境で動作確認できるようになったので、継続的なアップデートがやりやすくなった