核心数据版本控制 - 需要多个映射模型

Cra*_*son 5 core-data objective-c core-data-migration ios

我有一个使用Core Data的现有项目,我的xcdatamodeldbundle中有3个版本.到目前为止,我只使用了轻量级迁移,因为我主要添加了新的参数和实体,但是我现在希望将现有参数移动到新实体中.我意识到我必须mapping model克服一个这样做,以便在参数之间迁移数据.

我认为有些用户使用该版本的应用程序的旧版本,而其他版本使用版本2和3.

问题:

  1. 我是否需要创建从所有现有版本到新版本的映射模型,或者仅从最新版本创建映射模型
  2. 我是否需要更改/禁用我的轻量级迁移选项NSPersistentStoreCoordinator?目前我启用了以下选项:

    NSMigratePersistentStoresAutomaticallyOption
    NSInferMappingModelAutomaticallyOption

我认为仍然需要轻量级迁移从v1移动到v2到v3,但是新的映射模型需要从v3到v4.我已经浏览了一下,但由于大多数教程仅涵盖2个版本,因此无法找到有关这一切是如何发生的任何信息.

谢谢

Mun*_*ndi 1

  1. 刚从最新版本开始。
  2. 不。

迁移是连续的(这就是为什么您需要保留所有模型版本的原因,即使预计不会从第一个版本进行迁移。

NSMigratePersistentStoresAutomaticallyOption仅当不存在映射模型时才会执行自动迁移。