¿Cómo puedo hacer que esqueleto genere una cadena SQL a partir de una fromdeclaración?
La documentación de toRawSqldice que "puede activar el registro de consultas de persistente". Intenté todas las formas posibles de MonadLoggereso que pude entender, pero nunca imprimí ningún SQL. La misma documentación también dice "usar manualmente esta función ... es posible pero tedioso". Sin embargo, no QueryTypese exportan constructores del tipo ni funciones que devuelvan valores del tipo . ¡Me las arreglé para evitar esto notando que QueryTypees un newtypey usando unsafeCoerce!
También me vi obligado a proporcionar un Connection(que obtuve a través de SQLite) aunque no debería haber necesidad de conectarse a una base de datos para generar el SQL.
Esto es lo que tengo. Debe haber una mejor manera.
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
SqlPersistinstancias inferidas para generar cadenas SQL específicas de la base de datos .