58 votes

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

Le service de base de données google firestore fournit-il une sauvegarde? Si tel est le cas, comment puis-je sauvegarder la base de données et comment puis-je restaurer en cas d'erreur?

49voto

Gal Bracha Points 1360

Mise à jour: Il est maintenant possible de sauvegarder et de restaurer Firebase Firestore l'utilisation de Cloud Firestore réussi à l'exportation et à l'importation de service

Vous le faites par:

  1. Créer un Nuage seau de Rangement pour votre projet - assurez-vous que c'est un régional en nous-central1 ou 2 / multi régional type de seau

  2. Configurer gcloud pour votre projet à l'aide d' gcloud config set project [PROJECT_ID]

L'EXPORTATION

L'exportation tout en appelant gcloud alpha firestore export gs://[BUCKET_NAME] Ou de l'Exportation d'une collection spécifiqueà l'aide de gcloud alpha firestore export gs://[BUCKET_NAME] --collection-ids='[COLLECTION_ID_1]','[COLLECTION_ID_2]'

L'IMPORTATION

Importer tout en appelant gcloud alpha firestore import gs://[BUCKET_NAME]/[EXPORT_PREFIX]/ où [BUCKET_NAME] et [EXPORT_PREFIX] point à 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 en appelant: gcloud alpha firestore import --collection-ids='[COLLECTION_ID_1]','[COLLECTION_ID_2]' gs://[BUCKET_NAME]/[EXPORT_PREFIX]/

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

32voto

hatboysam Points 1191

Mise à jour en juillet 2018: le Cloud Firestore prend désormais en charge géré importation et l'exportation 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 le moment, nous ne proposons pas géré de sauvegarde ou d'importation/exportation de services. 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 version Bêta.

La meilleure façon de sauvegarder le droit maintenant d'écrire votre propre script à l'aide de notre Java/Python/Nœud.js/Go server Sdk, il devrait être assez simple de télécharger tous les documents de chaque collection et de les écrire de retour si besoin.

18voto

Nicholas Tsaoucis Points 794

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

Est-ce un outil qui a été créé pour faire exactement cela.

(Je ne l'ai pas créé, je l'ai simplement ajouté ici car les gens trouveront cette question)

6voto

user3440076 Points 61

J'utilise les solutions suivantes pour effectuer des sauvegardes quotidiennes au feu:

J'ai installé ceci globalement: https://www.npmjs.com/package/firestore-backup-restore

J'ai un travail 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"
 

4voto

jloosli Points 835

J'ai écrit un outil qui parcourt les collections / documents de la base de données et exporte le tout dans un fichier json unique. De plus, il importera également la même structure (utile pour le clonage / le déplacement de bases de données Firestore). Il est publié sous forme de package NPM. N'hésitez pas à l'essayer et à donner votre avis.

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

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X