Разве использование облегченной миграции с десятками обновлений не приведет к снижению производительности? - PullRequest
0 голосов
/ 14 июня 2010

Я думаю, что замечаю, что при отправке обновлений мне, вероятно, придется сохранять целую стопку версий моделей.Я не уверен, что произойдет, если у кого-то будет версия 1.0 с заполненными данными, а затем мгновенно обновится до версии 5.0 без какой-либо промежуточной версии.Таким образом, миграция также должна знать, какова была эта самая первая модель данных.Или, может быть, это даже не работает вообще.не знаю

Однако после некоторых изменений у меня было около 25 моделей данных там, где последней была текущая версия.Так что я думаю, что постоянный координатор магазина будет много работать над этими версиями и шаг за шагом выяснять различия.Разве это не отстой?Есть ли обходной путь?

1 Ответ

2 голосов
/ 14 июня 2010

Если пользователь переходит с версии 1 на версию 5, Core Data попытается сделать это за один проход.

Core Data не имеет понятия «версия 1» и «версия 5», он понимает только источники модели назначения.Когда пользователь загружает вашу «версию 1», Core Data находит исходную модель в вашем комплекте.Базовые данные также будут определять пункт назначения на основе «текущей» модели.Оттуда он пытается выполнить миграцию.

Поэтому, когда вы создаете новую версию, вы ДОЛЖНЫ проверять каждую возможную миграцию, чтобы убедиться, что они работают.Если они не работают с автоматическим режимом, добавьте модель сопоставления для , что миграции.

Так что проблем с производительностью нет, потому что Core Data выполнит только одну миграцию.

...