मैं एक 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
SqlPersist
-विशिष्ट एसक्यूएल स्ट्रिंग्स उत्पन्न करने के लिए अनुमानित उदाहरणों का उपयोग करता है ।