
On Thu, Feb 3, 2011 at 6:34 PM, Katsutoshi Itoh
I'd like to introduce serializable data type like this:
data Role = Teacher | Student deriving (Read, Show, Eq, Ord)
share2 mkPersist (mkMigrate "migrateAll") [$persist| User ident String : : role Role Maybe Update : |]
instance PersistField Role where ??? Would you teach me how to write this instance?
Check out the Haskellers codebase[1]: Persistent includes a TH function called derivePersistField[2] which does this automatically for you based on Show/Read instances. I personally find this the best approach to the problem. It's more efficient to serialize to integers (and you could use an Enum instance for that), but it's less future-proof. Michael [1] https://github.com/snoyberg/haskellers/blob/master/Model.hs [2] http://hackage.haskell.org/packages/archive/persistent/0.3.1.3/doc/html/Data...