Ios Coredata迁移:更改值类型
我已经发布了一个使用Coredata的应用程序,所以请保存所有数据。我的模型定义了一个BinaryData类型的值,我想将该类型更改为Integer 当前该字段未使用,但其类型不正确。我可以轻松迁移我的店铺吗?我尝试过一些方法,但没有一种真正有效Ios Coredata迁移:更改值类型,ios,xcode,core-data,migration,Ios,Xcode,Core Data,Migration,我已经发布了一个使用Coredata的应用程序,所以请保存所有数据。我的模型定义了一个BinaryData类型的值,我想将该类型更改为Integer 当前该字段未使用,但其类型不正确。我可以轻松迁移我的店铺吗?我尝试过一些方法,但没有一种真正有效 有什么想法吗?正确的方法是使用映射模型,但我认为有一个更实用的解决方案适合您。由于该字段从未使用过,请删除它。开销几乎不存在 现在,您需要做的就是轻量级迁移: 创建新的模型版本 添加Int属性,删除旧属性 将活动模型版本更改为新版本 将调用中的选项更
有什么想法吗?正确的方法是使用映射模型,但我认为有一个更实用的解决方案适合您。由于该字段从未使用过,请删除它。开销几乎不存在 现在,您需要做的就是轻量级迁移:
- 创建新的模型版本
- 添加Int属性,删除旧属性
- 将活动模型版本更改为新版本
- 将调用中的选项更改为
以包括addPersistentStore
NSMigratePersistentStoresAutomaticallyOption
nsinfermappingmodelautomaticalyOption
- 更改代码以使用新属性
- 从代码中消除旧属性的所有潜在用途
在上传之前彻底测试;-) 是的,你可以。这将有助于你:嗯,现在CoreData无法创建ManagedModel。我还更改了模型url,添加了“d”:
和扩展名:@“momd”]
似乎这是另一个问题。确保你完成了前三个步骤。使用版本管理来测试更改。那是一个愚蠢的错误,是我的错。重命名了新版本,Xcode惊慌失措。现在还有另一个问题:如果我没有安装旧版本的应用程序并安装新版本,我会遇到一个奇怪的错误:好吧,你知道解决方案。调试愉快!回到你以前的状态,再做一遍动作。