現在の Core Data スタックは、次のように 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
}
このコードは、Core Data に (WAL モードの 3 つの異なるファイルではなく) 1 つの sqlite ファイルを作成するように強制します。これにより、sqlite データベースをユーザーの Dropbox にバックアップおよび復元する際の作業が楽になります。(3 つではなく 1 つのファイルのみをバックアップまたは復元する必要があります)
Ensembles コードを追加すると、NSSQLitePragmasOption がオーバーライドされ、カスタムの DELETE ジャーナル モードが削除されるようです。Ensembles コードを追加した直後から、1 つではなく 3 つの sqlite ファイルが生成されていることがわかります。
これは、アンサンブルの既知の要件/動作ですか? Ensemble は WAL ジャーナル モードでのみ正しく機能しますか? それとも、DELETE ジャーナル モードを使用するように構成できますか?
前もって感謝します。