可以使用映射模型和NSEntityMigrationPolicy进行RestKit和非轻量级核心数据迁移吗?

时间:2015-11-10 13:35:54

标签: core-data restkit core-data-migration

我使用RestKit继承了现有iOS应用程序的支持,而且我是RestKit的新手。我过去使用模型版本,映射模型和实体迁移策略执行了几个复杂的核心数据迁移。

现在我想知道在使用RestKit时如何实现这一目标。代码当前的结构方式,有一个调用:

fill

随后致电:

BOOL migrationSucceeded = [RKManagedObjectStore migratePersistentStoreOfType:NSSQLiteStoreType
                                                                       atURL:storeURL
                                                                toModelAtURL:modelURL
                                                                       error:&error
                                                  configuringModelsWithBlock:^(NSManagedObjectModel *model, NSURL *sourceURL) {

    CLS_LOG(@"Model version %@", [model versionIdentifiers]);

    // Examine each model and configure search indexing appropriately based on the versionIdentifiers configured in the model
    if ([[model versionIdentifiers] isEqualToSet:[NSSet setWithObject:@"2.0"]]
        || [[model versionIdentifiers] isEqualToSet:[NSSet setWithObject:@"2.1"]]
        || [[model versionIdentifiers] isEqualToSet:[NSSet setWithObject:@"2.2"]]
        || [[model versionIdentifiers] isEqualToSet:[NSSet setWithObject:@"2.3"]]) {

        NSEntityDescription *productFamilyEntity = [[model entitiesByName] objectForKey:kEntityNameProductFamily];
        [RKSearchIndexer addSearchIndexingToEntity:productFamilyEntity onAttributes:@[@"descEn", @"descFr"]];
    }

}];

从我所看到的,核心数据迁移是在NSPersistentStore *persistentStore = [managedObjectStore addSQLitePersistentStoreAtPath:storePath fromSeedDatabaseAtPath:nil withConfiguration:nil options:@{NSMigratePersistentStoresAutomaticallyOption:@YES, NSInferMappingModelAutomaticallyOption:@YES} error:&error]; ...的调用中执行的,我想推断映射模型而不是使用我创建的映射模型。

稍后调用migratePersistentStoreOfType时,迁移已经执行。

如何构建代码,以便在迁移期间使用指定addSQLitePersistentStoreAtPath的自定义映射模型?这可以用RestKit吗?

提前致谢,

菲利普

0 个答案:

没有答案