Firestore nouvelle base de données - Comment puis-je sauvegarder

est-ce que le service de base de données de Google firestore fournit une sauvegarde? Si oui, comment faire une sauvegarde de la base de données et comment puis-je restaurer en cas d'erreur?

21
demandé sur Gal Bracha 2017-10-14 19:10:51

5 réponses

mise à jour juillet 2018: Cloud Firestore prend désormais en charge l'importation et l'exportation gérées de données. Voir la documentation pour plus de détails:

https://firebase.google.com/docs/firestore/manage-data/export-import


[Googleurs ici] non, pour l'instant nous n'offrons pas de service de sauvegarde ou d'import/export géré. C'est quelque chose que nous allons certainement offrir à l'avenir, nous n'avons tout simplement pas l'obtenir prêt pour la première Bêta publier.

la meilleure façon de sauvegarder maintenant est d'écrire votre propre script en utilisant notre Java/Python / Node.js / Go server SDKs, il devrait être assez simple de télécharger tous les documents de chaque collection et de les écrire en retour si vous avez besoin.

17
répondu Sam Stern 2018-08-28 16:45:29

https://www.npmjs.com/package/firestore-backup

Est un outil qui a été créé pour faire juste cela.

(je n'ai pas de créer, il suffit de l'ajouter ici que les gens vont trouver cette question)

12
répondu Nicholas Tsaoucis 2017-11-06 05:15:14

mise à Jour: il est maintenant possible de sauvegarder et de restaurer Firebase Firestore en utilisant Cloud Firestore managed export and import service

Tu fais:

  1. Créer un Nuage seau de Rangement pour votre projet - assurez-vous qu'il s'agit d'une région aux États-Unis-central1 ou 2 / multi-régional type de seau

  2. configurer gcloud pour votre projet en utilisant gcloud config set project [PROJECT_ID]

EXPORT

Exporter tous en appelant gcloud alpha firestore export gs://[BUCKET_NAME] Ou Exporter une collection à l'aide de gcloud alpha firestore export gs://[BUCKET_NAME] --collection-ids='[COLLECTION_ID_1]','[COLLECTION_ID_2]'

IMPORT

importer tout en appelant gcloud alpha firestore import gs://[BUCKET_NAME]/[EXPORT_PREFIX]/ où [BUCKET_NAME] et [EXPORT_PREFIX] pointent vers l'emplacement de vos fichiers d'exportation. Par exemple - gcloud alpha firestore import gs://exports-bucket/2017-05-25T23:54:39_76544/

Importer une collection spécifique par appel: gcloud alpha firestore import --collection-ids='[COLLECTION_ID_1]','[COLLECTION_ID_2]' gs://[BUCKET_NAME]/[EXPORT_PREFIX]/

les instructions complètes sont disponibles ici: https://firebase.google.com/docs/firestore/manage-data/export-import

5
répondu Gal Bracha 2018-10-07 12:30:25

j'utilise la solution de rechange suivante afin d'avoir des sauvegardes journalières de firestore:

j'ai installé ce dans le monde entier: https://www.npmjs.com/package/firestore-backup-restore

j'ai une tâche cron qui ressemble à ceci:

0 12 * * *  cd ~/my/backup/script/folder && ./backup-script.sh

Et mon backup-script.sh ressemble à ceci:

#!/bin/sh

. ~/.bash_profile

export PATH=/usr/local/bin/

dt=$(/bin/date '+%d-%m-%Y %H:%M:%S');
echo "starting backup for $dt"
firestore-backup-restore -a ~/path/to/account/credentials/file.json -B ./backups/"$dt"
4
répondu user3440076 2018-01-15 09:28:49

j'ai écrit un outil qui traverse les collections/documents de la base de données et exporte tout dans un seul fichier json. De plus, il importera la même structure (utile pour cloner/déplacer les bases de données Firestore). Il est publié sous forme de paquet NPM. N'hésitez pas à essayer et donner de la rétroaction.

https://www.npmjs.com/package/node-firestore-import-export

2
répondu jloosli 2018-04-24 23:22:08