gae datastore备份

时间:2009-12-12 03:54:53

标签: google-app-engine backup google-cloud-datastore

是否有必要对gae的数据存储区进行备份? 这样做有没有经验,建议和技巧?

2 个答案:

答案 0 :(得分:6)

始终需要备份以防止人为错误。由于App Engine鼓励您构建针对相同数据集运行的代码的多个修订版,因此能够返回是非常重要的。

Bulkloader documentation中解释了一个简单的转储/恢复工具。

我过去为主要数据库重构做过的其他事情是:

  1. 更改新代码中的实体名称(例如,用户 - >客户或用户2,如果必须)
  2. 按键查找实体时:
    1. 尝试按键并尽可能返回
    2. 尝试旧db.Model类的密钥。如果找到它,请迁移数据,put()并返回新实体
  3. 照常使用实体
  4. (您可能必须使用任务队列来迁移所有数据。如果您总是按键获取实体,则没有必要。)

    部署新版本的代码,以便两者共存服务器端。当您激活新版本时,它就像旧实体的时间点快照。在紧急情况下,您可以重新激活旧版本并使用旧数据。

答案 1 :(得分:1)

您现在可以使用托管导出和导入功能,可以通过gcloud或Datastore Admin API访问:

Exporting and Importing Entities

Scheduling an Export