Я хочу перенести основные данные двух моделей. Согласно документам Apple, существует два способа миграции модели, таких как легкая миграция и модель сопоставления. Мое недоразумение: в каком сценарии мне нужно использовать способ сопоставления картографической модели миграции основных данных.Перенос базовой модели данных
0
A
ответ
1
Легкая миграция выполняется при добавлении/изменении/удалении атрибута или объекта - обычно простых операций.
Для отображения одной схемы в другую необходимо использовать параметр сопоставления. Предположим, вы и юридическое лицо A
, но вам нужно разделить его на две части: B
и C
. Затем вы должны указать CoreData, как сопоставлять сущности и атрибуты между схемами.
Этот процесс немного сложнее, чем легкий перенос. Для этого требуется создать файл модели сопоставления, при необходимости определить подкласс NSEntityMigrationPolicy
и т. Д., В зависимости от ваших потребностей.
Спасибо Oczko за быстрый ответ ... Если я понимаю правильную модель сопоставления, требуется, когда разделить сущность A на две существующие сущности, такие как Entity B и Entity C., но у меня есть одно сомнение, я могу справиться с этим сценарием, например, удалить атрибуты From Entity A и вручную добавляется в B и C при создании новой модели. Таким образом, LightWeight миграции достаточно или нет? – karan
Если приложение находится в разработке, и вы не против потерять данные, это нормально. В противном случае это было бы небезопасно, потому что CoreData не знает, как заполнять новые добавленные атрибуты. –