从Realm Studio更改备份文件后的领域还原

时间:2018-07-07 05:55:15

标签: android database realm realm-mobile-platform

我正在构建一个使用Realm数据库的脱机应用程序。我正在提供备份和还原功能。它运行良好,并且Realm可以在短时间内完成快速同步的出色工作。

我正在维护领域中的各种表。目前,当我检查来自realm studio的数据并打开备份文件时,发现很少有错误的数据发布到表中。既然如此,我已经更改了必要的数据并尝试还原该文件。

还原后,这使我陷入错误,当我访问领域对象时,它说领域表不存在。

为什么会这样??? 是因为打开领域文件并进行更改时,我们还必须执行其他一些操作吗?

  

java.lang.IllegalArgumentException:该领域中不存在类'LastTableIdsTable'。                     (/用户/Nabil/Dev/realm/master/realm-java/realm/realm-library/src/main/cpp/io_realm_internal_OsSharedRealm.cpp:244)                         在io.realm.internal.OsSharedRealm.nativeGetTable(本机方法)                         在io.realm.internal.OsSharedRealm.getTable(OsSharedRealm.java:309)                         在io.realm.RealmSchema.getTable(RealmSchema.java:187)                         在io.realm.RealmSchema.getSchemaForClass(RealmSchema.java:209)                         在io.realm.RealmQuery(RealmQuery.java:145)                         在io.realm.RealmQuery.createQuery(RealmQuery.java:84)                         在io.realm.Realm.where(Realm.java:1332)

1 个答案:

答案 0 :(得分:1)

当我们尝试从realm studio编辑备份领域文件并还原它时,我们需要确保所有领域都已关闭。而且,如果您已设置任何RealmConfiguration,则需要通过调用Realm.deleteRealm()来传递配置,以删除旧的领域。

还原完成后,在打开领域之前,您必须使用所需的配置来初始化新领域。