Ensembles and journal_mode="УДАЛИТЬ"
Мой текущий стек основных данных настроен с journal_mode="DELETE" следующим образом:
NSDictionary *options = @{NSMigratePersistentStoresAutomaticallyOption: @YES,
NSInferMappingModelAutomaticallyOption: @YES,
NSSQLitePragmasOption: @{@"journal_mode": @"DELETE"}};
if (![_persistentStoreCoordinator addPersistentStoreWithType:NSSQLiteStoreType configuration:nil URL:storeURL options:options error:&error]) {
// Handle error
}
Этот код заставляет Базовые Данные создавать один файл sqlite (а не 3 разных файла в режиме WAL), что облегчает мою жизнь, когда дело доходит до резервного копирования и восстановления базы данных sqlite в Dropbox пользователя. (Мне нужно сделать резервную копию или восстановить только один файл вместо трех)
Когда я добавляю код Ensembles, кажется, что он переопределяет NSSQLitePragmasOption и удаляет мой пользовательский DELETE journal_mode. Я могу заключить, что, поскольку сразу после добавления кода Ensembles я вижу три файла sqlite, сгенерированные вместо одного.
Это известное требование / поведение ансамблей? Может ли Ensemble правильно функционировать только в режиме журнала WAL, или я могу настроить его так же, чтобы использовать режим удаления журнала?
Заранее спасибо.
1 ответ
Существует свойство persistentStoreOptions, которое можно использовать, чтобы сообщить CDEPersistentStoreEnsemble, какие параметры следует использовать для доступа к хранилищу. Просто передайте ваши параметры этому свойству при создании объекта ансамбля.