Coredata 轻量级迁移失败
Coredata Lightweight Migration Fails
如果我添加新模型版本,然后向实体添加属性,我会遇到迁移失败。属性的类型是什么或者它是可选的还是具有默认值都无关紧要。如果我只添加新的模型版本但不添加它可以正常工作的属性。在过去的 3 年里,我多次做过这种事情,没有遇到任何问题。 NSMigratePersistentStoresAutomaticallyOption 和 NSInferMappingModelAutomaticallyOption 都设置为 true。我得到的错误如下所示。
2018-02-18 12:28:51.771608+0000 Writing Shed[4105:1886727] [error] 错误:非法尝试保存到从未打开的文件。 "This NSPersistentStoreCoordinator has no persistent stores (schema mismatch or migration failure). It cannot perform a save operation."。最后记录的错误=Error Domain=NSCocoaErrorDomain Code=134140 "Persistent store migration failed, missing mapping model."
有人知道哪里出了问题吗?
我找到问题了。我正在 Mac OS 上开发一个已在 IOS 上可用的应用程序。他们通过 iCloud 同步 CoreData。在处理 Mac 时的某个时刻,我向模型添加了一些非可选或默认的属性。长话短说,这会导致 IOS 商店出现问题,该商店早于更改,所以那是迁移失败的时候(无法迁移到 non-optional/non-defaulted 属性)。我仍然不确定我是如何陷入这种情况的,因为我通常对 CoreData 非常小心,但嘿事情发生了。感谢您的评论让我看得更深。
如果我添加新模型版本,然后向实体添加属性,我会遇到迁移失败。属性的类型是什么或者它是可选的还是具有默认值都无关紧要。如果我只添加新的模型版本但不添加它可以正常工作的属性。在过去的 3 年里,我多次做过这种事情,没有遇到任何问题。 NSMigratePersistentStoresAutomaticallyOption 和 NSInferMappingModelAutomaticallyOption 都设置为 true。我得到的错误如下所示。
2018-02-18 12:28:51.771608+0000 Writing Shed[4105:1886727] [error] 错误:非法尝试保存到从未打开的文件。 "This NSPersistentStoreCoordinator has no persistent stores (schema mismatch or migration failure). It cannot perform a save operation."。最后记录的错误=Error Domain=NSCocoaErrorDomain Code=134140 "Persistent store migration failed, missing mapping model."
有人知道哪里出了问题吗?
我找到问题了。我正在 Mac OS 上开发一个已在 IOS 上可用的应用程序。他们通过 iCloud 同步 CoreData。在处理 Mac 时的某个时刻,我向模型添加了一些非可选或默认的属性。长话短说,这会导致 IOS 商店出现问题,该商店早于更改,所以那是迁移失败的时候(无法迁移到 non-optional/non-defaulted 属性)。我仍然不确定我是如何陷入这种情况的,因为我通常对 CoreData 非常小心,但嘿事情发生了。感谢您的评论让我看得更深。