我正在开发一个分阶段推出的应用程序。对于每个 sprint,都会发生数据库更改,因此已经实施了核心数据迁移。到目前为止,我们已经发布了 3 个阶段的版本。每当完成连续的渐变时,应用程序运行良好。但每当我尝试从版本 1 升级到版本 3 时,就会出现“无法添加持久存储”错误。有人可以帮我解决这个问题吗?
问问题
426 次
2 回答
5
Core Data 迁移没有您所期望的版本概念。就 Core Data 而言,只有两个版本,the 的版本NSPersistentStore
和您当前使用的版本。
要使用轻量级迁移,您必须测试商店的每个版本并确保它将直接迁移到当前版本。如果没有,那么您将无法针对该特定用例使用轻量级迁移,并且您需要开发迁移模型或提出其他解决方案。
就个人而言,在 iOS 上,我避免大量迁移,因为它在内存和时间方面非常昂贵。如果我不能使用轻量级迁移,我通常会探索导出/导入解决方案(例如导出到 JSON 并导入到新模型中)或查看从服务器刷新数据。
于 2014-04-28T14:36:44.817 回答
1
我的问题是我试图在自动轻量级迁移期间更改我的属性数据类型,因为自动轻量级核心数据迁移不支持数据类型更改。我通过将数据类型重置为旧类型解决了这个问题。
于 2014-05-15T09:25:29.620 回答