04- CoreData轻量级版本的迁移

CoreData版本的迁移

一 轻量级的数据迁移

例如添加新的实体,新的实体属性。

轻量级版本迁移方案非常简单,大多数迁移工作都是由系统完成的,只需要告诉系统迁移方式即可。在持久化存储协调器(PSC)初始化对应的持久化存储(NSPersistentStore)对象时,设置options参数即可,参数是一个字典。PSC会根据传入的字典,自动推断版本迁移的过程。

1 新建一个版本的数据库模型

选中需要做迁移的模型文件 --> Editor --> Add model Version

2 在右边栏 设置当前的coredata 数据模型为新建的那个数据模型
3 修改新的数据模型 增加字段 增加实体 修改属性名 实体名 均可

增加字段 增加实体直接增加即可,如果是修改实体的名字,则需要按照如下的设置

并且在代码中吗,使用旧实体的时候换成新的实体

4 删除旧的实体类,重新生成新的实体类
5 设置options参数即可,打开数据库升级迁移的开关

NSMigratePersistentStoresAutomaticallyOption设置为YESCoreData会试着把低版本的持久化存储区迁移到最新版本的模型文件。

NSInferMappingModelAutomaticallyOption设置为YESCoreData会试着以最为合理地方式自动推断出源模型文件的实体中,某个属性到底对应于目标模型文件实体中的哪一个属性。

    // 轻量级数据库迁移的时候设置对应的参数
    NSDictionary *dic =[NSDictionary dictionaryWithObjectsAndKeys:[NSNumber numberWithBool:YES],NSMigratePersistentStoresAutomaticallyOption,[NSNumber numberWithBool:YES], NSInferMappingModelAutomaticallyOption,nil];

打印调试参数:

打开Product,选择Edit Scheme.
选择Arguments,在下面的ArgumentsPassed On Launch中添加下面两个选项,如图:
(1)-com.apple.CoreData.SQLDebug
(2)1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值