你如何存储持久性枚举?
假设你有一个数据状态=就绪|没有准备|错误
你如何保存这在持久性数据库?
这种使用derivePersistentField
,作为Yesod docs节目是很简单的。对于你的情况,你可以做这样的事情
-- State.hs
{-# LANGUAGE TemplateHaskell #-}
module State where
import Database.Persist.TH
import Prelude
data State = Ready | Unready | Error
deriving (Show, Read, Eq)
derivePersistField "State"
然后,您可以导入这和您的模型使用它:
-- Model.hs
import State
SomethingSomething
state State