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