2009-12-12 189 views
7

是否需要备份gae的数据存储?
有没有人有这样做的经验,建议和窍门?gae数据存储备份

+0

这是不是节目,而是数据库管理。 –

回答

6

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

简单的转储/恢复工具在Bulkloader documentation中进行了说明。

别的东西,我已经在过去做了重大DB refactors是:

  1. 变化的新代码实体名称(例如,用户 - >客户或用户2,如果你要)
  2. 当通过键查找实体:
    1. 尝试键和返回,如果可能的
    2. 尝试对旧db.Model类的关键。如果你找到它,迁移数据,把(),并返回新实体
  3. 使用实体和往常一样

(您可能需要使用任务队列迁移所有数据。如果您始终通过密钥获取实体,则不需要)

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