У меня есть то, что кажется ошибкой с Core Data в OS X 10.7.1.
Мое хранилище данных (NSSQLiteStoreType) не переносится автоматически правильно.
Как примечаниеточно такие же модели Core Data используются версией приложения для iOS.
-> Вот что, похоже, и происходит.
До последнего выпуска все работало нормально -
У меня 14 ревизий модели - модель 13 уже довольно долго поставляется без происшествий.
Недавно я обновил свое приложение и добавил новую модель, поэтому мне 14 (этоэто версия, которая теперь используется в приложениях для доставки).
Версия для iOS отлично работает при переходе с модели 13 на 14, так что об этом не нужно беспокоиться.
Так что вместо разговорово версиях OS X позволяет использовать NSPersistenceFrameworkVersions
NSPersistenceFrameworkVersions 251, равный 10.6.8, и NSPersistenceFrameworkVersions 358, равный 10.7.1
Если мы используем аналогичные версии, то есть model 13 версии 251 и миграция на модель 14 версии 251 работает нормально.
то же самое верно, если мы используем модель 13 версии 358 и мигрируем на модель 14 версии 358, она также отлично работает
Вотгде это становится интересным
, если мы переносим модель 13 версии 358 на модель 14 версии 251, она все еще работает нормально
Однако миграция с модели 13 версии 251 на модель 14 версии 358 не не работа
CoreData: ошибка: (1) ошибка ввода-вывода для базы данных на бла.Код ошибки SQLite: 1, «нет такого столбца: FOK_REFLEXIVE»
Опять же, это происходит только при переходе от 10.6.8 (NSPersistenceFrameworkVersions 251) к 10.7.1 (NSPersistenceFrameworkVersions 358), все остальные перестановки работают просто отлично.
Вот параметры, используемые для миграции, которые передаются в addPersistentStoreWithType.
// Allow inferred migration from the original version of the application.
NSDictionary *options = [NSDictionary dictionaryWithObjectsAndKeys:
[NSNumber numberWithBool:YES], NSMigratePersistentStoresAutomaticallyOption,
[NSNumber numberWithBool:YES], NSInferMappingModelAutomaticallyOption, nil];
И последнее: если мы добавим только атрибуты в модель 14, преобразование будет не перерыв.Это только с добавлением сущности, которая заставит его сломаться.
Кто-нибудь еще видит такую проблему.Заранее спасибо.