Core Data - migrações leves e vários arquivos de modelo de dados principais (xcdatamodel)

Estou tendo um problema ao executar uma migração leve ao migrar de um armazenamento que é definido por dois arquivos xcdatamodel separados.

Na versão 1.0 do meu aplicativo, eu tinha os modelos divididos em um modelo de análise, modelo A e tudo o mais no modelo B. Ao compilar, os modelos seriam agrupados e tudo continuaria sem problemas.

Ao trabalhar na nova versão, 1.1, atualizei o modelo B adicionando uma nova versão do modelo ao modelo B e definindo essa nova versão como ativa.

A questão surge quando atualizando de 1.0 para 1.1. Parece que o Core Data verifica o armazenamento do modelo no disco (criado pela versão 1.0) e procura o modelo que o descreve, mas não consegue encontrar um modelo SINGLE que defina a loja inteira (o modelo A cobre apenas as analíticas e o modelo B cobre todo o resto), por isso lança um erro "Não é possível encontrar o modelo para o armazenamento de origem".

Alguém encontrou uma solução para separar os modelos, mas ainda permitindo atualizações + migrações leves para trabalhar sem o incômodo extra de definir migrações personalizadas?

Aqui está o trecho de código usado para carregar modelos:

    NSArray *modelNames = [NSArray arrayWithObjects:@"model-A", @"model-B", nil];
    NSMutableArray *models = [NSMutableArray array];
    for (NSString *name in modelNames)
    {
        LogInfo(@"loading model %@", name);
        NSURL *modelURL = [[NSBundle mainBundle] URLForResource:name withExtension:@"momd"];
        NSManagedObjectModel *model = [[[NSManagedObjectModel alloc] initWithContentsOfURL:modelURL] autorelease];
        [models addObject:model];
    }

    // combine all the separate models into one big one
    objectModel = [[NSManagedObjectModel modelByMergingModels:models] retain];

    NSURL *documentsDirectory = [NSURL fileURLWithPath:[SuperFileManager documentsDirectory] isDirectory:YES];
    NSURL *storeURL = [documentsDirectory URLByAppendingPathComponent:@"database.sqlite"];
    NSError *error = nil;

    coordinator = [[NSPersistentStoreCoordinator alloc] initWithManagedObjectModel:objectModel];
    NSDictionary *options = [NSDictionary dictionaryWithObjectsAndKeys:
                                                  [NSNumber numberWithBool:YES], NSMigratePersistentStoresAutomaticallyOption,
                                                  [NSNumber numberWithBool:YES], NSInferMappingModelAutomaticallyOption,
                                                  nil];

    if (![coordinator addPersistentStoreWithType:NSSQLiteStoreType
                                   configuration:nil
                                             URL:storeURL
                                         options:options
                                           error:&error])
    {
        NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
        abort();
    }

questionAnswers(4)

yourAnswerToTheQuestion