手順
- firestoreのデータをエクスポート
- エクスポートされたデータをCloudStorageからダウンロード
- firestoreエミュレーターにダウンロードしたデータをインポートして起動する
1. firestoreのデータをエクスポート
くわしくはこちら参照
gcloud firestore export gs://{{project_name}}.appspot.com/ --async
2. エクスポートされたデータをCloudStorageからダウンロード
詳しくはこちら参照
$ gsutil -m cp -R gs://{{project_name}}.appspot.com/ ./store_export
3. firestoreエミュレーターにダウンロードしたデータをインポートして起動する
問題はここ。
ローカルでエミュレーターのデータをエクスポート/インポートに関してはこちらにあるがデータ形式をみたところCloudStorage上も同じようなので、同じようにファイルを指定すればインポートできましたが、ダウンロードしたそのままではできなかったため備忘録を残そうと思います。
firebase-export-metadata.jsonを作成
importオプションで指定するディレクトリ直下に作成します。
エミュレーターのエクスポートで生成されるファイルをベースにしています。
エミュレーターエクスポートした場合のファイル内容
firebase-export-metadata.json
{
"version": "8.4.3",
"firestore": {
"version": "1.11.4",
"path": "firestore_export",
"metadata_file": "firestore_export/firestore_export.overall_export_metadata"
}
}
jsonのpathとmetadata_fileを編集
pathはall_namespaces
が直下にあるディレクトリパス。
metadata_fileは.overall_export_metadata
のファイル名を指定する。
補足
overall_export_metadataのファイル名がそのままだと:
が使われておりmacのfinderだと/
になるので注意
インポートオプションを指定して起動
$ firebase emulators:start --only firestore --import {{firebase-export-metadata.jsonがあるディレクトリ}}