Я хочу перенести основные данные двух моделей. Согласно документам Apple, существует два способа переноса модели, такие как упрощенная миграция и модель сопоставления. Меня смущает то, в каком сценарии мне нужно использовать модель сопоставления для миграции основных данных.
Миграция базовой модели данных
Ответы (1)
Облегченная миграция выполняется при добавлении/изменении/удалении атрибута или объекта — обычно это простые операции.
Опция сопоставления необходима, когда вам нужно преобразовать одну схему в другую. Допустим, вы и объект A
, но вам нужно разделить его на два: B
и C
. Затем вы должны указать CoreData, как сопоставлять сущности и атрибуты между схемами.
Этот процесс немного сложнее, чем облегченная миграция. Требуется создать файл модели сопоставления, при необходимости определить подкласс NSEntityMigrationPolicy
и т. д., в зависимости от ваших потребностей.
person
Maciej Oczko
schedule
03.02.2014
Спасибо Oczko за быстрый ответ ... Если я правильно понимаю, что модель сопоставления требуется при разделении сущности A на две существующие сущности, такие как сущность B и сущность C. но у меня есть одно сомнение, я могу справиться с этим сценарием, например, удалив атрибуты из сущности A и вручную добавляется в B и C при создании новой модели. Делая таким образом, LightWeight миграции достаточно или нет?
- person karan; 03.02.2014
Если приложение находится в разработке, и вы не возражаете против потери данных, это нормально. В противном случае это было бы небезопасно, потому что CoreData не знает, как заполнить вновь добавленные атрибуты.
- person Maciej Oczko; 03.02.2014