2014-05-02 37 views
23

有沒有一種方法可以觀察到將由Query生成的SQL語句?
例如,我有:
val q = actions.filter(v => v.actionHash === hash && v.carriedAt > past)
我可以查看其底層原始SQL嗎?在Slick中查看SQL查詢

回答

33

油滑2.X:

可以打印查詢語句的Slick documentation如圖所示:

val invoker = q.invoker 
val statement = q.selectStatement 

對於其他類型的報表看insertStatementdeleteStatementupdateStatement

油滑3.X:

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

Docs

10

對於華而不實的3.0

println(sortedQuery.result.statements.headOption) 
+0

作品,以及在光滑3.1.1版 – wlk