/ / Drukowanie interpolowanego zapytania SQL w Slick - scala, jdbc, ready-statement, slick, slick-2.0

Drukowanie interpolowanego zapytania SQL w Slick - scala, jdbc, ready-statement, slick, slick-2.0

Próbuję wydrukować interpolowane oświadczenie Slick2 SQL do debugowania i wszystko, co dostaję, to ten ze znakami zapytania, np.

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

Powyższe drukuje to:

SELECT MAX(age) FROM users WHERE name = ?

Jak mogę to wydrukować:

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

Uwaga: to pytanie NIE jest duplikatem to

Odpowiedzi:

3 dla odpowiedzi № 1

Prawdopodobnie chcesz dodać następujące elementy do pliku application.conf

logger.scala.slick.session=DEBUG

Powinno to pokazać skompilowane ciągi zapytań w konsoli.


2 dla odpowiedzi nr 2

Od śliskich dokumentacja: "Możesz użyć # $ zamiast $, aby uzyskać literalną wartość wstawioną bezpośrednio do zapytania".

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