Подтвердить что ты не робот

Печать интерполированного SQL-запроса в Slick

Я пытаюсь распечатать интерполированный оператор Slick2 SQL для отладки, и все, что я получаю, это тот, у кого есть вопросительные знаки, например.

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

Вышеприведенное:

SELECT MAX(age) FROM users WHERE name = ?

Как я могу его распечатать:

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

Примечание. Эти вопросы НЕ являются дубликатом этого

4b9b3361

Ответ 1

Вероятно, вы хотите добавить следующее в свой application.conf

logger.scala.slick.session=DEBUG

Это должно отображать скомпилированные строки запросов в консоли.

Ответ 2

Из прозрачной документации: "Вы можете использовать # $вместо $, чтобы получить буквальное значение, вставленное непосредственно в запрос".

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