如果我从v1迁移到v2,那么从v2迁移到v3,它可以工作。但是如果我直接从v1迁移到v3,我得到了无法找到我们自动推断的迁移错误的映射模型。
我更改了v3的所有字段名称,因此在映射模型中,我必须为所有目标属性显式设置值表达式。我不知道这是否会导致问题。
我错过了什么?
我正在使用以下密钥进行迁移:
return [NSDictionary dictionaryWithObjectsAndKeys:
[NSNumber numberWithBool:YES], NSMigratePersistentStoresAutomaticallyOption,
[NSNumber numberWithBool:YES], NSInferMappingModelAutomaticallyOption, nil];
答案 0 :(得分:0)
关键问题是NSInferMappingModelAutomaticallyOption,因为我使用这个选项时没有注意到当数据库升级版本并且没有找到映射模型时,它会尝试推断它。因为我没有数据模型源v1到源v3的映射模型。它会失败,因为我改变了属性的名称后无法推断它。