从序列化列表字段到列表字段对象化
From serialized list field to list field objectify
我在我的 GAE java 服务器上使用 objectify,我想用一个字段更新一个 class 实体,该字段是一个带有 @Serialize 注释的列表,我现在想转换它到一个简单的列表。
我该怎么做?
基本上,您创建第二个字段来保存您的首选格式,并使用 @OnLoad
方法迁移数据。然后 load/save 所有实体。
但是,有一个问题。如果您的系统很忙,您可以放心,对于一定数量的请求,旧版本和新版本将共存。所以你必须对过渡有点小心。最安全的方法是:
- 部署创建(并保留)新字段的代码,优先使用它,但不要向它写入数据。
- 部署代码以迁移
@OnLoad
中的数据,使用 @IgnoreSave(IfNull.class)
(或您喜欢的方式)删除旧数据
- 通过加载+保存重新处理所有实体
- 从您的代码中删除旧字段
我在我的 GAE java 服务器上使用 objectify,我想用一个字段更新一个 class 实体,该字段是一个带有 @Serialize 注释的列表,我现在想转换它到一个简单的列表。
我该怎么做?
基本上,您创建第二个字段来保存您的首选格式,并使用 @OnLoad
方法迁移数据。然后 load/save 所有实体。
但是,有一个问题。如果您的系统很忙,您可以放心,对于一定数量的请求,旧版本和新版本将共存。所以你必须对过渡有点小心。最安全的方法是:
- 部署创建(并保留)新字段的代码,优先使用它,但不要向它写入数据。
- 部署代码以迁移
@OnLoad
中的数据,使用@IgnoreSave(IfNull.class)
(或您喜欢的方式)删除旧数据 - 通过加载+保存重新处理所有实体
- 从您的代码中删除旧字段