0
我现在有一个用户对象,其中有一堆值,保存为doubles
。我们的api json的格式现在正在改变为包含每个字段的两个值。所以我创建了一个Value
对象(它扩展了RealmObject
)并包含这两个值。将域类型double的域名字段迁移到具有值的新子对象
所以现在我的用户对象我想要做以下
//Current way
private Double balance;
//Want to migrate to this
private Value balance;
的Value
对象看起来是这样的:
private class Value extends RealmObject {
private Integer value;
private String formattedValue;
//getters/setters
}
我的问题是,我怎么能表达一个RealmMigration
这种变化?
这是我迄今在此基础上:(Change datatype of Realm field - Java)
schema.get("User")
.addField("balance_tmp", Value.class)
.transform(new RealmObjectSchema.Function() {
@Override
public void apply(DynamicRealmObject obj) {
//what goes here? how can I access the Value.class and call setValue()?
}
})
.removeField("balance")
.renameField("balance_tmp", "balance");
这甚至可能吗?或者我应该辞职,因为分配给我更改的字段的任何数据都将丢失?
这是可能的,但它是更好的选择,创建2个区域,而不是一个链接对象字段。 – EpicPandaForce