Базовое управление версиями модели данных и миграция данных

Базовые Данные предоставляют поддержку для того, чтобы управлять изменения к модели управляемого объекта, поскольку развивается Ваше приложение.

Можно только открыть, Core Data store с помощью модели управляемого объекта раньше создавал его. Изменение модели поэтому сделает его несовместимым с (и настолько неспособный открыться) хранилища, которые это ранее создало. При изменении модели поэтому необходимо изменить данные в существующих хранилищах к новой версии — изменение формата хранилища известно как миграция.

Для миграции хранилища Вам нужна и версия модели, используемой для создания его, и текущая версия модели, на которую Вы хотите мигрировать. Можно создать имеющую версию модель, содержащую больше чем одну версию модели управляемого объекта. В имеющей версию модели Вы отмечаете одну версию, как являющуюся текущей версией. Базовые Данные могут тогда использовать эту модель для открытия, персистентные хранилища создали использование любой из версий модели, и переместите хранилища на текущую версию. Чтобы помочь Удалить сердцевину Данных выполняют миграцию, тем не менее, Вам, вероятно, придется предоставить информацию о том, как отобразиться от одной версии модели другому. Эта информация может быть в форме подсказок в самой имеющей версию модели, или в отдельном отображающемся файле модели, который Вы создаете.

Сразу

Как правило, поскольку это развивается от одной версии до другого, многочисленных аспектов Вашего изменения приложений: классы Вы реализуете, пользовательский интерфейс, формат файла, и т.д. Необходимо знать и в управлении всех этих аспектов; нет никакого API, решающего проблемы, связанные со всеми они — например, Какао не обеспечивает средние значения для автоматического обновления пользовательского интерфейса, если Вы добавляете новый атрибут к объекту в Вашей модели управляемого объекта. Базовые Данные не решают все проблемы того, как Вы развертываете свое приложение. Это действительно, тем не менее, предоставляет поддержку для маленького — но важный и нетривиальный — подмножество задач необходимо выполнить, поскольку развивается приложение.

Несмотря на то, что Базовые Данные делают управление версиями и миграцию проще, чем обычно иначе имел бы место, эти процессы все еще нетривиальны в действительности. Все еще необходимо тщательно рассмотреть импликации выпуска и поддержки различных версий приложения.

Предпосылки

Этот документ предполагает, что Вы знакомы с Базовой архитектурой Данных и основными принципами использования Базовых Данных. Необходимо быть в состоянии идентифицировать части Базового Стека данных и понять роли модели, контекста управляемого объекта и персистентного координатора хранилища. Необходимо знать, как создать модель управляемого объекта, как создать и программно взаимодействовать с частями Базового Стека данных.

Если Вы не удовлетворяете эти требования, необходимо сначала считать Базовое Руководство по программированию Данных и связанные материалы. Вы строго призваны также работать через Базовое Учебное руководство по Утилите Данных.