核心数据迁移通过带有和不带映射模型的多个版本

时间:2012-04-23 05:45:46

标签: core-data core-data-migration

我在过去一小时内阅读过各种各样的帖子,但没有看到以下问题的准确答案。

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

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

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

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

我看到有办法检查版本信息并将其记录下来进行测试。我的应用程序也受版本控制,因此我可以测试运行从版本1到2到3的转换。

但是,我想从设计的角度得到反馈,因为我想100%确定我不会搞砸了: - )

我感谢任何反馈。

1 个答案:

答案 0 :(得分:3)

你正在做的一切正确。无论迁移类型(轻量级或非轻量级),都需要整个迁移历史记录才能获得并发数据模型版本。此外,您提出的工作流程设计中没有可察觉的缺陷。