将db.Model的属性更改为自定义类型

时间:2013-11-28 12:58:45

标签: google-app-engine python-2.7

我正在尝试将GAE AppEngine上的属性几个字段更改为自定义类型(加密内容)。

其中大多数目前是字符串或文本属性。由于我们的数据库中有数百万个条目,因此迁移并非易事。我正在寻找最佳实践,这是我认为最好的方法,但这对执行时间限制可能非常具有挑战性,而且我对这项任务的成本有点害怕。

  1. 将表格复制到tmp_table
  2. 删除表格
  3. 使用新属性创建表
  4. 将tmp_table中的值插入表
  5. 在大多数环境中听起来像短途徒步旅行的感觉在GAE上感觉有点复杂;)

    我的问题: - 您是否已经了解了最佳实践/您是否已经实现了这一挑战&怎么样? - 任何想法如何触发过程(我估计它需要几分钟所以60秒的限制

1 个答案:

答案 0 :(得分:0)

它不是sql。你没有克隆或删除'tables',数据存储区中没有这样的东西。 要执行迁移,您可以使用任务队列来运行查询。你可能需要在这样做时停止你的前端。任务队列的时间限制超过您提到的60秒,每个任务队列将创建另一个任务队列,直到您完成查询中的所有项目。 耀也抱怨它比其他环境更难,但事实并非如此。问题可能是您选择使用数据存储区而不是您可能也使用过的云sql。每个都有其优点和缺点。