Afficher la requête SQL dans Slick

Est-il un moyen d'observer une instruction SQL qui sera généré par Query?
Par exemple, j'ai ceci:
val q = actions.filter(v => v.actionHash === hash && v.carriedAt > past)
Puis-je voir son SQL brut sous-jacent?

28
demandé sur Andrew Swan 2014-05-02 22:03:31

2 réponses

Slick 2.X:

Vous pouvez imprimer l'instruction de requête comme indiqué sur la documentation Slick :

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

Pour d'autres types de déclarations, regardez insertStatement, deleteStatement et updateStatement.

Slick 3.X:

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

Docs.

41
répondu Ende Neu 2017-09-18 13:02:38

Pour slick 3.0

println(sortedQuery.result.statements.headOption)
14
répondu binshi 2016-05-31 00:06:19