Как я могу получить esqueleto для создания строки SQL из инструкции from
?
В документации toRawSql
говорится, что "вы можете просто включить ведение журнала запросов на постоянный". Я пробовал все возможные формы MonadLogger
, которые я мог понять, но никогда не печатал SQL. В той же документации также говорится, что "использование этой функции вручную... возможно, но утомительно". Однако никакие конструкторы типа или любые функции, возвращающие значения типа QueryType
, не экспортируются. Мне удалось обойти это, заметив, что QueryType
является newtype
и использует unsafeCoerce
!
Я также был вынужден предоставить Connection
(который я получил через SQLite), даже если нет необходимости подключаться к базе данных для генерации SQL.
Это то, что у меня есть. Должен быть лучший способ.
withSqliteConn ":memory:" $
\conn -> return $ toRawSql SELECT
(unsafeCoerce ((const mempty)
:: a -> Text.Lazy.Builder.Builder))
(conn, initialIdentState) myFromStatement)
http://hackage.haskell.org/package/esqueleto-1.3.4.2/docs/Database-Esqueleto-Internal-Sql.html