我想在Realm DB迁移过程中更改字段名称。 似乎不支持更改字段名称,只有复制和删除才是唯一的方法。
这是对的吗? 它耗费了大量时间。
以下代码是我的试用版,以复制和删除的方式将字段value
更改为summary
。
RealmSchema schema = realm.getSchema();
schema.get("Invoice")
.transform(new RealmObjectSchema.Function() {
@Override
public void apply(DynamicRealmObject obj) {
obj.set("summary", obj.getString("value"));
}
})
.removeField("value");
答案 0 :(得分:8)
您可能需要的是一种方法: renameField
示例:
RealmSchema schema = realm.getSchema();
schema.get("Invoice").renameField("value", "summary");