Как перенести базовую модель данных при добавлении абстрактной родительской сущности?

Я создал новую версию базовой модели данных. Внесенные мной изменения заключались в том, что я добавил новую сущность под названием «FTASyncParent», которую я установил как абстрактную сущность. Затем я устанавливаю родительскую сущность всех остальных моих сущностей на абстрактную сущность «FTASyncParent». Итак, теперь в моей новой модели все мои сущности имеют сущность «FTASyncParent», установленную в качестве родительской сущности.

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

Error: Error Domain=NSCocoaErrorDomain Code=134110 "The operation couldn’t be completed. (Cocoa error 134110.)" UserInfo=0x1d9ccba0 {destinationRootEntity=FTASyncParent, reason=Cannot merge multiple root entity source tables into one destination entity root table, sourceRootEntities=(
    Day,
    MealItemFood
), NSUnderlyingException=Cannot merge multiple root entity source tables into one destination entity root table}

Day и MealItemFood - это некоторые из сущностей в моей модели данных, у которых теперь есть сущность FTASyncParent в качестве родительской.

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


person gossainapps    schedule 11.05.2013    source источник
comment
Более подробные инструкции по решению этой проблемы можно найти на странице stackoverflow.com/q/8250975.   -  person user3819283    schedule 21.04.2015


Ответы (1)


Попробуйте удалить приложение на главном экране эмулятора, а затем перестройте / очистите.

person timeshift117    schedule 12.05.2013
comment
Я создаю устройство для разработки, где начинаю с новой установки, загружая свое приложение из магазина приложений, затем добавляя некоторые тестовые данные (с помощью приложения), и, наконец, я пытаюсь выполнить миграцию, установив новую версию мое приложение. - person gossainapps; 12.05.2013
comment
Целью управления версиями и миграции db не является удаление приложения, потому что, если приложение уже находится в производстве, вы не захотите удалять все данные пользователя. - person Cristian Cardoso; 01.02.2017