【问题标题】:Realm Migration with new foreign field域迁移与新的外国领域
【发布时间】:2017-05-04 07:52:07
【问题描述】:

我创建了一个新领域对象 (B),并在现有领域对象 (A) 中创建了一个新字段,它引用了新对象 B。在我的迁移文件中,我有这个:

if(!realm.getSchema().contains("B")) {
    realm.getSchema().create("B").addField("name", String.class).addField("resId", int.class);
}

RealmObjectSchema schemaA = realm.getSchema().get("A");

if (!schemaA .hasField("referenceToB")) {
    schemaA .addField("referenceToB", B.class);
}

它不起作用,我得到:java.lang.IllegalArgumentException: Realm does not support this field type: B

如何在 A 中创建这个新字段,并在我的迁移文件中引用 B?

【问题讨论】:

    标签: android realm realm-migration


    【解决方案1】:

    根据文档,要添加链接字段,您需要使用 realmObjectSchema.addRealmObjectField() 而不是 addField()

    if (!schemaA.hasField("referenceToB")) {
        RealmObjectSchema bSchema = schema.get("B");
        schemaA.addRealmObjectField("referenceToB", bSchema);
    }
    

    【讨论】:

    • 非常感谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-30
    • 2019-07-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多