我有两个与同一API通信的应用。随着他们的成长,他们每个人都采用了更多的API功能,而我现在处于他们相同的阶段,除了起点的安排控制器。
到目前为止,他们的核心数据模型是分开维护的,只包含他们需要的那些实体;但我现在想为每一个使用相同的数据模型版本。但是,它们的最新版本在某些方面确实存在差异,特别是在某些关系的删除规则中。
如果我在版本之间将删除规则从Nullify
更改为Cascade
,反之亦然,我是否仍然可以执行轻量级迁移?它在Apple's web page中没有提及,但它确实列出了兼容的相似步骤(例如,一个< - > to-many)
答案 0 :(得分:10)
是。实际上,如果更改删除规则是仅更改,您甚至不需要进行迁移。
对此的一些解释:只有在版本哈希发生变化时才需要迁移。版本哈希仅考虑影响持久性存储中数据保存方式的详细信息。如果您在versionHash
上查找NSRelationshipDescription
,它添加的唯一内容是" ...目标实体的名称和反向关系,以及最小和最大计数。 " 删除规则与版本哈希无关,因此它们对迁移无关紧要。