核心数据迁移:更改值类型

时间:2014-09-06 16:38:40

标签: ios xcode core-data migration

我已经发布了使用Coredata的应用程序,因此请保存所有数据。我的模型定义了BinaryData类型的值,我想将类型更改为Integer。

目前该字段未使用,但其类型不正确。我可以毫不费力地迁移我的商店吗?我尝试了一些方法,但没有一个真正起作用。

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

正确的方法是使用映射模型,但我认为有一个更实用的解决方案。因为该字段从未使用过,所以只需将其删除即可。开销实际上是不存在的。

现在你所要做的就是轻量级迁移:

  • 创建新的模型版本。
  • 添加Int属性,删除旧属性。
  • 将活动模型版本更改为新版本。
  • 将您的通话中的选项更改为addPersistentStore以包含
    • NSMigratePersistentStoresAutomaticallyOption
    • NSInferMappingModelAutomaticallyOption
  • 更改您的代码以使用新属性
  • 消除代码中旧属性的所有潜在用途

在上传前彻底测试;-)。