Ios 核心数据轻量级迁移有多少个迁移步骤?
我在iPhone应用程序中使用核心数据和轻量级迁移 假设我为应用程序创建了3个版本的数据模型。一位用户安装了my app的早期版本,其数据模型版本仍然是v1。当用户将应用程序更新为数据模型版本v1、v2和v3的最新版本时,更新过程中发生了什么Ios 核心数据轻量级迁移有多少个迁移步骤?,ios,core-data,core-data-migration,Ios,Core Data,Core Data Migration,我在iPhone应用程序中使用核心数据和轻量级迁移 假设我为应用程序创建了3个版本的数据模型。一位用户安装了my app的早期版本,其数据模型版本仍然是v1。当用户将应用程序更新为数据模型版本v1、v2和v3的最新版本时,更新过程中发生了什么 sqlite数据库首先从v1迁移到v2,然后从v2迁移到v3?或者它只是从v1跳到v3?在内部,我相信核心数据轻量级迁移将按顺序将更改应用到每个后续版本,但出于您的目的,您可以将其视为直接发生在最终版本上的迁移。据我所知,在轻量级迁移过程中,没有“钩子”来
sqlite数据库首先从v1迁移到v2,然后从v2迁移到v3?或者它只是从v1跳到v3?在内部,我相信核心数据轻量级迁移将按顺序将更改应用到每个后续版本,但出于您的目的,您可以将其视为直接发生在最终版本上的迁移。据我所知,在轻量级迁移过程中,没有“钩子”来拦截和运行版本间的代码
如果需要更改数据或添加新数据,则应动态确定模型版本并做出相应反应。核心数据不关心版本顺序,也不关心任何中间版本。它只知道源版本和目标版本,它将直接在它们之间迁移
一般来说,对于轻量级迁移,这会很好。不过,我也认为一般的过程应该是一个版本一个版本的迁移,或者至少在决定最终模式时,每个历史模型模式都将被引用。但实施细节很重要,但事实并非如此,请看我的答案。