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

SharedArrayBuffer updates in Android Chrome 88 and Desktop Chrome 92

クロスオリジン分離対応を実施

Firebase Emulator Suiteで起動しているFunctionsから本番のFirestoreにアクセスする

functionsのみエミュレータを使うようにするとできる

Firebase Functions呼び出し時に Error: function terminated. が発生した場合

firebase functions:logで詳細を確認できる

Cloud BuildでFirebase Hostingのデプロイを行う

リポジトリへのpush以外をトリガーにしたい場合に使用

Firebase FunctionsでonCallで実装しているにも関わらずCORSエラーが発生した場合

Cloud Functions(GCP)の管理画面を確認してみる

JestでFirestoreセキュリティルールのテストを書く

Github ActionsでCIを回せるようになった