2013-03-21 27 views

Odpowiedz

9

Wszystkie nasze dane są dostępne za pośrednictwem REST API, więc można łatwo napisać skrypt, aby to zrobić samemu. Można eksportować dane ustawiając format = eksport (w tym wszystkich danych priorytetowych w odpowiedzi):

curl https://myapp.firebaseIO.com/.json?format=export&auth=YOUR_FIREBASE_SECRET 

Jak do eksportowania zasad zabezpieczeń, można uzyskać do nich dostęp tutaj:

curl https://myapp.firebaseIO.com/.settings/rules/.json?auth=YOUR_FIREBASE_SECRET 

Możesz następnie zapisać je z powrotem do nowej Bazy Firebase za pomocą PUT.

Poszczególne ustawienia uwierzytelniania nie mogą być łatwo przenoszone automatycznie (takich jak Autoryzowanych Origins), ale prawdopodobnie nie powinien być jak oni różnią się od inscenizacji i produkcji.

+1

jak zrobić curl -X umieścić nazwę pliku filedestination? jaka byłaby składnia? – ingrid

+0

oto dokumentacja dotycząca odpowiedzi @ Andrew'a https://firebase.google.com/docs/database/rest/app-management – epool

2

Co powiedział Andrew powyżej jest głównie poprawne, jednak może to być ból z dużymi firebases. Istnieje projekt importu pod numerem https://github.com/firebase/firebase-import, który pomoże zaimportować duże bazy ogniowe poprzez zlikwidowanie złożonych żądań. Należy również pamiętać, że należy używać cudzysłowów w całym curl url, w przeciwnym razie & będzie tło procesu. Więc co Andrew dał powyżej będzie działać zamiast jak

curl -o outputfile.json „https://myapp.firebaseIO.com/.json?format=export&auth=YOUR_FIREBASE_SECRET

Następnie można użyć modułu importu I powiązany z tym plikiem JSON.

Powodzenia!

+0

spróbuje tego - dziękuję! – dazza5000

0

Firebase pracuje nad nową usługą "Kopie zapasowe klienta S3", która będzie co noc kopiować skompresowaną kopię zapasową całej zgrupowania gz. Do wiadra s3. Oceniam wersję beta tej usługi już teraz, ale jeśli jest to coś, czego potrzebujesz, polecam poproszenie o wsparcie.

Nasz Firebase się zbyt duże dla curl praca do wykonania, a to nowe rozwiązanie pozwoli nam zarządzać naszymi środowiskami Dev. Jeśli masz dużą bazę ogniową, skonfiguruj kopie zapasowe klientów S3, a następnie użyj firebase-import, aby przenieść dane do swoich baz danych. Zwycięstwo!

0

Właśnie stworzył this ruby gem klonowania Firebase dane konfiguracyjne zdalnego z istniejącego projektu o nowej jednym projekcie.

1

Jeśli chcesz opcję, która nie wymaga Curl, i masz zainstalowany projekt firebase-tools, można uruchomić to:

firebase database:get --export -o backup.json/

Zauważ, że to powinien być uruchamiany z katalogu roboczego skonfigurowany jako Firebase projekt. Zaletą tej opcji jest użycie ustawienia Auth, które skonfigurowałeś dla tego projektu, więc nie musisz twardo kodować kluczy autoryzacji w liniach komend (dla osób dbających o bezpieczeństwo) i nie polega to na nieaktualny wzorzec klucza autoryzacji.

wiersza polecenia Fu: Kolejna fajna technika jeśli chcesz oddzielne pliki dla każdego klawisza najwyższego poziomu dzwoni:

for i in `firebase database:get --shallow/| jq -r 'keys[]'`; do 
    echo "Downloading $i..." 
    firebase database:get --export -o $i.json /$i 
done 

Będziesz potrzebować „JQ” narzędzie zainstalowanej to zadziałało. Eksportowanie każdej kolekcji osobno może być bardzo przydatne, jeśli później chcesz przywrócić lub pracować tylko z częścią danych.

Powiązane problemy