Искам да мигрирам основните данни два модела. Според документите на Apple има два начина за мигриране на модела като лека миграция и модел на картографиране. Моето объркване е в кой сценарий трябва да използвам модела на картографиране по начин за миграция на основни данни.
Миграция на основния модел на данни
Отговори (1)
Олекотената миграция се извършва, когато добавите/промените/изтриете атрибут или обект - обикновено прости операции.
Опцията за картографиране е необходима, когато трябва да трансформирате една схема в друга. Да кажем, че вие и обект A
, но трябва да го разделите на две: B
и C
. След това трябва да кажете на CoreData как да картографира обекти и атрибути между схемите.
Този процес е малко по-сложен от леката миграция. Изисква да се създаде файл с модел на картографиране, да се дефинира NSEntityMigrationPolicy
подклас, ако е необходимо, и така нататък, в зависимост от вашите нужди.
person
Maciej Oczko
schedule
03.02.2014
Благодаря Oczko за бързия отговор ... Ако разбирам правилно моделът за картографиране се изисква, когато разделяте обект A на две съществуващи обекти като обект B и обект C. но имам едно съмнение, че мога да се справя с този сценарий, като изтрия атрибутите от обект A и добавени ръчно в B и C при създаване на нов модел. По този начин Леката миграция е достатъчна или не?
- person karan; 03.02.2014
Ако приложението е в процес на разработка и нямате нищо против да загубите данни, това е добре. В противен случай не би било безопасно, защото CoreData не знае как да попълни новодобавените атрибути.
- person Maciej Oczko; 03.02.2014