核心数据迁移机制是不是会处理预填充实体上的新数据?

Posted

技术标签:

【中文标题】核心数据迁移机制是不是会处理预填充实体上的新数据?【英文标题】:Will the core data migration mechanism deal with new data on a pre populated entity?核心数据迁移机制是否会处理预填充实体上的新数据? 【发布时间】:2015-07-08 11:51:12 【问题描述】:

我有一个使用核心数据的 Mac 应用程序,基本上只有一个实体。

此应用程序为 Quartz 创建粒子,并附带各种可供使用的粒子设置,例如火、烟、彗星等。这些粒子保存在该实体上并发送给用户,或者换句话说,应用程序带有一个预填充的实体。

同样的实体用于保存用户创建的粒子(我设置了一个标志,以了解粒子是由用户创建还是由我创建)。

我想通过包含更多预填充粒子来更新此应用。

问题是每个用户都已经保存了他们的粒子。我需要新版本不要弄乱它,并添加我将创建的新粒子。

我知道核心数据机制更适合迁移结构,但是数据呢?我怀疑核心数据不会这样做,所以我必须检查数据库以查看新粒子是否存在并在用户第一次运行应用程序时通过代码添加它们,对吗?或者有没有办法自动做到这一点?

【问题讨论】:

【参考方案1】:

简短的回答是否定的。迁移仅用于结构更改。它不会添加新数据。

创建新数据或更新旧数据 ios 属于业务决策,不在迁移 API 的范围内。

【讨论】:

我怀疑这一点。需要确认。谢谢!

以上是关于核心数据迁移机制是不是会处理预填充实体上的新数据?的主要内容,如果未能解决你的问题,请参考以下文章

预填充核心数据存储:使用 JSON 属性列表还是 XML 文件?

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

编辑在 IOS 应用程序中管理的预填充 sqlite 数据库核心数据

RestKit 映射结果已填充,但未设置核心数据实体

如何检查 iCloud 中是不是有内容?核心数据

多对多的核心数据迁移