/ / Impression d'une requête SQL interpolée dans Slick - scala, jdbc, prepare-statement, slick, slick-2.0

Impression d'une requête SQL interpolée dans Slick - scala, jdbc, ready-statement, slick, slick-2.0

J'essaie d'imprimer une instruction SQL interpolée Slick2 pour le débogage et tout ce que je reçois est celui avec des points d'interrogation, par exemple.

def query(name: String) = sql"SELECT MAX(age) FROM users WHERE name = $name".as[Int]
println(query("Bob").getStatement)

Ce qui précède imprime ceci:

SELECT MAX(age) FROM users WHERE name = ?

Comment puis-je le faire imprimer ceci:

SELECT MAX(age) FROM users WHERE name = "Bob"

Remarque: Cette question n'est PAS une copie de ce

Réponses:

3 pour la réponse № 1

Vous voudrez probablement ajouter ce qui suit à votre application.conf

logger.scala.slick.session=DEBUG

Cela devrait afficher les chaînes de requête compilées dans la console.


2 pour la réponse № 2

De la nappe Documentation: "Vous pouvez utiliser # $ au lieu de $ pour obtenir la valeur littérale insérée directement dans la requête".

//note the "#"
def query(name : String) = sql"SELECT MAX(age) FROM users WHERE name = "#$name"".as[Int]