Существует несколько типов миграции.Самым простым является облегченная миграция с использованием логической модели сопоставления. Это означает, что вы просто указываете выполнить миграцию, а остальное выполняет программное обеспечение.Однако предостережение заключается в том, что он может справиться только с определенными изменениями.Добавление объекта должно быть в порядке.
Чтобы включить облегченную миграцию, вам нужно указать несколько параметров при открытии постоянного хранилища:
NSMutableDictionary *options = [[NSMutableDictionary alloc] init];
[options setObject:[NSNumber numberWithBool:YES] forKey:NSMigratePersistentStoresAutomaticallyOption];
[options setObject:[NSNumber numberWithBool:YES] forKey:NSInferMappingModelAutomaticallyOption];
NSError *error = nil;
__persistentStoreCoordinator = [[NSPersistentStoreCoordinator alloc] initWithManagedObjectModel:[self managedObjectModel]];
if (![__persistentStoreCoordinator addPersistentStoreWithType:NSSQLiteStoreType configuration:nil URL:storeURL options:options error:&error])
{
NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
abort();
}
Последнее, что нужно сделать, - это внести изменения в модель данных,вам нужно добавить версию модели.В Xcode 4 выберите вашу модель данных на боковой панели, выберите «Добавить версию модели» из меню редактора и назовите вашу новую версию.Затем вам нужно установить новую версию в качестве активной: снова выберите основной файл модели данных на левой боковой панели, а затем на правой боковой панели на первой вкладке должно появиться всплывающее меню «Версионная модель данных».
Это очень важно.Для выполнения миграции Core Data требуется версия вашей модели, с которой было создано старое хранилище, а также версия, на которую вы хотите выполнить миграцию.Если у вас нет старой версии, миграция завершится неудачей.