如何获得esqueleto为我生成SQL字符串?
如何让esqueleto从from语句生成SQL字符串? 的文档toRawSql说:“您可以只打开持久性查询日志”。我尝试了所有可能MonadLogger理解的形式,但从未打印任何SQL。同一文档还说“手动使用此功能...是可能的,但很乏味”。但是,不会QueryType导出该类型的构造函数,也不会导出任何返回该类型的值的函数。我设法注意到QueryTypeanewtype并使用来解决这个问题unsafeCoerce! Connection即使没有必要连接到数据库来生成SQL,我也不得不提供一个(通过SQLite获得)。 这就是我所拥有的。一定会有更好的办法。 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