Миграция на основния модел на данни

Искам да мигрирам основните данни два модела. Според документите на Apple има два начина за мигриране на модела като лека миграция и модел на картографиране. Моето объркване е в кой сценарий трябва да използвам модела на картографиране по начин за миграция на основни данни.


person karan    schedule 03.02.2014    source източник


Отговори (1)


Олекотената миграция се извършва, когато добавите/промените/изтриете атрибут или обект - обикновено прости операции.

Опцията за картографиране е необходима, когато трябва да трансформирате една схема в друга. Да кажем, че вие ​​и обект A, но трябва да го разделите на две: B и C. След това трябва да кажете на CoreData как да картографира обекти и атрибути между схемите.

Този процес е малко по-сложен от леката миграция. Изисква да се създаде файл с модел на картографиране, да се дефинира NSEntityMigrationPolicy подклас, ако е необходимо, и така нататък, в зависимост от вашите нужди.

person Maciej Oczko    schedule 03.02.2014
comment
Благодаря Oczko за бързия отговор ... Ако разбирам правилно моделът за картографиране се изисква, когато разделяте обект A на две съществуващи обекти като обект B и обект C. но имам едно съмнение, че мога да се справя с този сценарий, като изтрия атрибутите от обект A и добавени ръчно в B и C при създаване на нов модел. По този начин Леката миграция е достатъчна или не? - person karan; 03.02.2014
comment
Ако приложението е в процес на разработка и нямате нищо против да загубите данни, това е добре. В противен случай не би било безопасно, защото CoreData не знае как да попълни новодобавените атрибути. - person Maciej Oczko; 03.02.2014