Haskell 如何将记录语法与Yesod Persistent一起使用
为什么下面的方法不起作用?我有点知道有很多秘密,Haskell 如何将记录语法与Yesod Persistent一起使用,haskell,yesod,Haskell,Yesod,为什么下面的方法不起作用?我有点知道有很多秘密,用户类型可能没有电子邮件,创建数据,和更新数据字段。不使用容易失控的位置参数实例化对象的最佳方法是什么 share [mkPersist sqlSettings, mkMigrate "migrateAll"] [persistLowerCase| User email String createdAt UTCTime Maybe default=CURRENT_TIME updatedAt UTCTime Maybe default=
用户
类型可能没有电子邮件
,创建数据
,和更新数据
字段。不使用容易失控的位置参数实例化对象的最佳方法是什么
share [mkPersist sqlSettings, mkMigrate "migrateAll"] [persistLowerCase|
User
email String
createdAt UTCTime Maybe default=CURRENT_TIME
updatedAt UTCTime Maybe default=CURRENT_TIME
deriving Show
]]
main :: IO ()
main = runSqlite ":memory:" $ do
runMigration migrateAll
u <- insert $ User {email="saurabhnanda@gmail.com" createdAt=Nothing updatedAt=Nothing}
函数名如下:
userEmail
,userCreatedAt
,userUpdatedAt
运行cabal REPL并浏览该项目有助于识别为持久类型生成的函数
trysql.hs:38:23:
‘email’ is not a (visible) field of constructor ‘User’
trysql.hs:38:55:
‘createdAt’ is not a (visible) field of constructor ‘User’
trysql.hs:38:74:
‘updatedAt’ is not a (visible) field of constructor ‘User’