Миграция основных данных отношения один-ко-ко-многим - PullRequest
3 голосов
/ 05 мая 2010

У меня есть развернутое приложение, которое измеряет измерения от датчиков (например, Temp ° C, Давление кПа). Пользователь может создавать эксперименты и собирать образцы. Каждый образец сохраняется в виде прогона, так что между экспериментом и прогоном существует отношение один ко многим. В интересах производительности, Run имеет отношение «один к одному» с сущностью Data (где хранятся фактические необработанные данные); это позволяет загружать некоторые атрибуты Run без необходимости загрузки большого количества данных.

Большинство наших датчиков имеют несколько измерений, поэтому было бы неплохо сохранить все данные, которые фактически отбираются. Но это означает, что отношение Run <---> Data должно стать Run <- >> Data (чтобы использовать соглашение XCode).

Я столкнулся с попыткой перенести данные из старой модели данных Run to-one в новую модель данных Run to-many. Можно ли это сделать с помощью картографических моделей? Если да, есть ли у кого-нибудь указатели на примеры? Если нет, есть ли у кого-нибудь ссылки на примеры того, как это сделать?

Спасибо за любые указатели или советы.

Ответы [ 2 ]

3 голосов
/ 06 мая 2010

Эта миграция должна быть достаточно простой, чтобы сработала автоматическая миграция. В худшем случае для этого потребуется модель сопоставления, но я подозреваю, что она будет «просто работать», если включить автоматическую миграцию.

1 голос
/ 15 октября 2010

Мне пришлось несколько раз создать подкласс NSEntityMigrationPolicy. Это было необходимо, потому что свойства перемещались из / в разные объекты с добавлением нескольких уровней абстракции для поддержки значительно более общей модели. Также важным было упорядочение сопоставлений сущностей в модели сопоставления.

В конечном итоге мне пришлось установить параметры для -addPersistentStoreType: конфигурация: URL: опции: ошибка: до:

    NSDictionary *options = [NSDictionary dictionaryWithObjectsAndKeys:
                         [NSNumber numberWithBool:YES], NSMigratePersistentStoresAutomaticallyOption, nil];

, таким образом, опуская NSInferMappingModelAutomaticsOption.

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