预先填充的数据库。 现在我想添加更多数据而不会弄乱预先存在的数据

我已经设置了一个app,它有预先填充的数据,可以将数据库复制到项目的商店。 使用’CoreDataBooks示例’方法: 任何预先填充核心数据的方法?

对于应用程序升级,我想向数据库添加更多数据,但我不想更改现有数据库,因为新用户数据存储在那里?

最好的方法是什么?

我想我会创建一个新版本的托管对象模型(如果模式中没有任何内容实际发生更改,我不确定是否可以添加新的MOM版本),对于新版本,请阅读当前运行的MOM版本,迁移MOM到最新版本并手动添加自当前运行的MOM版本以来尚未添加的代码中的新记录。

在代码中手动添加新记录似乎有点乏味。 这听起来不错还是有更优雅的方式来添加这些新数据?

谢谢!

如果更改托管对象模型本身,例如添加新实体或更改现有属性,则需要使用迁移来更新现有持久性存储。 有关迁移的详细信息,请参阅Core Data文档。

如果您只想添加新数据,那么除了“手动”之外,您别无选择。

请记住,Core Data是一个对象图管理系统,而不是数据库。 对象“图形”是相互关联对象的“网络”,因此向图形添加数据的唯一方法是创建新对象并设置它们的关系。 这不是低效的,只是它的工作方式。