Я нашел очень ограниченную документацию и нигде не могу решить мою проблему.
Мне нужно добавить новый объект (связанный с существующим). Также добавьте и переименуйте некоторые атрибуты существующей сущности.
Облегченный пример:
Старая модель имеет одну сущность Элемент
с одним атрибутом именем
.
В новой модели I хотите, чтобы элемент
имел один новый атрибут dateAdded
и переименовал имя
в заголовок
. На этом этапе, если dateAdded
будет необязательным или иметь значение по умолчанию, я мог бы использовать облегченную функцию миграции. Поправьте меня, если я ошибаюсь.
Но я также хочу добавить новую сущность List
с атрибутом title
. И добавить ко многим отношения. Список может быть пустым или содержать много элементов. Элемент должен ссылаться только на один список.
Поэтому я не понимаю, что мне нужно делать и в каком порядке.
Включите миграцию с отключенной функцией облегченной миграции ( NSDictionary * options = [NSDictionary dictionaryWithObjectsAndKeys: [NSNumber numberWithBool: YES], NSMigratePersistentStoresAutomaticallyOption, [NSNumber numberWithBool: NO], NSInferMappingModelAutomaticallyOption, nil];
).
Создайте новую версию модели. Там я вношу изменения, которые хочу.
Создайте новую модель отображения. Источник - старая модель, цель - новая модель. В ItemToItem
я установил title
на $ source.name
.
Кроме того, Xcode все еще дает сбой при работе с моделью сопоставления. Я не знаю, что делать дальше. . Я думаю, мне нужно создать один экземпляр List
в контексте и сделать все элементы, ссылающиеся на него, из-за политики отношений. И я считаю, что для этого я должен использовать пользовательский NSEntityMigrationPolicy
. Любая помощь в решении этой задачи?