1,新加属性
app engine类上传运行后,如果要新加一个属性的话,声明提交后,新产生的数据自动有这个属性的默认值,但之前的数据就没有这个属性,这个属性对应的数据是missing,而不是null。
如果要设置以前的数据的这个新加属性值,得自己写程序循环去设置这个值。
2更改属性类型
比如Task类中有属性 private String isCompleted = "0"; 想改成private Integer isCompleted = 0;
首先在isCompleted 为String时,程序循环把所有数据此属性设为null,
然后声明类Task中private Integer isCompleted = 0; 程序循环把所有数据此属性再设为nul,
最后程序循环把所有数据此属性设为0。
这样就可以改过来了,大体是: "0"--> String null --> Integer null --> 0
app engine类上传运行后,如果要新加一个属性的话,声明提交后,新产生的数据自动有这个属性的默认值,但之前的数据就没有这个属性,这个属性对应的数据是missing,而不是null。
如果要设置以前的数据的这个新加属性值,得自己写程序循环去设置这个值。
2更改属性类型
比如Task类中有属性 private String isCompleted = "0"; 想改成private Integer isCompleted = 0;
首先在isCompleted 为String时,程序循环把所有数据此属性设为null,
然后声明类Task中private Integer isCompleted = 0; 程序循环把所有数据此属性再设为nul,
最后程序循环把所有数据此属性设为0。
这样就可以改过来了,大体是: "0"--> String null --> Integer null --> 0
本文介绍在AppEngine中如何处理数据模型变更,包括新增属性及修改属性类型时的处理方法。对于新增属性,需要手动更新历史数据;对于属性类型的更改,则需要经过一系列步骤将原有数据转换为新的数据类型。
41

被折叠的 条评论
为什么被折叠?



