在没有旧模型的情况下迁移数据

时间:2012-01-12 20:01:03

标签: objective-c ios core-data

我无意中设法丢失了旧版本的数据模型,现在自动轻量级迁移不起作用(显然)。如果出现这个问题,我设法让Core Data删除旧商店,但我显然不希望丢失旧数据。那么如何手动迁移?在启动时,我只是得到一个错误,即商店协调员没有持久存储(错误134140)。

我已经尝试制作一个与旧版本匹配的新模型版本(它实际上说明了错误消息中旧的,使用过的模型),但不知何故这也不起作用。以前它曾经工作过,但显然我只是搞砸了保存当前应用商店版本的模型版本。

编辑:我只是想到了另一种方式(不知道为什么我之前没有想到这一点):因为核心数据是由SQLite数据库支持的,所以我无法获得我需要的信息(即4从数据库中的行,然后我可以直接从它重新填充其余部分?如果是这样,我可以用它做什么?

1 个答案:

答案 0 :(得分:0)

我不确定它是如何完成的,但模型是版本化的,可能使用GUID或模型文件的加密哈希。因此,您需要完全创建模型的同一文件。

或换句话说,您需要使用版本控制。

我想理论上应该可以精确地重新创建你的模型,但我不知道这样做的方法。