具有多个版本的核心数据迁移(轻量级)

时间:2013-02-27 20:58:17

标签: core-data migration

我使用ABC.xcdatamodel开发了Core Data商店。 分发应用版本1。

需要对属性名称进行一些简单的更改,因此我创建了一个新版本ABC 2.vcdatamodel。 分发应用版本2。 这工作得很好。迁移是完美的。

然后,我需要做一些更简单的更改(添加一个属性),所以我创建了另一个基于ABC 2的新版本; ABC 3.xcdatamodel。 从版本2更新时自动迁移失败。

但是,如果我尝试从版本1版本升级(使用ABC.xcdatamodel),一切都像魅力一样。

我错过了一些明显的东西吗?想法?

1 个答案:

答案 0 :(得分:0)

一个想法 - 您可能无意中修改了版本2数据模型,使其不再与修改之前创建的版本2商店相匹配。现在,当一个带有“真实”版本2存储的实例加载时,找不到匹配的数据模型,因此它无法从2转换为3.在处理版本之前,您是否已将版本2模型签入git / svn 3?它是否显示为已修改?

请注意,“已修改”并不一定意味着添加任何属性 - 只会改变Core Data用于定义版本的哈希值的任何小事。