迁移可以在没有多个数据模型版本的情况下完成。 欢呼?

我指的是一个精彩的教程Swift核心数据教程的核心数据迁移。

啧啧称,核心数据的迁移与多个版本的数据模型齐头并进。

我正在尝试轻量级的迁移,并得出以下几点:

场景 – 我有一个数据模型,我试图添加一些新的属性到一个实体,我得到一个错误 –

iOS版本 – 9.1 Swift版本 – 2.2

“用于打开商店的模型与用于创build商店的模型不兼容”

然后尝试通过添加代码来启用迁移而不创build任何新版本

let options = [ NSMigratePersistentStoresAutomaticallyOption : true, NSInferMappingModelAutomaticallyOption : true ] try persistentStoreCoordinator.addPersistentStoreWithType(NSSQLiteStoreType, configuration: nil, URL: URLPersistentStore, options: options) 

然后我试着改变数据库的类似,即添加一个属性的实体和欢呼!!,它不会导致崩溃。 即使我试图访问特定的实体以及属性,但成功地做到了。

发生了什么是没有多个版本的迁移。

问题 – 迁移可能没有多个版本的数据模型?

链接到示例代码 – https://www.dropbox.com/s/mnb2dzxn56ghuet/CoreDataSwift-NSFetchedResultsController-master-2.zip?dl=0

从iOS 9开始 ,核心数据将把数据模型复制到持久性存储中,并且如果轻量级迁移是必要和要求的,则将其作为起点。 因此,即使旧型号版本不可用,轻量级迁移也是可能的。 这只适用于SQLite持久性存储,仅适用于轻量级模型迁移。

这在WWDC 2015 核心数据新增内容中有所描述。