我使用ABC.xcdatamodel开发了Core Data商店。 分发应用版本1。
需要对属性名称进行一些简单的更改,因此我创建了一个新版本ABC 2.vcdatamodel。 分发应用版本2。 这工作得很好。迁移是完美的。
然后,我需要做一些更简单的更改(添加一个属性),所以我创建了另一个基于ABC 2的新版本; ABC 3.xcdatamodel。 从版本2更新时自动迁移失败。
但是,如果我尝试从版本1版本升级(使用ABC.xcdatamodel),一切都像魅力一样。
我错过了一些明显的东西吗?想法?
答案 0 :(得分:0)
一个想法 - 您可能无意中修改了版本2数据模型,使其不再与修改之前创建的版本2商店相匹配。现在,当一个带有“真实”版本2存储的实例加载时,找不到匹配的数据模型,因此它无法从2转换为3.在处理版本之前,您是否已将版本2模型签入git / svn 3?它是否显示为已修改?
请注意,“已修改”并不一定意味着添加任何属性 - 只会改变Core Data用于定义版本的哈希值的任何小事。