我想将领域字段的数据类型从
String
到
int
仅供参考,该领域也是
Primary Key
. 我找不到方法
RealmMigration
来解决这个问题。
PS:我的应用程序已经投入生产,该字段中当前的所有值都是整数。
编辑1
我的模特班
public class Team extends RealmObject {
@SerializedName("id")
@PrimaryKey
private int id;
@SerializedName("name")
private String name;
@SerializedName("description")
private String description;
}
我在尝试克里斯蒂安的答案后移民
if (oldVersion == 6) {
RealmObjectSchema teamSchema = schema.get("Team");
teamSchema.addField("temp_id", int.class)
.transform(new RealmObjectSchema.Function() {
@Override
public void apply(DynamicRealmObject obj) {
obj.setInt("temp_id", Integer.valueOf(obj.getString("id")));
}
})
.removeField("id")
.renameField("temp_id", "id")
.addPrimaryKey("id");
}