Могу ли я изменить правило удаления для связи с основными данными и при этом выполнить легкую миграцию?
У меня есть два приложения, которые общаются с одним и тем же API. По мере того, как они росли, каждый из них брал на себя больше функций API, и я сейчас на стадии, когда они идентичны, за исключением расположения начальных контроллеров.
Их основные модели данных до сих пор поддерживались отдельно и содержали только те объекты, которые им были необходимы; но теперь я хотел бы использовать одинаковые версии модели данных для каждой из них. Однако их последние версии отличаются небольшими отличиями, особенно в правилах удаления некоторых отношений.
Если я изменю правило удаления из Nullify
в Cascade
или наоборот, между версиями я смогу выполнить облегченную миграцию? Он не упоминается на веб-странице Apple, хотя в нем перечислены аналогичные шаги как совместимые (например, to-one <-> to-many)
1 ответ
Да. Фактически, если бы изменение правила удаления было единственным изменением, вам даже не пришлось бы выполнять миграцию.
Некоторое объяснение этого: миграция необходима только в случае изменения версии хэша. Хэш версии учитывает только детали, которые влияют на то, как данные сохраняются в постоянном хранилище. Если вы посмотрите вверх versionHash
на NSRelationshipDescription
единственное, что он добавляет, это "... имя целевого объекта и обратное отношение, а также минимальное и максимальное количество". Правила удаления не имеют значения для хэша версии, поэтому они не имеют значения для миграции.