J'ai une migration de base de données qui introduit 2 nouveaux types d'entité. La migration fonctionne sans problème, mais je veux remplir la base de données avec les données par défaut après la migration.Insertion de données après une migration de données de base
Actuellement, mon approche est de définir une coutume NSEntityMigrationPolicy et passer outre endEntityMapping: Responsable: Erreur:
- (BOOL)endEntityMapping:(NSEntityMapping *)mapping manager:(NSMigrationManager *)manager error:(NSError **)error {
if (![super endEntityMapping:mapping manager:manager error:error]) return NO;
Theme *defaultTheme = [NSEntityDescription insertNewObjectForEntityForName:@"Theme" inManagedObjectContext:[manager destinationContext]];
[defaultTheme setName:NSLocalizedString(@"Default", @"Default theme name")];
return YES;
}
- Est-ce une bonne approche?
- Pourquoi ne pas appeler -awakeFromInsert de Theme?
L'insert a-t-il fonctionné? Appelez-vous save explicitement? ou en s'appuyant sur le gestionnaire de migration pour le faire? –
L'insertion fonctionne. Je n'appelle pas sauver. Je peux voir la rangée dans la base de données après avoir quitté. – fraserhess