2009-12-12 26 views
7

Có cần phải sao lưu kho dữ liệu của gae không?
Có ai có kinh nghiệm, đề xuất, thủ thuật để làm như vậy không?sao lưu kho dữ liệu gae

+0

đây không phải là về lập trình, nhưng về quản lý cơ sở dữ liệu . –

Trả lời

6

Sao lưu luôn cần thiết để bảo vệ chống lại lỗi của con người. Vì App Engine khuyến khích bạn xây dựng các bản sửa đổi mutiple của mã chạy trên cùng một tập dữ liệu, điều quan trọng là bạn có thể quay lại.

Công cụ kết xuất/khôi phục đơn giản được giải thích trong Bulkloader documentation.

Cái gì khác tôi đã làm trong quá khứ cho refactors lớn DB là:

  1. Thay đổi tên tổ chức trong mã mới của bạn (ví dụ như người dùng -> Khách hàng hoặc User2 nếu cần)
  2. Khi tìm kiếm một thực thể theo khóa:
    1. Hãy thử phím và trả lại nếu có thể
    2. Hãy thử khóa cho lớp db.Model cũ. Nếu bạn tìm thấy nó, di chuyển dữ liệu, đặt(), và trở về đơn vị mới
  3. Sử dụng các thực thể như bình thường

(Bạn có thể phải sử dụng một hàng đợi nhiệm vụ để di chuyển tất cả dữ liệu. Nếu bạn luôn tìm nạp các thực thể theo khóa thì không cần thiết.)

Triển khai phiên bản mã mới để cả hai cùng tồn tại phía máy chủ. Khi bạn kích hoạt phiên bản mới, nó giống như ảnh chụp nhanh thời gian của các thực thể cũ. Trong trường hợp khẩn cấp, bạn có thể kích hoạt lại phiên bản cũ và sử dụng dữ liệu cũ.

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