在查看问题之前,让我们来看看我的coredata架构:
我的coredata模式的第1版:
--Entity:
<Family>, <Member>, <Note>
<Note> Attribute:
content: string
--Relationship:
Family 1-many Member
Member 1-1 Note (*)
在版本2中,coredata架构:
--Entity:
<Family>, <Member>, <Note>
<Note> Attribute:
content: string
--Relationship:
Family 1-1 Note (*)
Family 1-many Member
所以,这意味着我想要从成员到家庭的注释的升级范围(在两个版本中查看那些*)。
问题是:如何将所有成员的所有笔记的内容合并为一个大笔记,然后添加到新家庭的笔记中。
示例:
Before:
family.mem1.note = "mem1 note"
family.mem2.note = "mem2 note"
After:
family.note = "mem1 note, mem2 note"
P / S:我很抱歉提出这样的问题,因为我所知道的迁移coredata都是轻量级迁移。在这个问题上,轻量级迁移删除所有注释,这是我不想要的选项。 Apple没有太多关于迁移的文档,比如...
答案 0 :(得分:0)
你必须以编程方式执行此操作。我建议在新模型中保留现有的Member-Note并添加Family-Note。现在轻量级迁移将起作用,然后一旦迁移完成,就使用自定义函数通过迭代所有Family.members并将member.note附加到Family.note来更新每个Family.note。