По мнению Донни Уолша (и с ним сложно не согласиться) легкие миграции хорошо работают, когда не вводятся новые требования: добавление опциональных полей, их удаление или переименование.
Но в ситуации, когда нам нужно ввести новое опциональное свойство, изменить типы или в боле сложном кейсе — мы попадаем в область ручной миграции, и на помощь может прийти SchemaMigrationPlan с настраиваемыми этапами.
📖 В этой статье рассмотрено несколько таких ситуаций:
🔘 Как внедрять версии с помощью VersionedSchema
🔘 Когда следует вводить новые версии схемы
🔘 Когда SwiftData может выполнять миграцию автоматически, а когда стоит использовать
SchemaMigrationPlan и MigrationStage🔘 Как обрабатывать особо сложные миграции
🔗 А вот здесь есть пример от Apple, как интегрировать SwiftData в свой проект.
😃 iOS Dev
