ฉันจะให้ esqueleto สร้างสตริง SQL ให้ฉันได้อย่างไร
ฉันจะให้ esqueleto สร้างสตริง SQL จากfromคำสั่งได้อย่างไร เอกสารtoRawSqlระบุว่า "คุณสามารถเปิดการบันทึกการสืบค้นแบบถาวร" ฉันลองใช้รูปแบบที่เป็นไปได้ทั้งหมดMonadLoggerที่ฉันเข้าใจ แต่ไม่เคยพิมพ์ SQL เลย เอกสารฉบับเดียวกันยังระบุว่า "การใช้ฟังก์ชันนี้ด้วยตนเอง ... เป็นไปได้ แต่น่าเบื่อ" อย่างไรก็ตามยังไม่มีการก่อสร้างงานประเภทหรือฟังก์ชั่นใด ๆ ค่าชนิดที่กลับมาQueryTypeจะถูกส่งออก ฉันจัดการเพื่อหลีกเลี่ยงสิ่งนี้โดยสังเกตว่าQueryTypeเป็นnewtypeและใช้unsafeCoerce! ฉันยังถูกบังคับให้ระบุConnection(ซึ่งฉันได้รับจาก SQLite) แม้ว่าจะไม่จำเป็นต้องเชื่อมต่อกับฐานข้อมูลเพื่อสร้าง SQL ก็ตาม นี่คือสิ่งที่ฉันมี ต้องมีวิธีที่ดีกว่านี้ 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