3

在过去的一个小时里,我已经阅读了有关此问题的各种帖子,但没有看到以下问题的准确答案。

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

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

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

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

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

但是,我想从设计的角度获得反馈,因为我想 100% 确定我不会把这件事搞砸:-)

我很感激任何反馈。

4

1 回答 1

3

你做的一切都是正确的。无论迁移类型如何(轻量级或非轻量级),整个迁移历史对于到达并发数据模型版本都是必要的。此外,您提出的工作流程设计中没有可察觉的缺陷。

于 2012-04-23T06:06:01.893 回答