Как я могу получить 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