如何解决在 Slick 的一系列 DB 操作中使用 DBIOAction.from 是否安全?
我有一个返回 DBIOAction
的函数:
def someDbCalls() = for {
result1 <- query1() // returns DBIOAction
result2 <- query2(result1) // returns DBIOAction
result3 <- query3(result2) // returns DBIOAction
} yield result3
而且,我正在运行我调用 DBIOAction
的数据库(Future
到 someDbCalls()
)。在某些情况下,其他一些函数会调用它并添加新查询,然后一次运行所有查询。
我想通过返回 query2
而不是 Future
来更新 DBIOAction
函数。它将拨打外部电话。因此,我将代码更新为:
def someDbCalls() = for {
result1 <- query1() // returns DBIOAction
result2 <- DBIOAction.from(query2(result1)) // query2 returns Future
result3 <- query3(result2) // returns DBIOAction
} yield result3
通过这种方式,一切都可以编译,但我不确定这是否是最好的方式。这会导致任何问题吗?使用 Future
将 DBIOAction
更改为 DBIOAction.from
是为了让 Scala 编译器相信类型。这对我来说听起来不对。安全吗?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。