【发布时间】:2019-07-19 00:20:09
【问题描述】:
在 GRDB 中,我可以使用
创建只读数据库连接try dbPool.read { db in
我可以创建读写数据库连接
try dbPool.write { db in
在每种情况下,我都可以使用 db 作为参数从闭包中调用一个函数。在 GRDB 中,只读数据库连接可以在不同的线程中并行运行。写数据库连接阻塞数据库。
我想在某些函数中使用一个模式:
- 选择根据某些属性过滤的记录。
- 如果找到记录,请将其返回。
- 如果未找到记录,请使用这些属性创建默认占位符记录。
- 如果数据库是读写的,保存默认占位符并返回。
- 如果数据库是只读的,只需返回占位符
有没有办法确定数据库是否是只读的?查看http://groue.github.io/GRDB.swift/docs/4.1/Classes/Database.html 处的参考文档,除了错误处理之外,我没有看到一种简单的方法来确定这一点。
如果数据库是只读的,我可以尝试保存在函数中并捕获错误。
【问题讨论】:
标签: grdb