核心数据迁移:将字段提取到抽象实体子项
Posted
技术标签:
【中文标题】核心数据迁移:将字段提取到抽象实体子项【英文标题】:Core Data Migration: Extracting fields to an abstract entity child 【发布时间】:2010-06-22 18:22:44 【问题描述】:我有一个迁移,我将字段从一个实体移动到另一个实体,该实体是抽象实体的子实体。我的模型有一个实体Thing
,它是一个抽象实体AbstractWidget
的1->M,它是NewStuff
的父级。像这样的:
+-------+ +----------------+ +----------+
| Thing |<--->>| AbstractWidget |<---| NewStuff |
+-------+ +----------------+ +----------+
我正在将多个属性从Thing
移动到NewStuff
,并且我一直按照a blog post I found that has instructions for making a similar change 上的说明进行操作。
我创建了一个包含结构更改的新版本,并创建了一个映射模型,其中包含一个名为 ThingToNewThing 的映射,它根据说明映射字段,但不映射关系。我没有更改关系,因为 AbstractWidgets 已经设置为可以正常工作。
当我运行我的应用程序时,我会收到一整串内容发送到控制台,开头是这样的:
2010-06-22 14:14:07.463 MyAppName[31418:207] Unresolved error Error Domain=NSCocoaErrorDomain Code=134140 UserInfo=0x55249d0 "Operation could not be completed. (Cocoa error 134140.)"
...后跟似乎是现有数据属性的列表。
我在任何地方都找不到任何关于 Cocoa 错误 134140 的信息,而且我不确定从这里去哪里。
任何指导将不胜感激。
【问题讨论】:
【参考方案1】:首先,首先将[error userInfo]
也吐出到控制台,这将告诉您确切的问题是什么。
其次,将输出复制并粘贴到您的问题中,以便我查看:)
更新
根据您发送给我的日志文件,这是根本问题:
无法找到或自动推断迁移的映射模型
这意味着它无法找到映射模型。所以要么它不能匹配源模型,要么不能匹配目标模型,或者你的映射模型不包含在包中。
【讨论】:
此外,该日志包含大量特定于我的应用程序的信息,我不想让公众看到这些信息。但是,如果您同意,我很乐意将其通过电子邮件发送到您的支持电子邮件地址。谢谢! :-) 我在我的项目中遇到了这个问题。我在核心数据中进行了手动迁移,以对实体进行特定更新。有趣的想法是应用程序从版本 1 到 4 的迁移适用于 ios7,在 iOS6 中我收到错误 134140。 iOS 7 可能会推断出 iOS 6 无法推断出的模型。我建议确保您的繁重迁移映射模型位于正确的位置。我还会打开 SQLite 调试并观察以确保 Core Data 正在寻找映射模型。以上是关于核心数据迁移:将字段提取到抽象实体子项的主要内容,如果未能解决你的问题,请参考以下文章