配置主要用控制数据库操作的行为。WCDB Swift 对 SQLite 的数据库做了基本的配置,如 、 等,以满足 WCDB Swift 的需求。同时,开发者也可以根据自己的需求,自定义配置项。

默认配置

WCDB Swift 提供的默认配置为:

  • PRAGMA locking_mode="NORMAL"
  • PRAGMA journal_mode="WAL"

加密

其中,pageSize 是加密的页大小参数,SQLCipher 在 iOS 上默认使用 4096,macOS 上默认使用 1024。而 WCDB Swift 则在所有平台上都适用 4096,以获得更好的性能。开发者一般不需要做特别的修改。

对于在 macOS 上通过其他方式创建的加密数据库,在 WCDB Swift 使用时,可手动设置为 1024 以确保解密成功。更多关于 cipher_page_size 的信息,可以参考其官方文档

值得注意的是,设置密码是一件很慎重的事情。对于已经创建且存在数据的数据库,无论是原本未加密想要改为加密,还是已经加密想要修改密码,都是成本非常高的操作,因此不要轻易使用。更多相关信息可以参考。

自定义配置

除了上述配置,开发者还可以根据自己的需求,通过 setConfig(named:with:orderBy: 接口设置其他配置。详细的配置列表可以参考 和 SQLCipher 的官方文档

设置配置的接口函数原型如下: