Core data 核心数据存储问题

Core data 核心数据存储问题,core-data,ios7,core-data-migration,nspersistentstore,Core Data,Ios7,Core Data Migration,Nspersistentstore,我正在开发一个分阶段推出的应用程序。对于每个sprint,都会有数据库更改,因此核心数据迁移已经实现。到目前为止,我们已经发布了3个阶段。无论何时完成连续升级,应用程序都可以正常运行。但每当我尝试从版本1升级到版本3时,就会出现“无法添加持久存储”错误。有人能帮我解决这个问题吗?核心数据迁移没有您所期望的版本概念。就核心数据而言,只有两个版本,一个是NSPersistentStore版本,另一个是您当前使用的版本 要使用轻量级迁移,您必须测试商店的每个版本,并确保它将直接迁移到当前版本。如果没有

我正在开发一个分阶段推出的应用程序。对于每个sprint,都会有数据库更改,因此核心数据迁移已经实现。到目前为止,我们已经发布了3个阶段。无论何时完成连续升级,应用程序都可以正常运行。但每当我尝试从版本1升级到版本3时,就会出现“无法添加持久存储”错误。有人能帮我解决这个问题吗?

核心数据迁移没有您所期望的版本概念。就核心数据而言,只有两个版本,一个是
NSPersistentStore
版本,另一个是您当前使用的版本

要使用轻量级迁移,您必须测试商店的每个版本,并确保它将直接迁移到当前版本。如果没有,那么您就不能针对特定用例使用轻量级迁移,您需要开发一个迁移模型或提出另一个解决方案


就个人而言,在iOS上,我避免了大量迁移,因为它在内存和时间方面非常昂贵。如果我不能使用轻量级迁移,我通常会探索导出/导入解决方案(例如导出到JSON并导入到新模型)或查看从服务器刷新数据。

我的问题是,我试图在自动轻量级迁移期间更改属性数据类型,因为自动轻量级核心数据迁移不支持数据类型更改。我通过将数据类型重置为较旧的数据类型解决了此问题。

如果是轻量级迁移,是否在添加持久存储之前传递选项字典?其中,字典为[NSDictionary dictionary WithObjects and Keys:[NSNumber numberWithBool:YES]、NSMigratePersistentStoresAutomaticallyOption、[NSNumber numberWithBool:YES]、NSInferMappingModelAutomaticallyOption,无];是的,我们正在永久存储之前添加选项目录。你是说如果我有3个版本A、B和C,并且我测试了从A到B、从B到C的轻量级迁移,那么从A到C的迁移不是100%安全的吗?。我从未听说过这样的事,你能做个样品来演示吗?不,我不会做个样品来演示。是的,你需要测试每一种可能性。如果你现在在C上,你需要测试A到C和B到C。我的书和苹果的文档中都有详细介绍。版本控制不是暂时的。只有旧的/新的。当我尝试从A更新到c时,我收到一个错误“由于未捕获的异常而终止应用程序'NSInternalInconsistencyException',原因:“无法添加永久存储(null)”。@Mary请用错误的确切文本更新您的问题。并显示核心数据堆栈创建代码。非常感谢。