0
我尝试用映射模型迁移我的核心数据模型。它似乎找到了映射模型,并且实际上在迁移过程中变得非常远,但我不确定。然而,最后它失败了,并且我不知道实际发生了什么问题。核心数据迁移失败,但发生了什么?
我错过了the log错误的原因,如果是,原因是什么?
我尝试用映射模型迁移我的核心数据模型。它似乎找到了映射模型,并且实际上在迁移过程中变得非常远,但我不确定。然而,最后它失败了,并且我不知道实际发生了什么问题。核心数据迁移失败,但发生了什么?
我错过了the log错误的原因,如果是,原因是什么?
您正在验证失败。正如你可能已经想通了,核心数据
FourToFive.cdm
后来迁移但它失败了。这些错误不是通用的 - 它们非常具体。他们都像这样(为了便于阅读):
"Error Domain=NSCocoaErrorDomain Code=1570 \"The operation couldn\U2019t be completed.
(Cocoa error 1570.)\" UserInfo=0x10a747bb0 {NSValidationErrorKey=startDate,
NSLocalizedDescription=The operation couldn\U2019t be completed. (Cocoa error 1570.),
NSValidationErrorObject=<NSManagedObject: 0x10a7380f0> (entity: TimeEntry; id:
0xd00000000008000e <x-coredata://FB4CCC6C-6EB7-44DB-A3F2-F64E23C64827/TimeEntry/p2> ;
data: <fault>)}",
它说的是,
NSValidationErrorKey
和NSValidationErrorObject
)TimeEntry
实体startDate
属性引起的。1570
,它是NSValidationMissingMandatoryPropertyError
(请参阅文档中的Core Data Constants Reference)。所以:的TimeEntry
新版本似乎有一个叫startDate
非可选属性,但正好5情况下,你似乎是迁移该属性的零值。对此的简单修复将包括使属性可选或在数据模型中设置默认值。但是,您不能添加强制属性,也不能为其分配一些值。
还有一条关于Failed to delete support directory for store
的消息,我不完全明白。即该消息后迁移将继续表明,这不是你的问题,并且在任何情况下,你的错误,不从直接干的事实。
我解释了“操作无法完成”为代码的含义,这是有点短视。非常感谢解释。 startDate值不应该为零,但映射中有一个FUNCTION()来填充该字段。我会发布关于它的后续问题。 – Nick