Core data CoreData:数据迁移如何将数据子集从一个数据存储移动到另一个数据存储

Core data CoreData:数据迁移如何将数据子集从一个数据存储移动到另一个数据存储,core-data,data-migration,Core Data,Data Migration,CoreData:数据迁移如何将数据子集从一个数据存储移动到另一个数据存储 我有一个recipe manager核心数据应用程序,在Resources/中附带了一个预加载的sqlite数据库。这将由版本1.0移动到SomeAppSupportAreaFolder/。 更高版本也有相同的情况,但数据库中可能有其他配方。 在新版本的第一次发布时(若有新的配方的话),我使用了两个核心数据栈。 我一直在使用不断增加的recipe.recipeID将新配方从MOCnew移动到MOCappSupport,以

CoreData:数据迁移如何将数据子集从一个数据存储移动到另一个数据存储

我有一个recipe manager核心数据应用程序,在Resources/中附带了一个预加载的sqlite数据库。这将由版本1.0移动到SomeAppSupportAreaFolder/。 更高版本也有相同的情况,但数据库中可能有其他配方。 在新版本的第一次发布时(若有新的配方的话),我使用了两个核心数据栈。 我一直在使用不断增加的recipe.recipeID将新配方从MOCnew移动到MOCappSupport,以定位较新的配方,避免添加重复的配方,并避免覆盖旧预加载配方中可能的用户编辑

我使用: insertNewObjectForEntityForName:。 然后将数据复制到克隆对象

这对我很有效

我的问题是,能否以更直接的方式将选定配方数据的移动从新数据存储移动到旧数据存储。 可以直接使用自定义迁移/NSMigrationPolicy来完成吗?我目前的方法有缺陷吗


非常感谢,Mark

您当前的方法很好,您可能应该继续使用它


核心数据迁移完全是另外一回事。它指的是迁移到数据模型的新版本,而不是迁移到不同的持久存储文件。如果在将来的版本中更改数据模型,则需要考虑迁移。如果您的更改很小,迁移通常是自动的。但是,将数据从一个存储文件复制到另一个存储文件是一个完全不同的主题。

您当前的方法很好,您可能应该继续使用它


核心数据迁移完全是另外一回事。它指的是迁移到数据模型的新版本,而不是迁移到不同的持久存储文件。如果在将来的版本中更改数据模型,则需要考虑迁移。如果您的更改很小,迁移通常是自动的。但将数据从一个存储文件复制到另一个存储文件是一个完全不同的主题。

注意:我设法使用核心数据迁移将数据从一种类型的存储迁移到另一种类型的存储,使用从源和目标模型的同一版本数据模型推断出的映射模型。实际上,它从一个web服务支持的存储复制到一个区域设置sqlite支持的存储。注意:我设法使用核心数据迁移将数据从一种类型的存储迁移到另一种类型的存储,使用从源和目标模型的同一版本数据模型推断出的映射模型。实际上,它从一个web服务支持的存储复制到一个本地sqlite支持的存储。