合奏和 journal_mode="DELETE"

Posted

技术标签:

【中文标题】合奏和 journal_mode="DELETE"【英文标题】:Ensembles and journal_mode="DELETE" 【发布时间】:2016-03-03 10:17:42 【问题描述】:

我当前的核心数据堆栈配置为 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 创建单个 sqlite 文件(而不是 WAL 模式下的 3 个不同文件),这让我的生活更轻松 当涉及到将 sqlite 数据库备份和恢复到用户的 Dropbox 时。 (我只需要备份或恢复一个文件而不是三个)

当我添加 Ensembles 代码时,它似乎会覆盖 NSSQLitePragmasOption 并删除我的自定义 DELETE journal_mode。我可以得出结论,因为在添加 Ensembles 代码之后,我可以看到生成了三个 sqlite 文件,而不仅仅是一个。

这是 Ensembles 的已知要求/行为吗? Ensemble 只能在 WAL 日志模式下正常运行,还是我可以将其配置为也使用 DELETE 日志模式?

提前致谢。

【问题讨论】:

【参考方案1】:

有一个 persistentStoreOptions 属性可用于告诉 CDEPersistentStoreEnsemble 应使用哪些选项来访问存储。只需在创建 ensemble 对象时将选项传递给该属性即可。

【讨论】:

以上是关于合奏和 journal_mode="DELETE"的主要内容,如果未能解决你的问题,请参考以下文章

合奏:MagicalRecord 和 iCloud

python 我的第一个合奏SPAGHETTI由Keras和示例代码提供支持

iOS Swift 中的合奏

H2O合奏抛出错误:“基本模式不保留交叉验证预言”

选择-Tipos de Via

Suma de los múltiplos de 3 y 5 entre 0-1000[usando Loop ";For ";]