0

現在の 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 ジャーナル モードを使用するように構成できますか?

前もって感謝します。

4

1 に答える 1