2

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

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

sqlite数据库先从v1迁移到v2再从v2迁移到v3?还是只是从 v1 跳到 v3?

4

2 回答 2

2

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

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

于 2013-10-26T16:23:52.957 回答
1

Core Data 不关心版本的顺序,也不关心任何中间版本。它只知道源版本和目标版本,它将直接在它们之间迁移。

通常,对于轻量级迁移,这将正常工作。

于 2016-10-05T08:07:35.600 回答