从 Realm Studio 更改备份文件后恢复 Realm
Realm restore after altering backup file from Realm Studio
我正在构建一个使用 Realm 数据库的离线应用程序。我正在提供备份和恢复功能。它运行完美,而且 realm 在很短的时间内完成了快速同步。
我在领域上维护各种 table。目前,当我检查 realm studio 的数据,打开备份文件时,我发现很少有虚假数据发布到 table。因此,我更改了必要的数据并尝试恢复该文件。
这让我在恢复后出错,当我访问领域对象时,它说领域 table 不存在。
为什么会这样???
是不是打开realm文件修改的时候还要做一些其他的操作什么的??
java.lang.IllegalArgumentException: The class 'LastTableIdsTable' doesn't exist in this Realm.
(/Users/Nabil/Dev/realm/master/realm-java/realm/realm-library/src/main/cpp/io_realm_internal_OsSharedRealm.cpp:244)
at io.realm.internal.OsSharedRealm.nativeGetTable(Native Method)
at io.realm.internal.OsSharedRealm.getTable(OsSharedRealm.java:309)
at io.realm.RealmSchema.getTable(RealmSchema.java:187)
at io.realm.RealmSchema.getSchemaForClass(RealmSchema.java:209)
at io.realm.RealmQuery.(RealmQuery.java:145)
at io.realm.RealmQuery.createQuery(RealmQuery.java:84)
at io.realm.Realm.where(Realm.java:1332)
当我们尝试从 realm studio 编辑备份 realm 文件并恢复它时,我们需要确保所有 realm 都已关闭。我们需要通过调用 Realm.deleteRealm() 来删除旧领域,如果您设置了任何 RealmConfiguration,则传递配置。
还原完成后,在打开领域之前,您必须使用所需的配置初始化新领域。
我正在构建一个使用 Realm 数据库的离线应用程序。我正在提供备份和恢复功能。它运行完美,而且 realm 在很短的时间内完成了快速同步。
我在领域上维护各种 table。目前,当我检查 realm studio 的数据,打开备份文件时,我发现很少有虚假数据发布到 table。因此,我更改了必要的数据并尝试恢复该文件。
这让我在恢复后出错,当我访问领域对象时,它说领域 table 不存在。
为什么会这样??? 是不是打开realm文件修改的时候还要做一些其他的操作什么的??
java.lang.IllegalArgumentException: The class 'LastTableIdsTable' doesn't exist in this Realm. (/Users/Nabil/Dev/realm/master/realm-java/realm/realm-library/src/main/cpp/io_realm_internal_OsSharedRealm.cpp:244) at io.realm.internal.OsSharedRealm.nativeGetTable(Native Method) at io.realm.internal.OsSharedRealm.getTable(OsSharedRealm.java:309) at io.realm.RealmSchema.getTable(RealmSchema.java:187) at io.realm.RealmSchema.getSchemaForClass(RealmSchema.java:209) at io.realm.RealmQuery.(RealmQuery.java:145) at io.realm.RealmQuery.createQuery(RealmQuery.java:84) at io.realm.Realm.where(Realm.java:1332)
当我们尝试从 realm studio 编辑备份 realm 文件并恢复它时,我们需要确保所有 realm 都已关闭。我们需要通过调用 Realm.deleteRealm() 来删除旧领域,如果您设置了任何 RealmConfiguration,则传递配置。
还原完成后,在打开领域之前,您必须使用所需的配置初始化新领域。