Core Data轻量级迁移有多少迁移步骤?

时间:2013-10-25 14:21:13

标签: ios core-data core-data-migration

我为我的iPhone应用程序使用Core Data和轻量级迁移。

假设我为应用创建了3个版本的数据模型。一位用户安装了我的应用程序的早期版本,其数据模型版本仍为v1。当用户将应用程序更新到具有数据模型版本v1,v2和v3的最新版本时,更新期间发生了什么?

sqlite数据库首先从v1迁移到v2,然后从v2迁移到v3?或者它只是从v1跳到v3?

2 个答案:

答案 0 :(得分:2)

在内部,我相信Core Data轻量级迁移会按顺序将更改应用于每个后续版本,但出于您的目的,您可以将其视为直接发生在最终版本上的迁移。据我所知,在轻量级迁移期间,没有“钩子”来拦截和运行版本之间的代码。

如果您需要更改数据或添加新数据,您应该动态确定模型版本并做出相应的反应。

答案 1 :(得分:1)

核心数据并不关心版本的顺序,也不关心任何中间版本。它只知道源版本和目标版本,它将直接在这些版本之间迁移。

通常使用轻量级迁移,这样可以正常工作。