postgresql-query-3.5.0: Sql interpolating quasiquote plus some kind of primitive ORM using it

Safe HaskellNone
LanguageHaskell2010

Database.PostgreSQL.Query.TH.Row

Synopsis

Documentation

deriveFromRow :: Name -> Q [Dec] Source #

Derive FromRow instance. i.e. you have type like that

data Entity = Entity
              { eField :: Text
              , eField2 :: Int
              , efield3 :: Bool }

then deriveFromRow will generate this instance: instance FromRow Entity where

instance FromRow Entity where
    fromRow = Entity
              <$> field
              <*> field
              <*> field

Datatype must have just one constructor with arbitrary count of fields

deriveToRow :: Name -> Q [Dec] Source #

derives ToRow instance for datatype like

data Entity = Entity
              { eField :: Text
              , eField2 :: Int
              , efield3 :: Bool }

it will derive instance like that:

instance ToRow Entity where
     toRow (Entity e1 e2 e3) =
         [ toField e1
         , toField e2
         , toField e3 ]