我有一个Haskell Status
类型:
data Status = FirstViewed | Reviewed | Learned
如何将此数据映射到Persistent Postgres数据库?
share [mkPersist sqlSettings, mkMigrate "migrateAll"] [persistLowerCase|
Vocabulary sql=vocabulary
word Text
date UTCTime
status Status
deriving Show
|]
答案 0 :(得分:1)
@Alexis王所说的是正确的。你必须做
derivePersistField "Status"
创建合适的
PersistField
个实例。
但是你还必须派生你的Show和Read实例 总和类型:
data Status = FirstViewed | Reviewed | Learned deriving (Show, Read, Eq)
需要显示和读取实例,因为derivePersistField
在存储时使用它来执行适当的转换
从数据库中检索。还必须定义总和类型
因为阶段限制而在单独的文件中。你也可以
我想看看这一章
peristent这个地方
有详细记录。