MagicalRecord v2.2和已发布应用程序的简单轻量级迁移



我在appstore中有一个应用程序,在其中我使用setupCoreDataStack方法设置了我的magicalrecord。从那时起,我对数据模型进行了版本控制,并为现有实体添加了一个属性。现在,当我使用setupCoreDataStackWithAutoMigratingSqliteStoreNamed在发布的应用程序上执行轻量级迁移时,调试应用程序打开时没有数据。

新版本的数据模型当前在xcode中使用绿色tickmark进行选择,并且基于旧数据模型。将设置新属性的默认值。如果我在没有从设备中删除调试应用程序的情况下再次安装发布的版本,那么我会看到旧数据,这意味着旧数据永远不会被擦除(这很好),只是在设置新版本的模型并执行magicalrecord轻量级迁移后不会显示。我在这里错过了什么?

在现有发布版本上加载新的调试版本时,调试器中没有错误。对数据模型版本的内容执行的filemerge-diff仅显示新属性的添加。

对这个问题的任何见解或建议都会有所帮助!

嗯,请注意,如果数据存储最初没有设置为自动迁移存储,则无法自动迁移。有人建议在多个版本中进行。所以假设这是真的,我尝试了

[MagicalRecord setupAutoMigratingCoreDataStack]

之前

[MagicalRecord setupCoreDataStackWithAutoMigratingSqliteStoreNamed:@"XYZ"]

它奏效了。

其他有同样问题的人,无需删除数据存储并使用setupAutoMigratingCoreDataStack创建新的数据存储,也无需尝试手动迁移。只需设置为自动迁移存储,并在同一构建中一个接一个地进行自动迁移。希望它也适用于你!

相关内容

最新更新