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

04- CoreData轻量级版本的迁移相关推荐

  1. ubuntu 20.04 设置网关_如何把Ubuntu升级到Ubuntu 20.04 LTS 最新版本

    请关注本头条号,每天坚持更新原创干货技术文章. 如需学习视频,请在微信搜索公众号"智传网优"直接开始自助视频学习 1. 前言 本文主要介绍如何把Ubuntu 旧版本升级到最新的Ub ...

  2. linux降内核版本_ubuntu16.04降级内核版本至3.13.0-85

    1.前言 采用ubuntu16.04在编译实验课程的实例代码simplefs 时,发现编译时报如下错误: 因此需要将ubuntu16.04的内核版本降级为 3.13.0-85-generic 2.修改 ...

  3. python版本切换_Ubuntu18.04下python版本完美切换的解决方法

    ubuntu18.04版本,python版本python2.7,python3.5,python3.6 因为安装一些库会安装到python3.6上,而默认使用的是python2.7,使用python3 ...

  4. SQL数据库从高版本到低版本的迁移,同时解决sql脚本文件太大无法打开的尴尬问题

    SQL数据库从高版本到低版本的迁移,同时解决sql脚本文件太大无法打开的尴尬问题 参考文章: (1)SQL数据库从高版本到低版本的迁移,同时解决sql脚本文件太大无法打开的尴尬问题 (2)https: ...

  5. 关于Ubuntu 16.04系统挂载硬盘以及迁移MYSQL数据存储目录的操作步骤

    转载链接 : 关于Ubuntu 16.04系统挂载硬盘以及迁移MYSQL数据存储目录的操作步骤 :https://www.jianshu.com/p/58093888ee25 本文背景: 现有项目系统 ...

  6. R语言升级版本和迁移老版本中的包到新版本上的一些问题

    本人之前一直使用的是R4.0.3,因为需要重新论文中的方法,所以升级到了最新的版本! 升级版本的过程中也看了一些博主发的文章,但是都没有遇到我这种情况,所以我想把我遇到的问题分享给大家,以便大家遇到这 ...

  7. Ubuntu (18.04及其以上版本): 下载安装钉钉

    Ubuntu (18.04及其以上版本): 下载安装 下载链接:(当前最新版本1.4.0.20425) https://dtapp-pub.dingtalk.com/dingtalk-desktop/ ...

  8. 工控机 ubuntu16.04 yolov5 cpu版本安装和开发

    工控机 ubuntu16.04 yolov5 cpu版本安装 背景 环境安装 结果 安装过程中yolov5报错: 配合pyrealsense2 做检测 通过二维点获取三维坐标 rospy发送msg 背 ...

  9. 使用CoreData的轻量级自动数据迁移

    使用IOS的CoreData进行存储很方便,CoreData已经帮我们做了很多基础的工作,一般情况下没必要自己操作数据库了. 在开发中修改了实体模型,可能会遇到schema incompatibili ...

最新文章

  1. Windows 安装adb
  2. JDBC高级特性3--JNDI,连接池,分布式事务
  3. 苹果手机安装应用后无法上网问题的解决方法
  4. linux ant脚本,linux下ant jmeter自动化测试
  5. NOP (code)_NOP指令作用及解析
  6. 记一次Sentry部署过程
  7. python requests 10041报错_pythonrequests返回unicode异常消息(或如何设置请求区域设置)...
  8. 山羊与汽车游戏的实验算法
  9. 前端学习(2267)vue造轮子之添加icon
  10. 与number_format函数有关的一个bug?
  11. java.sql.Date – Java SQL日期
  12. ie上传文件到ftp服务器,通过浏览器上传文件到ftp
  13. ajax post forbidden,解决 Ajax 发送 post 请求出现 403 Forbidden 的三种方式
  14. 2篇SCI二区+3篇一类论文认定A档博士!享110万房补!直接副教授、甚至教授待遇,30万科启
  15. 关于单精度浮点型精确位数7~8以及双精度浮点型精确位数15~16的解释
  16. nginx: [emerg] “location“ directive is not allowed here
  17. 永磁同步电机PMSM直接转矩滞环控制 采用三闭环控制:转速外环采用PI调节器,转矩环和磁链环经过滞环后得到PWM脉冲
  18. 案例理解LEFT JOIN、RIGHT JOIN、INNER JOIN、OUTER JOIN 相关的 7 种用法
  19. CAD2010软件安装资料及教程
  20. C 阶梯式个人所得税计算

热门文章

  1. nyoj——297(期望)
  2. Vue源码终笔-VNode更新与diff算法初探
  3. [翻译]ASP.NET MVC 3 开发的20个秘诀(十二)[20 Recipes for Programming MVC 3]:缩放图片尺寸创建缩略图...
  4. 自动生成纯文本表格的工具
  5. NetBeans配置Xdebug 远程调试PHP
  6. MRTG—网络监控工具
  7. asp.net中窗口相关操作总结(javascript)
  8. 理解C#中的string类型
  9. 优化 Web 服务器计算机和特定应用程序的配置文件以符合您的特定需要
  10. ubuntu vsftpd虚拟用户配置/ubuntu12.04上搭建vsftpd服务示例linux