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 № 1Vous 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]