使用Magical Record进行核心数据迁移失败了"删除了不兼容的模型版本"

时间:2015-02-13 08:44:51

标签: ios objective-c core-data magicalrecord

我正在尝试添加核心数据模型的新版本。我过去成功完成了这项工作,但这次我根本无法让它迁移。我正在使用Magical Record进行核心数据处理,方案如下;

  1. 核心数据堆栈在AppDelegate的application didFinishLaunchingWithOptions期间设置
  2. 设置方法是:

    [MagicalRecord setupCoreDataStackWithAutoMigratingSqliteStoreNamed:@"MyDb.sqlite"];**
    
  3. 我添加了新版本的.xcdatamodel,并将新版本设置为当前版本。
  4. 当应用程序启动时,Magical Record会报告以下问题; “删除了不兼容的型号版本”。
  5. 我认为它必须是轻量级迁移规则的问题,但即使我只是添加新版本的.xcdatamodel而不对其进行任何更改,它仍然不会迁移。你对发生的事情有什么看法吗?现在已经挣扎了几天,似乎无法弄明白。

1 个答案:

答案 0 :(得分:0)

这是我目前使用的(抱歉Swift代码),但我使用的是最新版本的MagicalRecord:

    var dbPath = NSPersistentStore.MR_defaultLocalStoreUrl();
    MagicalRecord.setLoggingLevel(MagicalRecordLoggingLevel.Error);
    MagicalRecord.setupCoreDataStackWithAutoMigratingSqliteStoreAtURL(dbPath);

这段代码可以毫无问题地进行简单的迁移。只是为了确保我添加了一些额外的字段并查看了我的数据库的内容。一切都很好。

我的MagicalRecord Podfile条目:

pod 'MagicalRecord', :git => "https://github.com/magicalpanda/MagicalRecord.git"