GAE,更改持久对象的类

时间:2010-07-15 14:18:36

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

我的网络应用程序在其数据存储区中包含一些数据。我刚刚完成了它的另一个版本,其中我改变了一个持久化类。基本上,有一个名为“Node”的类(表示层次结构树中的节点),曾经将它的作者作为

private CmsUser author;

现在它将作者存储为 private Key author

当我将第二个版本部署到服务器(作为另一个版本)时,它没有工作(这是可预测的)。

有什么方法可以让它发挥作用吗?或者我是否必须创建另一个实体而不是Node事物并编写一段代码,将所有旧节点更改为新节点?

感谢。

1 个答案:

答案 0 :(得分:2)

您必须编写一些代码以旧格式加载每个节点,然后将其保存为新格式。

由于看起来您使用的是Java,因此可以使用low level API执行此操作。如果您使用的是Python,那么您可以使用Expando进行操作。见here

您可能希望尝试新的Mapper API来处理所有实体的循环。