/ / Stampa query SQL interpolata in Slick - scala, jdbc, prepared-statement, slick, slick-2.0

Stampa query SQL interpolata in Slick - scala, jdbc, prepared-statement, slick, slick-2.0

Sto cercando di stampare un'istruzione Slick2 SQL interpolata per il debug e tutto quello che ottengo è quello con punti interrogativi, ad es.

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

Quanto sopra stampa questo:

SELECT MAX(age) FROM users WHERE name = ?

Come posso farlo stampare questo:

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

Nota: questa domanda NON è un duplicato di Questo

risposte:

3 per risposta № 1

Probabilmente vuoi aggiungere quanto segue al tuo application.conf

logger.scala.slick.session=DEBUG

Questo dovrebbe mostrare stringhe di query compilate nella console.


2 per risposta № 2

Dalla chiazza di petrolio documentazione: "Puoi usare # $ anziché $ per ottenere il valore letterale inserito direttamente nella query".

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