apiary-persistent-1.5.1: persistent support for apiary web framework.

Safe HaskellNone
LanguageHaskell2010

Web.Apiary.Database.Persist

Contents

Synopsis

Documentation

initializer

type With c m = forall a. (c -> m a) -> m a Source #

initPersist :: (MonadIO m, MonadBaseControl IO m) => With SqlBackend (LogWrapper exts m) -> Migration -> Initializer m exts (Persist ': exts) Source #

construct persist extension initializer with no connection pool.

example:

initPersist (withSqliteConn "db.sqlite") migrateAll

low level

initPersist' :: (MonadIO n, MonadBaseControl IO n, Monad m) => (forall a. Extensions exts -> n a -> m a) -> With SqlBackend n -> Migrator -> Initializer m exts (Persist ': exts) Source #

initPersistPool' :: (MonadIO n, MonadBaseControl IO n, Monad m) => (forall a. Extensions exts -> n a -> m a) -> With ConnectionPool n -> Migrator -> Initializer m exts (Persist ': exts) Source #

query

class RunSQL m where Source #

execute sql in action.

Minimal complete definition

runSql

Methods

runSql :: SqlPersistT m a -> m a Source #

filter

sql Source #

Arguments

:: (KnownSymbol k, Has Persist exts, MonadBaseControl IO actM, k </ prms) 
=> Maybe Html

documentation.

-> proxy k 
-> SqlPersistT (ActionT exts '[] actM) a 
-> (a -> Maybe b)

result check function. Nothing: fail filter, Just a: success filter and add parameter.

-> Filter exts actM m prms ((k := b) ': prms) 

filter by sql query. since 0.9.0.0.