Я пытаюсь очистить свой проект, использующий Core Data. Модель данных имеет 20 различных версий. Каждая версия выдает предупреждение о том, что «обратная связь для UserMO.specialties не является обратной зависимостью».

Могу ли я пойти и добавить обратные отношения к моей старой и текущей версиям модели, ничего не повредив? Или мне нужно создать новую версию модели, для которой будет выполняться облегченная миграция?

0
Wise Shepherd 19 Апр 2016 в 17:35

2 ответа

Лучший ответ

Вы не можете изменить старые модели и продолжать использовать их с теми же данными. Вам нужно будет создать новые версии моделей с исправлениями и перенести данные, чтобы использовать их. Но для миграции модели требуется предыдущая версия модели, поэтому вам все равно придется хранить эти старые модели. Вкратце: вы застряли в этих моделях с их предупреждениями, если только не решите, что больше не собираетесь поддерживать даже перенос данных из них в новые версии.

1
Tom Harrington 19 Апр 2016 в 15:53

Единственный раз, когда вы не должны создавать новую версию модели при редактировании своих моделей, - это если вы работаете локально и вы единственный человек, имеющий доступ к изменениям.

В частности, для этой проблемы достаточно просто создать новую версию, пометить эту версию как используемую и позволить системе выполнить упрощенную миграцию.

0
kpsharp 19 Апр 2016 в 14:43