在Slick中查看SQL查询

时间:2014-05-02 18:03:31

标签: sql scala slick

有没有办法观察由Query生成的SQL语句?
例如,我有这个:
val q = actions.filter(v => v.actionHash === hash && v.carriedAt > past)
我可以查看其基础原始SQL吗?

2 个答案:

答案 0 :(得分:47)

Slick 2.X:

您可以打印查询语句,如Slick documentation

所示
val invoker = q.invoker
val statement = q.selectStatement

对于其他类型的陈述,请查看insertStatementdeleteStatementupdateStatement

Slick 3.X:

val res = table.filter(_.id === 1L).result
res.statements.foreach(println)

Docs

答案 1 :(得分:17)

对于光滑的3.0

println(sortedQuery.result.statements.headOption)