Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Core data 是否可以使用MagicalRecord执行多个轻量级CoreData迁移?_Core Data_Core Data Migration_Magicalrecord - Fatal编程技术网

Core data 是否可以使用MagicalRecord执行多个轻量级CoreData迁移?

Core data 是否可以使用MagicalRecord执行多个轻量级CoreData迁移?,core-data,core-data-migration,magicalrecord,Core Data,Core Data Migration,Magicalrecord,我的CoreData模型有四个版本。我刚刚添加了第四个,只是做了一个小改动,在一个实体中添加了一个新的可选属性。在版本2和版本3之间,我犯了一个错误,对现有模型进行了更改,而不是创建新版本。我还原了版本2,添加了版本3,并强制删除了应用商店,因此更新应用程序的用户正在重新生成应用商店,而不是执行迁移 这很有效,但现在我正尝试使用CoreData plus MagicalRecord执行一个轻量级迁移,从我的应用商店的版本3到版本4,我总是遇到一个无法找到或自动推断迁移映射模型的错误。我不想再次强

我的CoreData模型有四个版本。我刚刚添加了第四个,只是做了一个小改动,在一个实体中添加了一个新的可选属性。在版本2和版本3之间,我犯了一个错误,对现有模型进行了更改,而不是创建新版本。我还原了版本2,添加了版本3,并强制删除了应用商店,因此更新应用程序的用户正在重新生成应用商店,而不是执行迁移

这很有效,但现在我正尝试使用CoreData plus MagicalRecord执行一个轻量级迁移,从我的应用商店的版本3到版本4,我总是遇到一个
无法找到或自动推断迁移映射模型的
错误。我不想再次强制删除,但我一直在想我还能做些什么来解决轻量级迁移。我开始怀疑问题仍然存在于版本2和版本3之间,但我不能证实这一点

我用来建立我的商店的代码非常简单:

[MagicalRecord setupCoreDataStackWithAutoMigratingSqliteStoreNamed:@"Store.sqlite"];

此错误消息通常表示您已删除或未在应用程序包中包含源或目标模型,因此核心数据无法为您构建映射模型。查看哪些实体受到影响的方法是将模型散列打印到控制台,并比较哪些实体发生了更改。从那里,您可以确定需要如何构建映射模型。还要记住,迁移不是按顺序进行的。您有4个模型版本,这意味着您现在有4 x 3 x 2迁移组合。核心数据只执行一个操作,从源存储所在的版本到最新版本。因此,您还需要测试从v1到v4、v2到v4等的迁移,以覆盖所有基础。

我可以清楚地看到,我添加属性的实体的哈希与我的模型版本3到4不同。根据您的回答,在这种情况下,我似乎不能仅仅依靠轻量级迁移,对吗?