Migrating multiple realms - Realm Version Greater Than Schema Version exception

倖福魔咒の 提交于 2019-12-02 19:22:28

问题


Why this exception is thrown (when I'm trying to migrate multiple realms)?

bool ObjectStore::is_schema_at_version(Group *group, uint64_t version) {
    uint64_t old_version = get_schema_version(group);
    if (old_version > version && old_version != NotVersioned) {
        throw ObjectStoreException(ObjectStoreException::Kind::RealmVersionGreaterThanSchemaVersion,
                                   {{"old_version", to_string(old_version)}, {"new_version", to_string(version)}});
    }
    return old_version != version;
}

回答1:


First of all I needed to instantiate realmconfig in the right way.

RLMRealmConfiguration *someOtherConfig = [[RLMRealmConfiguration defaultConfiguration] copy];

Instead of:

RLMRealmConfiguration *someOtherConfig = [[RLMRealmConfiguration alloc] init];

And I needed to remove the additional schemaVersion config and redundant migrationblocks:

config.schemaVersion = migrationVersion;

Before performing the actual migration:

[RLMRealm migrateRealm:someOtherConfig];


来源:https://stackoverflow.com/questions/33828851/migrating-multiple-realms-realm-version-greater-than-schema-version-exception

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!