Core data 通过有无映射模型的多个版本进行核心数据迁移

Core data 通过有无映射模型的多个版本进行核心数据迁移,core-data,core-data-migration,Core Data,Core Data Migration,在过去的一个小时里,我读了很多关于这个问题的帖子,但没有看到下面这个问题的确切答案 我计划为我的应用程序执行另一次数据迁移,如下所示: 版本1-初始数据模型 版本2-具有自定义映射和辅助方法的新模型 版本3-具有简单映射的新模型(添加了一些属性和关系) 对于版本2,我使用了NSMigratePersistentStoresAutomaticalyOption选项。 对于版本3,我想添加nsinFermappingModelAutomaticalyOption选项,因为我不需要映射模型,因为转换是

在过去的一个小时里,我读了很多关于这个问题的帖子,但没有看到下面这个问题的确切答案

我计划为我的应用程序执行另一次数据迁移,如下所示:

版本1-初始数据模型
版本2-具有自定义映射和辅助方法的新模型
版本3-具有简单映射的新模型(添加了一些属性和关系)

对于版本2,我使用了NSMigratePersistentStoresAutomaticalyOption选项。 对于版本3,我想添加nsinFermappingModelAutomaticalyOption选项,因为我不需要映射模型,因为转换是“轻量级迁移”

但是,由于版本2具有自定义迁移,应用程序的“内部逻辑”是否会知道版本2需要使用自定义映射模型,即使为最新版本(版本3)添加了NSInferMappingModelAutomaticallyOption选项

我知道有很多方法可以检查版本信息并记录下来进行测试。我的应用程序也有版本控制,所以我可以测试运行从版本1到版本2到版本3的转换

然而,我想从设计的角度得到反馈,因为我想100%确定我不会把事情搞砸:-)


非常感谢您的反馈。

您做的一切都很好。无论迁移的类型如何(轻量级或非轻量级),都需要完整的迁移历史来获得并发数据模型版本。此外,您提出的工作流程设计中没有明显的缺陷。

我真的很感谢您的反馈。完成数据模型并在模拟器上运行更新,成功转换。