packages feed

persistent-redis-0.0.2: tests/basic-test.hs

{-# LANGUAGE TemplateHaskell, QuasiQuotes, OverloadedStrings #-}
{-# LANGUAGE TypeFamilies, EmptyDataDecls, GADTs #-}
module Main where

import Database.Redis
import Database.Persist
import Database.Persist.Redis
import Database.Persist.TH
import Database.Persist.Quasi
import Language.Haskell.TH.Syntax
import Control.Monad.IO.Class (liftIO)
import Data.Text (Text, pack)

let redisSettings = (mkPersistSettings (ConT ''RedisBackend))
 in share [mkPersist redisSettings] [persistLowerCase| 
Person
    name String
    age Int
    deriving Show
|]

d :: ConnectInfo
d = defaultConnectInfo

host :: Text
host = pack $ connectHost d

redisConf :: RedisConf
redisConf = RedisConf host (connectPort d) Nothing 10

main :: IO ()
main = do
    withRedisConn redisConf $ runRedisPool $ do
        s <- insert $ Person "Test" 12
        liftIO $ print s
        return ()