Могу ли я изменить правило удаления для связи с основными данными и при этом выполнить легкую миграцию?

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

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

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

1 ответ

Решение

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

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

Другие вопросы по тегам