我试图归档轻量级迁移后的一些处理。我已经做了轻量级的过程,我现在需要一些帮助来处理我的实体。CoreData轻量级迁移+自定义
在旧模型上,我曾经有一个实体“汽车”,现在我添加实体“人”的关系人有汽车。
因此,轻量级迁移后,我需要添加一个默认的人“约翰”,并添加所有的汽车给他。
有没有人有一些想法?
- (NSPersistentStoreCoordinator *)persistentStoreCoordinator
{
if (_persistentStoreCoordinator != nil) {
return _persistentStoreCoordinator;
}
NSURL *storeURL = [[self applicationDocumentsDirectory] URLByAppendingPathComponent:@"CoreData.sqlite"];
NSError *error = nil;
_persistentStoreCoordinator = [[NSPersistentStoreCoordinator alloc] initWithManagedObjectModel:[self managedObjectModel]];
NSDictionary *options = @{
NSMigratePersistentStoresAutomaticallyOption : @YES,
NSInferMappingModelAutomaticallyOption : @YES
};
if (![_persistentStoreCoordinator addPersistentStoreWithType:NSSQLiteStoreType configuration:nil URL:storeURL options:options error:&error]) {
NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
abort();
}
return _persistentStoreCoordinator;
}
感谢您的帮助。如果将来我做了我的模型的另一个版本呢?有什么方法可以跟踪?就像,如果我升级到V2插入约翰,如果升级到V3插入文森特? – 2013-05-09 16:14:07
是的,您可以随时查询“NSObjectModel”的版本,如其他答案中所述。 – Mundi 2013-05-09 22:45:28