Я на 95% уверен, что здесь не было никаких изменений даже для последней версии Core Data. Если вы хотите добиться максимальной производительности и миграции всего за один шаг, вам все равно придется создавать модели сопоставления для каждой возможной комбинации версий. Обратите внимание, конечно, что если вы включите NSInferMappingModelAutomaticsOption AS WELL AS как NSMigratePersistentStoresAutomaticsOption, это избавит вас от головной боли. У нас есть 21 версия модели, и у всех них есть свои модели отображения (вместо того, чтобы мы делали явные модели отображения), без проблем.

емаУ меня есть 13 версий моей основной модели данных.Я сделал 13 картографических моделей (V1-V2, V2-V3 и т. Д.)У меня включена автоматическая миграция.При миграции между двумя последовательными версиями (например, V12-V13) миграция работает отлично

При миграции между двумя непоследовательными версиями (например, V11-V13) миграция завершается с ошибкой:

Can't find mapping model for migration

Что я пробовал

Создание картографической модели для каждой возможной комбинации версий. Это работает, но это настоящая проблема.

Для версии 14 мне нужно сделать 14 разных картографических моделей. Вручную. Тьфу.

Код

Вот параметры, которые я передаю для миграции:

[persistentStoreCoordinator addPersistentStoreWithType:[self storeType]
                                          configuration:nil 
                                                    URL:url 
                                                options:[NSDictionary dictionaryWithObjectsAndKeys:
                                                         [NSNumber numberWithBool:YES], NSMigratePersistentStoresAutomaticallyOption,
                                                         [NSNumber numberWithBool:NO], NSReadOnlyPersistentStoreOption,
                                                         nil]
                                                  error:&error]){
Модель данных

Моя модель данных довольно сложная, но вот она:http://dl.dropbox.com/u/136780/Engine_V2_DataModel.xcdatamodeld.zip

Я не использую никаких модификаторов хэша версии или переименования идентификаторов в моей модели данных прямо сейчас.

Ответы на вопрос(1)

Ваш ответ на вопрос