2016-03-03 40 views
0

我的當前核心數據棧被配置成與journal_mode =「DELETE」如下:合奏和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 
} 

此代碼強制核心數據以創建單個源碼文件(而不是3個不同的文件在WAL模式),這使我的生活更容易 當涉及到備份和恢復到用戶的Dropbox的SQLite數據庫。 (我需要備份或還原只有一個文件,而不是三個)

當我添加Ensembles代碼,它似乎重寫NSSQLitePragmasOption並刪除我的自定義DELETE journal_mode。我可以得出結論,因爲在添加Ensembles代碼之後,我可以看到三個生成的sqlite文件,而不是一個。

這是Ensembles的已知要求/行爲嗎?只有在WAL日誌模式下,Ensemble才能正確運行,還是我可以將它配置爲使用DELETE日誌模式?

在此先感謝。

回答

2

有一個persistentStoreOptions屬性可用於告訴CDEPersistentStoreEnsemble應該使用哪些選項來訪問存儲。只需在創建合奏對象時將選項傳遞給該屬性即可。

+0

完美,它的作品!謝謝你的幫助。 – Joshua