首页 > 解决方案 > renameField 后出现错误 crashlytics firebase

问题描述

错误:in realm, io.realm.RealmObjectSchema.checkFieldExists: Field name doesn't exist on object "ModelName": "oldField" 在 renameField 之后,我在 firebase 中收到此错误,但不知何故,当我从 android studio 构建和运行时,我的应用程序运行良好,没有问题。我尝试重现此错误。但它没有用。我在代码中看不到任何问题

这是我在 migration.kt 中的代码:

if (oldVersion == 11L) {
schema.get("ModelName")!!
   .renameField("oldField", "newField")
   oldVersion++
}

而且我还增加了迁移模式

标签: javaandroidkotlinmigrationrealm

解决方案


如果你想从领域迁移,dynamicRealm 旨在打开领域文件而不检查模式。

要删除版本 0 Realm 文件,您可以执行以下操作:

File file = new File(realmConfig.getPath());
 if (file.exist()) {
 DynamicRealm dynamicRealm = DynamicRealm.getInstance(realmConfig);
 long version = dynamicRealm.getVersion();
 dynamicRealm.close();
 if (version == 0) {
    Realm.deleteRealm(realmConfig);
}

}


推荐阅读