多对多的核心数据迁移

Posted

技术标签:

【中文标题】多对多的核心数据迁移【英文标题】:Core data migration of Many to Many 【发布时间】:2012-04-07 23:09:21 【问题描述】:

我正在尝试使用实体映射模型来迁移我的应用程序中现有的多对多关系。我有以下关系

Teams <<----->> Players

一个团队实体可以有多个玩家,一个玩家可以是多个团队的一部分。现在,我试图通过引入具有以下属性的新实体来将这种关系拆分为一对多

TeamToPlayer
  Team *team
  Player *player

所以新的关系看起来像

Team <--->> TeamToPlayer
Player <-->> TeamToPlayer

我试图弄清楚我应该使用哪种实体映射来转换我的核心数据模型。是否可以使用 Mapping 模型执行上述操作,或者我是否需要通过继承 NSMigrationPolicy 类来编写代码。 任何想法都会非常有帮助。

谢谢, 贾维德

【问题讨论】:

已在此处发布了对等效问题的一个很好的答案:***.com/questions/11174773/… 【参考方案1】:

在尝试了解迁移过程和实体映射模型几天后,我终于找到了解决方案。我惊讶地发现它是如此简单。

我使用 Source 从 Player & Team 到 TeamToPlayer 创建了两个实体映射,并将源实体的关系映射到目标实体关系。 并更新了 PlayerToPlayer 和 TeamToTeam 关​​系映射中的关系映射名称以使用新的实体映射。 一切正常。

【讨论】:

这很有道理,但你能提供更多关于你到底做了什么的细节吗?例如,将值表达式与您创建的两个实体映射的名称一起粘贴。

以上是关于多对多的核心数据迁移的主要内容,如果未能解决你的问题,请参考以下文章

核心数据:迁移具有自引用属性的实体

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

架构迁移:PostgreSQL 中的一对多、多对多

Laravel 迁移中的多对多

将对象添加到具有多对多关系的核心数据中的 NSSet

CoreData :NSFetchedResultsController 一对多对多的关系