Откат Core Data к более старой версии модели - PullRequest
0 голосов
/ 10 апреля 2020

Скажите, если у меня была версия модели базовых данных A и я недавно добавил более новую версию B с некоторыми новыми объектами и атрибутами. Я создал новые функции на их основе и выпустил их в App Store. Теперь по какой-то причине мне нужно откатить изменения, каков наилучший способ добиться этого? Один из способов, который я могу придумать, - это добавить более новую версию модели (версия C) с последними добавленными объектами и атрибутами, удаленными с соответствующими очистками кода. Или я могу просто удалить версию B и сбросить версию A в качестве текущей версии? Может ли Core Data без проблем мигрировать обратно из версии B (теперь ушедшей из модели) в A? Обратите внимание, что облегченная миграция Core Data работала, когда я переходил с версии A на B, поскольку это простые добавления сущностей / атрибутов.

1 Ответ

1 голос
/ 13 апреля 2020

Вы должны сделать версию C - даже если она идентична версии А. Вам не следует слишком беспокоиться о наличии множества моделей (в пределах разумного). Они не занимают много места для приложения, и они не увеличивают сложность кода. И если каждый переход работает, то Core-data может перевести любую версию на вашу последнюю модель. Может показаться немного странным, что человек в модели Версии A будет мигрировать на B только для перехода «назад» на C, но это небольшая цена за простую и эффективную миграцию модели.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...