Tengo un problema (probly) fácil de arreglar con mi tienda persistente de datos base.cambiar el nombre del coordinador de persistentstore URL
lo creé con:
- (NSPersistentStoreCoordinator *)persistentStoreCoordinator
{
if (persistentStoreCoordinator != nil)
{
return persistentStoreCoordinator;
}
NSURL *storeURL = [[self applicationDocumentsDirectory] URLByAppendingPathComponent:@"dummyURL.sqlite"];
NSError *error = nil;
persistentStoreCoordinator = [[NSPersistentStoreCoordinator alloc] initWithManagedObjectModel:[self managedObjectModel]];
if (![persistentStoreCoordinator addPersistentStoreWithType:NSSQLiteStoreType configuration:nil URL:storeURL options:nil error:&error])
{
NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
abort();
}
return persistentStoreCoordinator;
}
usando la url dummyURL.sqlite
lo hice en el primer día de trabajo con el proyecto, y se han olvidado de cambiar su nombre .. ahora todos mis dispositivos de prueba actuales (4) estaban en uso durante más de 2 meses, el uso de la aplicación, recogiendo una gran cantidad de datos y su almacenamiento con una url estúpida ^^
ACTUALIZACIÓN hice algunas investigaciones sobre la migración de las tiendas y persistentes escribió esta función:
-(void)migrate{
NSPersistentStoreCoordinator *psc = [self.dataHandler.managedObjectContext persistentStoreCoordinator];
NSURL *oldURL = [psc URLForPersistentStore:[[psc persistentStores]objectAtIndex:0]];
AppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate];
NSURL *newURL = [[appDelegate applicationDocumentsDirectory] URLByAppendingPathComponent:@"database.sqlite"];
NSError *error = nil;
NSPersistentStore *oldStore = [psc persistentStoreForURL:oldURL];
NSPersistentStore *newStore = [psc migratePersistentStore:sqliStoreOld
toURL:newURL
options:nil
withType:NSSQLiteStoreType
error:&error];
}
PREGUNTA 1will this work or will i lose some data with that?
PREGUNTA 2afterwards will i just have to change the appendString in my persistenstore function?
gracias por la respuesta rápida. Tengo un poco de sombra en el concepto persistentstore (es por eso que no lo toqué más después de crearlo) ... Actualmente estoy explorando 'migratePersistentStore', pero tengo miedo de probarlo debido a dataloss ..:/ donde pondría un código de migración? –