{-# LANGUAGE GADTs #-} {-# LANGUAGE GeneralizedNewtypeDeriving #-} {-# LANGUAGE MultiParamTypeClasses #-} {-# LANGUAGE TemplateHaskell #-} {-# LANGUAGE TypeFamilies #-} {-# LANGUAGE QuasiQuotes #-} {-# LANGUAGE TypeSynonymInstances #-} {-# LANGUAGE FlexibleInstances #-} module Fixtures.BlogSample.Model where import Data.Text import Data.Time import Database.Persist.TH import Database.Persist.Relational share [mkPersist sqlSettings, mkMigrate "migrateAll", mkSave "db", mkHrrInstances] [persistLowerCase| User name Text age Int UniqueUserName name deriving Show Eq Post title Text userId UserId created UTCTime body Text deriving Show Eq Tag name Text UniqueTagName name deriving Show Eq PostTag postId PostId tagId TagId UniquePostTag postId tagId deriving Show Eq |]