Firestoreのバックアップをローカルのemulatorにインポートする
手順
- 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オプションで指定するディレクトリ直下に作成します。
エミュレーターのエクスポートで生成されるファイルをベースにしています。
エミュレーターエクスポートした場合のファイル内容
{
"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があるディレクトリ}}
Author And Source
この問題について(Firestoreのバックアップをローカルのemulatorにインポートする), 我々は、より多くの情報をここで見つけました https://qiita.com/bobu_web/items/84a95ce2e88e7c8f6f40著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .