Core data 应用程序更新时核心数据为空

Core data 应用程序更新时核心数据为空,core-data,core-data-migration,app-update,Core Data,Core Data Migration,App Update,我已经为核心数据创建了一个新的模式版本,并将其分配给当前的模式版本,因此必须进行迁移(我希望如此),但现在我正在进行旧版本的应用程序到新版本的测试,所有数据都丢失了,可能会出现什么问题 我发现现有的持久存储不兼容,因此它正在删除它并创建新的持久存储!那么如何防止这种情况发生呢?在添加持久存储时,您是否在传递的选项字典中包含了nsmigratePersistentStoresAutomaticalyOption和nsinFermappingModelAutomaticalyOption,以及tru

我已经为核心数据创建了一个新的模式版本,并将其分配给当前的模式版本,因此必须进行迁移(我希望如此),但现在我正在进行旧版本的应用程序到新版本的测试,所有数据都丢失了,可能会出现什么问题


我发现现有的持久存储不兼容,因此它正在删除它并创建新的持久存储!那么如何防止这种情况发生呢?

在添加持久存储时,您是否在传递的选项字典中包含了
nsmigratePersistentStoresAutomaticalyOption
nsinFermappingModelAutomaticalyOption
,以及
true
值?是的,我已经在模型中添加了新的实体,那么我还需要做什么呢?您必须特别告诉Core Data,它应该推断版本之间的映射模型,如果可能的话,它应该在找到旧存储时执行自动迁移。当您第一次创建核心数据堆栈时,您可以这样做。