静态库中的CoreData自动迁移

时间:2014-02-24 15:00:29

标签: ios core-data migration magicalrecord

我目前正在使用Magical Record将数据库存储在我的i​​OS应用程序中。

我将核心数据xcdatamodeld存储在静态库中,这是我应用程序的子项目。

应用程序可以很好地读/写数据库。

我刚刚为我的某个模型添加了一个属性,该属性应该触发从我的模型版本自动迁移,但是这种情况不会发生。

以下代码[MagicalRecord shouldDeleteStoreOnModelMismatch]返回true,因此我的数据库被删除并创建。

查看用于自动迁移的Apples指南添加单个属性应该没问题。

我也正在设置像这样的Magical Record [MagicalRecord setupAutoMigratingCoreDataStack];

我想知道是否因为核心数据.xcdatamodeld在子项目中我必须做任何额外的工作 让迁移成功

1 个答案:

答案 0 :(得分:0)

在查看[NSPersistentStore addPersistantStoreWithType:configuration:URL:options:error]返回的错误后,确定

它返回找不到源存储的模型。

所以我做了一些谷歌搜索,发现如果我将App Model版本添加到我的.xcdatamodeld文件

在我的第二个版本中,我将该属性添加到同一模型中,并且迁移工作正常。

我的印象是我不需要这样做,因为添加属性应该是 被认为是轻量级迁移,不需要我创建新的模型版本。

我对此不正确吗?