【发布时间】:2015-08-29 06:48:01
【问题描述】:
我有以下架构:
share [ mkPersist sqlSettings, mkMigrate "migrateAll" ] [persistLowerCase|
AdminChan
timestamp T.Text
name T.Text
msg T.Text
BanHost
timestamp T.Text
host T.Text
isBanned Bool
reason T.Text
|]
现在说我想以[AdminChan] 的形式获取admin_chan 表中的所有记录。我怎样才能做到这一点?我有这个功能:
dumpDbTbl :: SqlPersistT IO [AdminChan]
dumpDbTbl = map entityVal <$> (select . from $ return)
1) 但是如何从SqlPersistT IO 堆栈中取出[AdminChan]? (请注意,我没有使用yesod。)
2) 另外,是否可以重写上述函数,使其成为多态并且还可以与BanHost 表一起使用?
3) 如何使用esqueleto 编写一个函数来返回表中的记录数?
谢谢!
【问题讨论】:
标签: database haskell esqueleto