Como posso fazer o esqueleto gerar uma string SQL a partir de uma frominstrução?
A documentação do toRawSqldiz que "você pode simplesmente ativar o log de consultas de persistente". Tentei todas as formas possíveis MonadLoggerque pude entender, mas nunca imprimi nenhum SQL. A mesma documentação também diz "manualmente usar esta função ... é possível, mas tedioso". No entanto, nenhum construtor do tipo, nem nenhuma função que retorne valores do tipo, QueryTypeé exportado. Consegui contornar isso observando que QueryTypeé um newtypee usando unsafeCoerce!
Também fui forçado a fornecer um Connection(que obtive via SQLite), embora não deva haver necessidade de conectar-se a um banco de dados para gerar o SQL.
Isso é o que eu tenho. Deve haver uma maneira melhor.
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
SqlPersistinstâncias inferidas para gerar strings SQL específicas do banco de dados .