核心数据轻量级迁移如何处理不同的持久存储?

时间:2014-04-28 23:41:12

标签: xcode core-data migration

假设我有1个配置模型:A和B

目标1使用配置A
目标2使用配置B

如果我在配置A上更改实体并运行目标B,会发生什么?

迁移过程是否会查找整个模型,还是只检查正在运行的配置中的现有实体?

1 个答案:

答案 0 :(得分:3)

配置很抽搐。如果您尝试从一个配置切换到另一个配置,那么将很难,因为没有明确的迁移路径。

如果您希望将配置A迁移到配置A的新版本,那么更直接。您需要单独迁移每个NSPersistentStore

我通常会抛弃它们NSPersistentStoreCoordinator并处理迁移问题。确保即使在扔掉NSPersistentStoreCoordinator时使用它们也要指定配置,否则会让人感到困惑。

一旦所有商店都迁移完毕,我就会站出永久性NSPersistentStoreCoordinator。我从不在最终协调员处理迁移。

如果您尝试将两个配置合并回一个商店,那么您将遇到问题,可能需要进行手动迁移(导出/导入)。