/ / Impresión de consulta SQL interpolada en Slick - scala, jdbc, preparado-instrucción, slick, slick-2.0

Impresión de consultas SQL interpoladas en Slick - scala, jdbc, preparado-declaración, slick, slick-2.0

Estoy tratando de imprimir una sentencia de SQL Slick2 interpolada para la depuración y todo lo que obtengo es el que tiene signos de interrogación, por ejemplo.

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

Lo anterior imprime esto:

SELECT MAX(age) FROM users WHERE name = ?

¿Cómo puedo hacer que imprima esto?

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

Nota: Esta pregunta NO es un duplicado de esta

Respuestas

3 para la respuesta № 1

Probablemente quieras agregar lo siguiente a tu aplicación.conf

logger.scala.slick.session=DEBUG

Esto debería mostrar cadenas de consulta compiladas en la consola.


2 para la respuesta № 2

De la mancha documentación: "Puede usar # $ en lugar de $ para obtener el valor literal insertado directamente en la consulta".

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