如何让 esqueleto 从from
语句中生成 SQL 字符串?
的文档toRawSql
说“您可以只打开持久性的查询日志记录”。MonadLogger
我尝试了所有我能理解的可能形式,但它从未打印任何 SQL。相同的文档还说“手动使用此功能......是可能的,但很乏味”。但是,不会导出该类型的构造函数,也不会QueryType
导出任何返回该类型值的函数。我注意到这QueryType
是 anewtype
并使用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