在Slick中查看SQL查询

src*_*091 39 sql scala slick

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

End*_*Neu 56

光滑的2.X:

您可以打印Slick文档中显示的查询语句:

val invoker = q.invoker
val statement = q.selectStatement
Run Code Online (Sandbox Code Playgroud)

对于其他类型的报表看insertStatement,deleteStatementupdateStatement.

光滑的3.X:

val res = table.filter(_.id === 1L).result
res.statements.foreach(println)
Run Code Online (Sandbox Code Playgroud)

文件.

  • 这不适用于`DBIOAction`,还有另一种方法吗? (2认同)

bin*_*shi 21

对于光滑的3.0

println(sortedQuery.result.statements.headOption)
Run Code Online (Sandbox Code Playgroud)