esqueletoでSQL文字列を生成するにはどうすればよいですか?
esqueletoを取得してfromステートメントからSQL文字列を生成するにはどうすればよいですか? のドキュメントにtoRawSqlは、「永続のクエリログをオンにするだけでよい」と書かれています。MonadLogger理解できるすべての可能な形式を試しましたが、SQLが出力されませんでした。同じドキュメントには、「この関数を手動で使用することは可能ですが、面倒です」とも記載されています。ただし、その型のコンストラクターも、その型の値を返す関数QueryTypeもエクスポートされません。私QueryTypeはそれがであることに気づきnewtype、使用することによってこれを回避することができました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