2015-05-06 4 views
3

У меня есть два приложения, которые говорят с одним и тем же API. По мере того как они выросли, каждый из них использовал больше возможностей API, и теперь я нахожусь на том этапе, где они идентичны, за исключением расположения пусковых контроллеров.Могу ли я изменить правило удаления отношения основных данных и выполнить легкую миграцию?

Их основные модели данных до сих пор поддерживались отдельно, содержащие только те объекты, которые им нужны; но теперь я хотел бы использовать те же версии модели данных для каждого из них. Однако их последние версии отличаются небольшими способами, особенно в правилах удаления некоторых из этих отношений.

Если я изменю правило удаления от Nullify до Cascade или наоборот между версиями, смогу ли я выполнить легкую миграцию? Он не упоминается в Apple's web page, хотя он перечисляет аналогичные шаги как совместимые (например, один-один < -> для многих)

ответ

9

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

Некоторые объяснения этого: миграция необходима только в том случае, если изменяется хеш версии. Хэш версии рассматривает только данные, которые влияют на сохранение данных в постоянном хранилище. Если вы посмотрите versionHash на NSRelationshipDescription, единственное, что он добавляет, это «... имя объекта назначения и обратного отношения, а также счетчик min и max». Правила удаления не имеют значения для хеш-версии, поэтому они не имеют значения для миграции.

+0

Блестящий - спасибо! – Simon

+0

Протестировано, и вы правы ... Изменено множество правил удаления, и миграция не требовалась! благодаря –

 Смежные вопросы

  • Нет связанных вопросов^_^