我有一个使用Core Data的现有项目,我的xcdatamodeld
包中有3个版本。到目前为止,我只使用了轻量级迁移,因为我主要添加了新的参数和实体,但是我现在希望将现有参数移动到新实体中。我意识到我必须创建一个mapping model
才能在参数之间迁移数据。
我认为有些用户使用该版本的应用程序的旧版本,而其他版本使用版本2和3.
问题:
我是否需要更改/禁用NSPersistentStoreCoordinator
上的轻量级迁移选项?目前,我启用了以下选项:
NSMigratePersistentStoresAutomaticallyOption
NSInferMappingModelAutomaticallyOption
我认为仍然需要轻量级迁移才能从v1移动到v2到v3,但是新的映射模型需要从v3转到v4。我已经浏览了一下,但由于大多数教程仅涵盖2个版本,因此无法找到有关这一切是如何发生的任何信息。
由于
答案 0 :(得分:1)
迁移是顺序的(这就是为什么您需要保留所有模型版本的原因,即使预计不会从第一个版本迁移。
如果不存在映射模型,NSMigratePersistentStoresAutomaticallyOption
将仅执行自动迁移。