CoreData 迁移和数据映射:从现有属性创建新实体

Posted

技术标签:

【中文标题】CoreData 迁移和数据映射:从现有属性创建新实体【英文标题】:CoreData migration & data mapping: creating a new entity from existing attribute 【发布时间】:2011-04-18 02:32:19 【问题描述】:

我真的希望有人能够帮助我解决这个问题。 我第一次尝试在 Xcode 中创建数据映射模型(用于 ios 应用程序)。

这应该是一个非常简单的迁移(虽然轻量级迁移没有涵盖);这是我最初拥有的以及新数据库的样子:

发生了什么变化:

我有一个新属性 (DBdisplayOrder),它是可选的 我有一个新的多对多关系。我想将旧数据库的DBreminder (NSDate) 属性移动到新的DBreminderDate。新表中的两个属性都是可选的。

所以基本上我只需要从一个属性中复制数据,该属性现在驻留在一个新实体中。

如果有人能指出我正确的方向,或者只是推荐一个好的资源来学习和开始,我将非常感激。

【问题讨论】:

【参考方案1】:

我使用here 找到的一个很好的描述出售了这个问题。

更新:(Fixed link 似乎是同一篇博文)

这是工作映射模型:

我希望它对某人有所帮助。

【讨论】:

【参考方案2】:

创建映射模型可能会相当复杂。我会从Core Data Model Versioning and Data Migration Programming Guide开始

在这种特殊情况下,您需要创建一个显式映射模型,然后您必须创建一个实体映射来描述您的原始实体和要将属性移动到的新目标实体。然后为该特定属性创建一个属性映射。

【讨论】:

以上是关于CoreData 迁移和数据映射:从现有属性创建新实体的主要内容,如果未能解决你的问题,请参考以下文章

核心数据版本控制 - 需要多个映射模型

涉及新实体和一对多关系的核心数据迁移

从实体中删除属性后迁移 CoreData 时出错

Core Data 轻量级迁移 - 现有实体是不是添加了新属性?

核心数据版本控制和迁移

为现有实体创建新的 CoreData 属性时 Swift 崩溃