Android ObjectBox在类型迁移后不保留以前的值

Android ObjectBox在类型迁移后不保留以前的值,android,objectbox,objectbox-java,objectbox-android,greenrobot-objectbox,Android,Objectbox,Objectbox Java,Objectbox Android,Greenrobot Objectbox,我们必须将实体中的一个字段参数从long迁移到BigDecimal。迁移相当顺利,但存在一个问题;我们希望将以前的值设置为迁移字段。但一旦ObjectBox被初始化,它就会将迁移字段默认为当前类型的默认值,在我们的例子中为null 假设我们有: Id长 名称 123 随机名称 ObjectBox不支持将现有属性数据迁移到新类型。您必须自己解决这个问题,例如保留旧属性并添加一些迁移逻辑 来源:@Farid手动迁移可能看起来有点像这样: 向模型中添加一个新字段,使用您要使用的新类型,例如newFie

我们必须将实体中的一个字段参数从long迁移到BigDecimal。迁移相当顺利,但存在一个问题;我们希望将以前的值设置为迁移字段。但一旦ObjectBox被初始化,它就会将迁移字段默认为当前类型的默认值,在我们的例子中为null

假设我们有:

Id长 名称 123 随机名称 ObjectBox不支持将现有属性数据迁移到新类型。您必须自己解决这个问题,例如保留旧属性并添加一些迁移逻辑


来源:

@Farid手动迁移可能看起来有点像这样:

向模型中添加一个新字段,使用您要使用的新类型,例如newField 添加更新所有对象的代码,读取oldField并将适当的值写入newField 现在所有数据都已迁移,请从模型中删除oldField 或者,您可以将newField添加到任何您想要的内容 遗憾的是,ObjectBox不支持保留旧数据的类型迁移


参考资料:

您必须自己处理,例如保留旧属性并添加一些迁移逻辑。但是怎么做呢?这里描述的所有方法都没有给出任何关于如何在不丢失旧数据的情况下执行此操作的提示。我想做的是类型迁移,它将保留以前的数据,而本期中提到的ObjectBox显然不支持这些数据:。或者,您可以按照文档中的说明将newField重命名为任何您想要的名称。我想执行类型迁移而不是属性重命名