将旧数据模型文件复制到新项目中进行轻量级核心数据迁移

Posted

技术标签:

【中文标题】将旧数据模型文件复制到新项目中进行轻量级核心数据迁移【英文标题】:Copying the old data model file into a new project for lightweight core data migration 【发布时间】:2013-01-18 22:52:01 【问题描述】:

我正在学习核心数据迁移,但我错误地对当前架构文件本身进行了一些更改。但是,我确实有该项目的备份副本,它使用以前的模式。现在,我不想从头开始,但我确实想使用旧模式作为迁移的一部分。所以这里是我计划实现的步骤:

(1) 将备份项目中的旧.xcdatamodel文件导入主项目,并使其成为v1.xcdatamodel (2) 将已有项目(main)中的.xcdatamodel文件重命名为v2.xcdatamodel (3) 定义“options”字典并设置它以供persistentstorecoordinator使用。

我不确定这是否可行。 谁能建议我解决问题的正确方法??

【问题讨论】:

【参考方案1】:

好的。现在我明白了这个概念。核心数据允许您在存储这些文件的 .xcdatamodeld 文件夹中存储多个 .xcdatamodel(ManagedObjectModel) 文件。我所做的是,我复制了旧的 MOM 文件并将其放在我当前(新)项目的 .xcdatamodeld 文件夹中。现在,轻量级迁移就出现了,并且可以正确执行迁移。

【讨论】:

以上是关于将旧数据模型文件复制到新项目中进行轻量级核心数据迁移的主要内容,如果未能解决你的问题,请参考以下文章

iOS:备份核心数据并使用较新的模型版本进行恢复

将核心数据数据库导入新项目

CoreData 版本控制和阻塞轻量级迁移

通过迁移将核心数据实体及其数据移动到新的核心数据模型文件中

将核心数据模型从 OSX 迁移到 IOS

轻量级数据迁移