2013-03-21 77 views

Trả lời

9

Tất cả dữ liệu của chúng tôi đều có sẵn thông qua API REST, vì vậy bạn có thể dễ dàng viết kịch bản để tự mình thực hiện việc này. Bạn có thể xuất dữ liệu bằng cách thiết lập format = xuất khẩu (bao gồm tất cả các dữ liệu ưu tiên trong phản ứng):

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

Đối với xuất khẩu các quy tắc bảo mật, bạn có thể truy cập chúng ở đây:

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

Sau đó, bạn có thể viết chúng trở lại Firebase mới bằng cách sử dụng PUT.

Các cài đặt Auth khác nhau không thể dễ dàng được chuyển tự động (chẳng hạn như Nguồn gốc được ủy quyền), nhưng chúng có thể không được như chúng khác nhau giữa dàn dựng và sản xuất.

+1

làm thế nào để bạn thực hiện việc đặt tên tệp curl -X? cú pháp sẽ là gì? – ingrid

+0

đây là tài liệu về câu trả lời của @ Andrew https://firebase.google.com/docs/database/rest/app-management – epool

2

Điều Andrew nói ở trên hầu hết là chính xác, tuy nhiên điều này có thể là nỗi đau với các quả cầu lửa lớn. Có một dự án nhập khẩu tại https://github.com/firebase/firebase-import sẽ giúp nhập khẩu các quả cầu lửa lớn bằng cách chia nhỏ các yêu cầu đặt. Cũng cần lưu ý điều gì đó, bạn sẽ cần phải sử dụng dấu ngoặc kép xung quanh url curl, nếu không, & sẽ làm nền quá trình. Vì vậy, những gì Andrew đã nêu trên sẽ làm việc thay vì như

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

Sau đó, bạn có thể sử dụng các mô-đun nhập khẩu tôi liên kết với tệp json.

Chúc may mắn!

+0

sẽ cố gắng này - cảm ơn bạn! – dazza5000

0

Firebase đang làm việc trên dịch vụ mới "Sao lưu khách hàng S3" sẽ sao chép bản sao lưu nén .gz của toàn bộ Firebase của bạn vào một nhóm s3 mà bạn cung cấp cho họ. Tôi đang đánh giá bản beta của dịch vụ này ngay bây giờ, nhưng nếu nó là thứ bạn cần, tôi khuyên bạn nên hỏi về nó.

Firebase của chúng tôi quá lớn để hoạt động curl hoàn thành và giải pháp mới này sẽ cho phép chúng tôi quản lý môi trường dev của chúng tôi. Vì vậy, nếu bạn có một cơ sở dữ liệu lớn, hãy thiết lập Sao lưu khách hàng S3, sau đó sử dụng tính năng nhập cơ sở dữ liệu để chuyển dữ liệu vào các bản sao lưu của bạn. Chiến thắng!

0

Tôi vừa tạo this ruby gem để nhân bản dữ liệu cấu hình từ xa firebase từ dự án hiện tại o một dự án mới.

1

Nếu bạn muốn một lựa chọn mà không yêu cầu cURL, và bạn phải cài đặt các dự án firebase-tools, bạn có thể chạy này:

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

Lưu ý rằng điều này sẽ được chạy từ một thư mục làm việc cấu hình như một căn cứ hỏa lực dự án. Ưu điểm của tùy chọn này là nó sẽ sử dụng Auth mà bạn đã thiết lập cho dự án đó, vì vậy bạn không cần các khóa auth mã cứng vào các dòng lệnh (để bảo mật) và nó không dựa vào mẫu khóa auth-key không được chấp nhận.

dòng lệnh Fu: Một kỹ thuật tuyệt vời nếu bạn muốn tập tin riêng biệt cho mỗi phím top-level đang kêu gọi:

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

Bạn sẽ cần "JQ" công cụ cài đặt để làm việc này. Xuất riêng từng bộ sưu tập có thể thực sự hữu ích nếu sau này bạn muốn khôi phục hoặc làm việc chỉ với một phần dữ liệu của mình.

Các vấn đề liên quan