Tag: esqueleto

我怎么能esqueleto为我生成一个SQLstring?

我怎样才能得到esqueleto从一个语句生成一个SQLstring? toRawSql的文档说“你可能只是打开持久性的查询日志logging”。 我尝试了所有可能的MonadLoggerforms,但是从未打印过任何SQL。 同样的文件也说“手动使用这个function…是可能的,但繁琐的”。 但是,没有该types的构造函数,也没有任何返回typesQueryType被导出。 我设法通过注意到QueryType是一种新types并使用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

使用Esqueleto处理列表types

我有数据types定义为: data ComitteeView = CommitteeView { committeeId :: CommitteeId , committeeMembers :: [Person] } data CommitteesView = CommitteesView { committeeView :: [CommitteeView] } 现在,现在,我有一个永久模型定义为: Person name Text Committee name Text CommitteePerson personId PersonId committeeId CommitteeId 我可以很容易地创build一个查询来填充一个委托,使用Esqueleto。 它会像这样: getCommitteeView cid = CommitteeView <$> runDB $ select $ from (person `InnerJoin` pxc `InnerJoin` committee) -> do on […]