04- CoreData轻量级版本的迁移
CoreData版本的迁移
一 轻量级的数据迁移
例如添加新的实体,新的实体属性。
轻量级版本迁移方案非常简单,大多数迁移工作都是由系统完成的,只需要告诉系统迁移方式即可。在持久化存储协调器(PSC
)初始化对应的持久化存储(NSPersistentStore
)对象时,设置options
参数即可,参数是一个字典。PSC
会根据传入的字典,自动推断版本迁移的过程。
1 新建一个版本的数据库模型
选中需要做迁移的模型文件 --> Editor --> Add model Version
2 在右边栏 设置当前的coredata 数据模型为新建的那个数据模型
3 修改新的数据模型 增加字段 增加实体 修改属性名 实体名 均可
增加字段 增加实体直接增加即可,如果是修改实体的名字,则需要按照如下的设置
并且在代码中吗,使用旧实体的时候换成新的实体
4 删除旧的实体类,重新生成新的实体类
5 设置options
参数即可,打开数据库升级迁移的开关
NSMigratePersistentStoresAutomaticallyOption
设置为YES
,CoreData
会试着把低版本的持久化存储区迁移到最新版本的模型文件。
NSInferMappingModelAutomaticallyOption
设置为YES
,CoreData
会试着以最为合理地方式自动推断出源模型文件的实体中,某个属性到底对应于目标模型文件实体中的哪一个属性。
// 轻量级数据库迁移的时候设置对应的参数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轻量级版本的迁移相关推荐
- ubuntu 20.04 设置网关_如何把Ubuntu升级到Ubuntu 20.04 LTS 最新版本
请关注本头条号,每天坚持更新原创干货技术文章. 如需学习视频,请在微信搜索公众号"智传网优"直接开始自助视频学习 1. 前言 本文主要介绍如何把Ubuntu 旧版本升级到最新的Ub ...
- linux降内核版本_ubuntu16.04降级内核版本至3.13.0-85
1.前言 采用ubuntu16.04在编译实验课程的实例代码simplefs 时,发现编译时报如下错误: 因此需要将ubuntu16.04的内核版本降级为 3.13.0-85-generic 2.修改 ...
- python版本切换_Ubuntu18.04下python版本完美切换的解决方法
ubuntu18.04版本,python版本python2.7,python3.5,python3.6 因为安装一些库会安装到python3.6上,而默认使用的是python2.7,使用python3 ...
- SQL数据库从高版本到低版本的迁移,同时解决sql脚本文件太大无法打开的尴尬问题
SQL数据库从高版本到低版本的迁移,同时解决sql脚本文件太大无法打开的尴尬问题 参考文章: (1)SQL数据库从高版本到低版本的迁移,同时解决sql脚本文件太大无法打开的尴尬问题 (2)https: ...
- 关于Ubuntu 16.04系统挂载硬盘以及迁移MYSQL数据存储目录的操作步骤
转载链接 : 关于Ubuntu 16.04系统挂载硬盘以及迁移MYSQL数据存储目录的操作步骤 :https://www.jianshu.com/p/58093888ee25 本文背景: 现有项目系统 ...
- R语言升级版本和迁移老版本中的包到新版本上的一些问题
本人之前一直使用的是R4.0.3,因为需要重新论文中的方法,所以升级到了最新的版本! 升级版本的过程中也看了一些博主发的文章,但是都没有遇到我这种情况,所以我想把我遇到的问题分享给大家,以便大家遇到这 ...
- Ubuntu (18.04及其以上版本): 下载安装钉钉
Ubuntu (18.04及其以上版本): 下载安装 下载链接:(当前最新版本1.4.0.20425) https://dtapp-pub.dingtalk.com/dingtalk-desktop/ ...
- 工控机 ubuntu16.04 yolov5 cpu版本安装和开发
工控机 ubuntu16.04 yolov5 cpu版本安装 背景 环境安装 结果 安装过程中yolov5报错: 配合pyrealsense2 做检测 通过二维点获取三维坐标 rospy发送msg 背 ...
- 使用CoreData的轻量级自动数据迁移
使用IOS的CoreData进行存储很方便,CoreData已经帮我们做了很多基础的工作,一般情况下没必要自己操作数据库了. 在开发中修改了实体模型,可能会遇到schema incompatibili ...
最新文章
- Windows 安装adb
- JDBC高级特性3--JNDI,连接池,分布式事务
- 苹果手机安装应用后无法上网问题的解决方法
- linux ant脚本,linux下ant jmeter自动化测试
- NOP (code)_NOP指令作用及解析
- 记一次Sentry部署过程
- python requests 10041报错_pythonrequests返回unicode异常消息(或如何设置请求区域设置)...
- 山羊与汽车游戏的实验算法
- 前端学习(2267)vue造轮子之添加icon
- 与number_format函数有关的一个bug?
- java.sql.Date – Java SQL日期
- ie上传文件到ftp服务器,通过浏览器上传文件到ftp
- ajax post forbidden,解决 Ajax 发送 post 请求出现 403 Forbidden 的三种方式
- 2篇SCI二区+3篇一类论文认定A档博士!享110万房补!直接副教授、甚至教授待遇,30万科启
- 关于单精度浮点型精确位数7~8以及双精度浮点型精确位数15~16的解释
- nginx: [emerg] “location“ directive is not allowed here
- 永磁同步电机PMSM直接转矩滞环控制 采用三闭环控制:转速外环采用PI调节器,转矩环和磁链环经过滞环后得到PWM脉冲
- 案例理解LEFT JOIN、RIGHT JOIN、INNER JOIN、OUTER JOIN 相关的 7 种用法
- CAD2010软件安装资料及教程
- C 阶梯式个人所得税计算
热门文章
- nyoj——297(期望)
- Vue源码终笔-VNode更新与diff算法初探
- [翻译]ASP.NET MVC 3 开发的20个秘诀(十二)[20 Recipes for Programming MVC 3]:缩放图片尺寸创建缩略图...
- 自动生成纯文本表格的工具
- NetBeans配置Xdebug 远程调试PHP
- MRTG—网络监控工具
- asp.net中窗口相关操作总结(javascript)
- 理解C#中的string类型
- 优化 Web 服务器计算机和特定应用程序的配置文件以符合您的特定需要
- ubuntu vsftpd虚拟用户配置/ubuntu12.04上搭建vsftpd服务示例linux