monad-persist-0.0.1.0: An mtl-style typeclass and transformer for persistent.

Safe HaskellNone
LanguageHaskell2010

Control.Monad.Persist

Contents

Description

This module provides an mtl-style MonadPersist typeclass for persistent, as well as a PersistT monad transformer that implements it. If you use this module, it is recommended that you do not import Database.Persist.Class or Database.Persist.Sql, since this module defines its own versions of the things defined in those modules and exports them.

Most notably, the SqlPersistT transformer defined in this module is distinct from the SqlPersistT defined in Database.Persist.Sql. The former is an alias for the PersistT type defined in this module, while the latter is an alias for ReaderT over a SqlBackend.

In general, if you are using a SQL database, you should use the helper aliases MonadSqlPersist and SqlPersistT to avoid ambiguous types and complicated type errors.

Synopsis

Documentation

MonadPersist

class Monad m => MonadPersist backend m | m -> backend where Source #

This typeclass is a simple enumeration of the functions available from Database.Persist.Class, simply parameterized over the monad (rather than requiring ReaderT over MonadIO). This makes it easier to use persistent in an arbitrary monad transformer stack. Each method corresponds directly to a function or method defined in Database.Persist.Class or Database.Persist.Sql. See the documentation for those modules for information about what each method does.

This typeclass is primarily implemented by the PersistT monad transformer, which abstracts away the role of threading a database connection through your program. If you are using a SQL database, it is recommended that you use the SqlPersistT alias and the corresponding runSqlPersistT function in order to avoid unnecessarily confusing type errors and to ensure all database access is performed within a transaction.

This module provides MonadPersist instances for various commonly-used monad transformers, but it’s possible that you may want to use a monad transformer from a different library that does not have an appropriate instance. In this case, MonadPersist provides default instances for all monad transformers using the DefaultSignatures GHC extension, which allows you to write empty instance declarations to make any MonadTrans instance an instance of MonadPersist:

instance MonadPersist m => MonadPersist (T m)

Methods

get :: (PersistStoreRead backend, PersistRecordBackend record backend) => Key record -> m (Maybe record) Source #

insert :: (PersistStoreWrite backend, PersistRecordBackend record backend) => record -> m (Key record) Source #

insert_ :: (PersistStoreWrite backend, PersistRecordBackend record backend) => record -> m () Source #

insertMany :: (PersistStoreWrite backend, PersistRecordBackend record backend) => [record] -> m [Key record] Source #

insertMany_ :: (PersistStoreWrite backend, PersistRecordBackend record backend) => [record] -> m () Source #

insertEntityMany :: (PersistStoreWrite backend, PersistRecordBackend record backend) => [Entity record] -> m () Source #

insertKey :: (PersistStoreWrite backend, PersistRecordBackend record backend) => Key record -> record -> m () Source #

repsert :: (PersistStoreWrite backend, PersistRecordBackend record backend) => Key record -> record -> m () Source #

replace :: (PersistStoreWrite backend, PersistRecordBackend record backend) => Key record -> record -> m () Source #

delete :: (PersistStoreWrite backend, PersistRecordBackend record backend) => Key record -> m () Source #

update :: (PersistStoreWrite backend, PersistRecordBackend record backend) => Key record -> [Update record] -> m () Source #

updateGet :: (PersistStoreWrite backend, PersistRecordBackend record backend) => Key record -> [Update record] -> m record Source #

getJust :: (PersistStoreRead backend, PersistRecordBackend record backend) => Key record -> m record Source #

belongsTo :: (PersistStoreRead backend, PersistRecordBackend record1 backend, PersistRecordBackend record2 backend) => (record1 -> Maybe (Key record2)) -> record1 -> m (Maybe record2) Source #

belongsToJust :: (PersistStoreRead backend, PersistRecordBackend record1 backend, PersistRecordBackend record2 backend) => (record1 -> Key record2) -> record1 -> m record2 Source #

insertEntity :: (PersistStoreWrite backend, PersistRecordBackend record backend) => record -> m (Entity record) Source #

getBy :: (PersistUniqueRead backend, PersistRecordBackend record backend) => Unique record -> m (Maybe (Entity record)) Source #

deleteBy :: (PersistUniqueWrite backend, PersistRecordBackend record backend) => Unique record -> m () Source #

insertUnique :: (PersistUniqueWrite backend, PersistRecordBackend record backend) => record -> m (Maybe (Key record)) Source #

upsert :: (PersistUniqueWrite backend, PersistRecordBackend record backend) => record -> [Update record] -> m (Entity record) Source #

getByValue :: (PersistUniqueRead backend, PersistRecordBackend record backend) => record -> m (Maybe (Entity record)) Source #

insertBy :: (PersistUniqueWrite backend, PersistRecordBackend record backend) => record -> m (Either (Entity record) (Key record)) Source #

replaceUnique :: (PersistUniqueWrite backend, PersistRecordBackend record backend, Eq record, Eq (Unique record)) => Key record -> record -> m (Maybe (Unique record)) Source #

checkUnique :: (PersistUniqueRead backend, PersistRecordBackend record backend) => record -> m (Maybe (Unique record)) Source #

onlyUnique :: (PersistUniqueWrite backend, PersistRecordBackend record backend) => record -> m (Unique record) Source #

selectFirst :: (PersistQueryRead backend, PersistRecordBackend record backend) => [Filter record] -> [SelectOpt record] -> m (Maybe (Entity record)) Source #

count :: (PersistQueryRead backend, PersistRecordBackend record backend) => [Filter record] -> m Int Source #

updateWhere :: (PersistQueryWrite backend, PersistRecordBackend record backend) => [Filter record] -> [Update record] -> m () Source #

deleteWhere :: (PersistQueryWrite backend, PersistRecordBackend record backend) => [Filter record] -> m () Source #

selectList :: (PersistQueryRead backend, PersistRecordBackend record backend) => [Filter record] -> [SelectOpt record] -> m [Entity record] Source #

selectKeysList :: (PersistQueryRead backend, PersistRecordBackend record backend) => [Filter record] -> [SelectOpt record] -> m [Key record] Source #

deleteCascade :: DeleteCascade record backend => Key record -> m () Source #

deleteCascadeWhere :: (DeleteCascade record backend, PersistQueryWrite backend) => [Filter record] -> m () Source #

parseMigration :: backend ~ SqlBackend => Migration -> m (Either [Text] CautiousMigration) Source #

parseMigration' :: backend ~ SqlBackend => Migration -> m CautiousMigration Source #

printMigration :: backend ~ SqlBackend => Migration -> m () Source #

showMigration :: backend ~ SqlBackend => Migration -> m [Text] Source #

getMigration :: backend ~ SqlBackend => Migration -> m [Sql] Source #

runMigration :: backend ~ SqlBackend => Migration -> m () Source #

runMigrationSilent :: backend ~ SqlBackend => Migration -> m [Text] Source #

runMigrationUnsafe :: backend ~ SqlBackend => Migration -> m () Source #

rawExecute :: backend ~ SqlBackend => Text -> [PersistValue] -> m () Source #

rawExecuteCount :: backend ~ SqlBackend => Text -> [PersistValue] -> m Int64 Source #

rawSql :: (backend ~ SqlBackend, RawSql a) => Text -> [PersistValue] -> m [a] Source #

transactionSave :: backend ~ SqlBackend => m () Source #

transactionUndo :: backend ~ SqlBackend => m () Source #

get :: (Monad (t m'), MonadPersist backend m', MonadTrans t, t m' ~ m, PersistStoreRead backend, PersistRecordBackend record backend) => Key record -> m (Maybe record) Source #

insert :: (Monad (t m'), MonadPersist backend m', MonadTrans t, t m' ~ m, PersistStoreWrite backend, PersistRecordBackend record backend) => record -> m (Key record) Source #

insert_ :: (Monad (t m'), MonadPersist backend m', MonadTrans t, t m' ~ m, PersistStoreWrite backend, PersistRecordBackend record backend) => record -> m () Source #

insertMany :: (Monad (t m'), MonadPersist backend m', MonadTrans t, t m' ~ m, PersistStoreWrite backend, PersistRecordBackend record backend) => [record] -> m [Key record] Source #

insertMany_ :: (Monad (t m'), MonadPersist backend m', MonadTrans t, t m' ~ m, PersistStoreWrite backend, PersistRecordBackend record backend) => [record] -> m () Source #

insertEntityMany :: (Monad (t m'), MonadPersist backend m', MonadTrans t, t m' ~ m, PersistStoreWrite backend, PersistRecordBackend record backend) => [Entity record] -> m () Source #

insertKey :: (Monad (t m'), MonadPersist backend m', MonadTrans t, t m' ~ m, PersistStoreWrite backend, PersistRecordBackend record backend) => Key record -> record -> m () Source #

repsert :: (Monad (t m'), MonadPersist backend m', MonadTrans t, t m' ~ m, PersistStoreWrite backend, PersistRecordBackend record backend) => Key record -> record -> m () Source #

replace :: (Monad (t m'), MonadPersist backend m', MonadTrans t, t m' ~ m, PersistStoreWrite backend, PersistRecordBackend record backend) => Key record -> record -> m () Source #

delete :: (Monad (t m'), MonadPersist backend m', MonadTrans t, t m' ~ m, PersistStoreWrite backend, PersistRecordBackend record backend) => Key record -> m () Source #

update :: (Monad (t m'), MonadPersist backend m', MonadTrans t, t m' ~ m, PersistStoreWrite backend, PersistRecordBackend record backend) => Key record -> [Update record] -> m () Source #

updateGet :: (Monad (t m'), MonadPersist backend m', MonadTrans t, t m' ~ m, PersistStoreWrite backend, PersistRecordBackend record backend) => Key record -> [Update record] -> m record Source #

getJust :: (Monad (t m'), MonadPersist backend m', MonadTrans t, t m' ~ m, PersistStoreRead backend, PersistRecordBackend record backend) => Key record -> m record Source #

belongsTo :: (Monad (t m'), MonadPersist backend m', MonadTrans t, t m' ~ m, PersistStoreRead backend, PersistRecordBackend record1 backend, PersistRecordBackend record2 backend) => (record1 -> Maybe (Key record2)) -> record1 -> m (Maybe record2) Source #

belongsToJust :: (Monad (t m'), MonadPersist backend m', MonadTrans t, t m' ~ m, PersistStoreRead backend, PersistRecordBackend record1 backend, PersistRecordBackend record2 backend) => (record1 -> Key record2) -> record1 -> m record2 Source #

insertEntity :: (Monad (t m'), MonadPersist backend m', MonadTrans t, t m' ~ m, PersistStoreWrite backend, PersistRecordBackend record backend) => record -> m (Entity record) Source #

getBy :: (Monad (t m'), MonadPersist backend m', MonadTrans t, t m' ~ m, PersistUniqueRead backend, PersistRecordBackend record backend) => Unique record -> m (Maybe (Entity record)) Source #

deleteBy :: (Monad (t m'), MonadPersist backend m', MonadTrans t, t m' ~ m, PersistUniqueWrite backend, PersistRecordBackend record backend) => Unique record -> m () Source #

insertUnique :: (Monad (t m'), MonadPersist backend m', MonadTrans t, t m' ~ m, PersistUniqueWrite backend, PersistRecordBackend record backend) => record -> m (Maybe (Key record)) Source #

upsert :: (Monad (t m'), MonadPersist backend m', MonadTrans t, t m' ~ m, PersistUniqueWrite backend, PersistRecordBackend record backend) => record -> [Update record] -> m (Entity record) Source #

getByValue :: (Monad (t m'), MonadPersist backend m', MonadTrans t, t m' ~ m, PersistUniqueRead backend, PersistRecordBackend record backend) => record -> m (Maybe (Entity record)) Source #

insertBy :: (Monad (t m'), MonadPersist backend m', MonadTrans t, t m' ~ m, PersistUniqueWrite backend, PersistRecordBackend record backend) => record -> m (Either (Entity record) (Key record)) Source #

replaceUnique :: (Monad (t m'), MonadPersist backend m', MonadTrans t, t m' ~ m, PersistUniqueWrite backend, PersistRecordBackend record backend, Eq record, Eq (Unique record)) => Key record -> record -> m (Maybe (Unique record)) Source #

checkUnique :: (Monad (t m'), MonadPersist backend m', MonadTrans t, t m' ~ m, PersistUniqueRead backend, PersistRecordBackend record backend) => record -> m (Maybe (Unique record)) Source #

onlyUnique :: (Monad (t m'), MonadPersist backend m', MonadTrans t, t m' ~ m, PersistUniqueWrite backend, PersistRecordBackend record backend) => record -> m (Unique record) Source #

selectFirst :: (Monad (t m'), MonadPersist backend m', MonadTrans t, t m' ~ m, PersistQueryRead backend, PersistRecordBackend record backend) => [Filter record] -> [SelectOpt record] -> m (Maybe (Entity record)) Source #

count :: (Monad (t m'), MonadPersist backend m', MonadTrans t, t m' ~ m, PersistQueryRead backend, PersistRecordBackend record backend) => [Filter record] -> m Int Source #

updateWhere :: (Monad (t m'), MonadPersist backend m', MonadTrans t, t m' ~ m, PersistQueryWrite backend, PersistRecordBackend record backend) => [Filter record] -> [Update record] -> m () Source #

deleteWhere :: (Monad (t m'), MonadPersist backend m', MonadTrans t, t m' ~ m, PersistQueryWrite backend, PersistRecordBackend record backend) => [Filter record] -> m () Source #

selectList :: (Monad (t m'), MonadPersist backend m', MonadTrans t, t m' ~ m, PersistQueryRead backend, PersistRecordBackend record backend) => [Filter record] -> [SelectOpt record] -> m [Entity record] Source #

selectKeysList :: (Monad (t m'), MonadPersist backend m', MonadTrans t, t m' ~ m, PersistQueryRead backend, PersistRecordBackend record backend) => [Filter record] -> [SelectOpt record] -> m [Key record] Source #

deleteCascade :: (Monad (t m'), MonadPersist backend m', MonadTrans t, t m' ~ m, DeleteCascade record backend) => Key record -> m () Source #

deleteCascadeWhere :: (Monad (t m'), MonadPersist backend m', MonadTrans t, t m' ~ m, DeleteCascade record backend, PersistQueryWrite backend) => [Filter record] -> m () Source #

parseMigration :: (Monad (t m'), MonadPersist backend m', MonadTrans t, t m' ~ m, backend ~ SqlBackend) => Migration -> m (Either [Text] CautiousMigration) Source #

parseMigration' :: (Monad (t m'), MonadPersist backend m', MonadTrans t, t m' ~ m, backend ~ SqlBackend) => Migration -> m CautiousMigration Source #

printMigration :: (Monad (t m'), MonadPersist backend m', MonadTrans t, t m' ~ m, backend ~ SqlBackend) => Migration -> m () Source #

showMigration :: (Monad (t m'), MonadPersist backend m', MonadTrans t, t m' ~ m, backend ~ SqlBackend) => Migration -> m [Text] Source #

getMigration :: (Monad (t m'), MonadPersist backend m', MonadTrans t, t m' ~ m, backend ~ SqlBackend) => Migration -> m [Sql] Source #

runMigration :: (Monad (t m'), MonadPersist backend m', MonadTrans t, t m' ~ m, backend ~ SqlBackend) => Migration -> m () Source #

runMigrationSilent :: (Monad (t m'), MonadPersist backend m', MonadTrans t, t m' ~ m, backend ~ SqlBackend) => Migration -> m [Text] Source #

runMigrationUnsafe :: (Monad (t m'), MonadPersist backend m', MonadTrans t, t m' ~ m, backend ~ SqlBackend) => Migration -> m () Source #

rawExecute :: (Monad (t m'), MonadPersist backend m', MonadTrans t, t m' ~ m, backend ~ SqlBackend) => Text -> [PersistValue] -> m () Source #

rawExecuteCount :: (Monad (t m'), MonadPersist backend m', MonadTrans t, t m' ~ m, backend ~ SqlBackend) => Text -> [PersistValue] -> m Int64 Source #

rawSql :: (Monad (t m'), MonadPersist backend m', MonadTrans t, t m' ~ m, backend ~ SqlBackend, RawSql a) => Text -> [PersistValue] -> m [a] Source #

transactionSave :: (Monad (t m'), MonadPersist backend m', MonadTrans t, t m' ~ m, backend ~ SqlBackend) => m () Source #

transactionUndo :: (Monad (t m'), MonadPersist backend m', MonadTrans t, t m' ~ m, backend ~ SqlBackend) => m () Source #

upsertBy :: (PersistUniqueWrite backend, PersistRecordBackend record backend) => Unique record -> record -> [Update record] -> m (Entity record) Source #

upsertBy :: (Monad (t m'), MonadPersist backend m', MonadTrans t, t m' ~ m, PersistUniqueWrite backend, PersistRecordBackend record backend) => Unique record -> record -> [Update record] -> m (Entity record) Source #

getJustEntity :: (PersistStoreRead backend, PersistRecordBackend record backend) => Key record -> m (Entity record) Source #

getEntity :: (PersistStoreWrite backend, PersistRecordBackend record backend) => Key record -> m (Maybe (Entity record)) Source #

insertRecord :: (PersistStoreWrite backend, PersistRecordBackend record backend) => record -> m record Source #

getJustEntity :: (Monad (t m'), MonadPersist backend m', MonadTrans t, t m' ~ m, PersistStoreRead backend, PersistRecordBackend record backend) => Key record -> m (Entity record) Source #

getEntity :: (Monad (t m'), MonadPersist backend m', MonadTrans t, t m' ~ m, PersistStoreWrite backend, PersistRecordBackend record backend) => Key record -> m (Maybe (Entity record)) Source #

insertRecord :: (Monad (t m'), MonadPersist backend m', MonadTrans t, t m' ~ m, PersistStoreWrite backend, PersistRecordBackend record backend) => record -> m record Source #

Instances

MonadPersist backend m => MonadPersist backend (NoLoggingT m) Source # 

Methods

get :: (PersistStoreRead backend, PersistRecordBackend record backend) => Key record -> NoLoggingT m (Maybe record) Source #

insert :: (PersistStoreWrite backend, PersistRecordBackend record backend) => record -> NoLoggingT m (Key record) Source #

insert_ :: (PersistStoreWrite backend, PersistRecordBackend record backend) => record -> NoLoggingT m () Source #

insertMany :: (PersistStoreWrite backend, PersistRecordBackend record backend) => [record] -> NoLoggingT m [Key record] Source #

insertMany_ :: (PersistStoreWrite backend, PersistRecordBackend record backend) => [record] -> NoLoggingT m () Source #

insertEntityMany :: (PersistStoreWrite backend, PersistRecordBackend record backend) => [Entity record] -> NoLoggingT m () Source #

insertKey :: (PersistStoreWrite backend, PersistRecordBackend record backend) => Key record -> record -> NoLoggingT m () Source #

repsert :: (PersistStoreWrite backend, PersistRecordBackend record backend) => Key record -> record -> NoLoggingT m () Source #

replace :: (PersistStoreWrite backend, PersistRecordBackend record backend) => Key record -> record -> NoLoggingT m () Source #

delete :: (PersistStoreWrite backend, PersistRecordBackend record backend) => Key record -> NoLoggingT m () Source #

update :: (PersistStoreWrite backend, PersistRecordBackend record backend) => Key record -> [Update record] -> NoLoggingT m () Source #

updateGet :: (PersistStoreWrite backend, PersistRecordBackend record backend) => Key record -> [Update record] -> NoLoggingT m record Source #

getJust :: (PersistStoreRead backend, PersistRecordBackend record backend) => Key record -> NoLoggingT m record Source #

belongsTo :: (PersistStoreRead backend, PersistRecordBackend record1 backend, PersistRecordBackend record2 backend) => (record1 -> Maybe (Key record2)) -> record1 -> NoLoggingT m (Maybe record2) Source #

belongsToJust :: (PersistStoreRead backend, PersistRecordBackend record1 backend, PersistRecordBackend record2 backend) => (record1 -> Key record2) -> record1 -> NoLoggingT m record2 Source #

insertEntity :: (PersistStoreWrite backend, PersistRecordBackend record backend) => record -> NoLoggingT m (Entity record) Source #

getBy :: (PersistUniqueRead backend, PersistRecordBackend record backend) => Unique record -> NoLoggingT m (Maybe (Entity record)) Source #

deleteBy :: (PersistUniqueWrite backend, PersistRecordBackend record backend) => Unique record -> NoLoggingT m () Source #

insertUnique :: (PersistUniqueWrite backend, PersistRecordBackend record backend) => record -> NoLoggingT m (Maybe (Key record)) Source #

upsert :: (PersistUniqueWrite backend, PersistRecordBackend record backend) => record -> [Update record] -> NoLoggingT m (Entity record) Source #

getByValue :: (PersistUniqueRead backend, PersistRecordBackend record backend) => record -> NoLoggingT m (Maybe (Entity record)) Source #

insertBy :: (PersistUniqueWrite backend, PersistRecordBackend record backend) => record -> NoLoggingT m (Either (Entity record) (Key record)) Source #

replaceUnique :: (PersistUniqueWrite backend, PersistRecordBackend record backend, Eq record, Eq (Unique record)) => Key record -> record -> NoLoggingT m (Maybe (Unique record)) Source #

checkUnique :: (PersistUniqueRead backend, PersistRecordBackend record backend) => record -> NoLoggingT m (Maybe (Unique record)) Source #

onlyUnique :: (PersistUniqueWrite backend, PersistRecordBackend record backend) => record -> NoLoggingT m (Unique record) Source #

selectFirst :: (PersistQueryRead backend, PersistRecordBackend record backend) => [Filter record] -> [SelectOpt record] -> NoLoggingT m (Maybe (Entity record)) Source #

count :: (PersistQueryRead backend, PersistRecordBackend record backend) => [Filter record] -> NoLoggingT m Int Source #

updateWhere :: (PersistQueryWrite backend, PersistRecordBackend record backend) => [Filter record] -> [Update record] -> NoLoggingT m () Source #

deleteWhere :: (PersistQueryWrite backend, PersistRecordBackend record backend) => [Filter record] -> NoLoggingT m () Source #

selectList :: (PersistQueryRead backend, PersistRecordBackend record backend) => [Filter record] -> [SelectOpt record] -> NoLoggingT m [Entity record] Source #

selectKeysList :: (PersistQueryRead backend, PersistRecordBackend record backend) => [Filter record] -> [SelectOpt record] -> NoLoggingT m [Key record] Source #

deleteCascade :: DeleteCascade record backend => Key record -> NoLoggingT m () Source #

deleteCascadeWhere :: (DeleteCascade record backend, PersistQueryWrite backend) => [Filter record] -> NoLoggingT m () Source #

parseMigration :: Migration -> NoLoggingT m (Either [Text] CautiousMigration) Source #

parseMigration' :: Migration -> NoLoggingT m CautiousMigration Source #

printMigration :: Migration -> NoLoggingT m () Source #

showMigration :: Migration -> NoLoggingT m [Text] Source #

getMigration :: Migration -> NoLoggingT m [Sql] Source #

runMigration :: Migration -> NoLoggingT m () Source #

runMigrationSilent :: Migration -> NoLoggingT m [Text] Source #

runMigrationUnsafe :: Migration -> NoLoggingT m () Source #

rawExecute :: Text -> [PersistValue] -> NoLoggingT m () Source #

rawExecuteCount :: Text -> [PersistValue] -> NoLoggingT m Int64 Source #

rawSql :: ((* ~ backend) SqlBackend, RawSql a) => Text -> [PersistValue] -> NoLoggingT m [a] Source #

transactionSave :: NoLoggingT m () Source #

transactionUndo :: NoLoggingT m () Source #

upsertBy :: (PersistUniqueWrite backend, PersistRecordBackend record backend) => Unique record -> record -> [Update record] -> NoLoggingT m (Entity record) Source #

getJustEntity :: (PersistStoreRead backend, PersistRecordBackend record backend) => Key record -> NoLoggingT m (Entity record) Source #

getEntity :: (PersistStoreWrite backend, PersistRecordBackend record backend) => Key record -> NoLoggingT m (Maybe (Entity record)) Source #

insertRecord :: (PersistStoreWrite backend, PersistRecordBackend record backend) => record -> NoLoggingT m record Source #

MonadPersist backend m => MonadPersist backend (LoggingT m) Source # 

Methods

get :: (PersistStoreRead backend, PersistRecordBackend record backend) => Key record -> LoggingT m (Maybe record) Source #

insert :: (PersistStoreWrite backend, PersistRecordBackend record backend) => record -> LoggingT m (Key record) Source #

insert_ :: (PersistStoreWrite backend, PersistRecordBackend record backend) => record -> LoggingT m () Source #

insertMany :: (PersistStoreWrite backend, PersistRecordBackend record backend) => [record] -> LoggingT m [Key record] Source #

insertMany_ :: (PersistStoreWrite backend, PersistRecordBackend record backend) => [record] -> LoggingT m () Source #

insertEntityMany :: (PersistStoreWrite backend, PersistRecordBackend record backend) => [Entity record] -> LoggingT m () Source #

insertKey :: (PersistStoreWrite backend, PersistRecordBackend record backend) => Key record -> record -> LoggingT m () Source #

repsert :: (PersistStoreWrite backend, PersistRecordBackend record backend) => Key record -> record -> LoggingT m () Source #

replace :: (PersistStoreWrite backend, PersistRecordBackend record backend) => Key record -> record -> LoggingT m () Source #

delete :: (PersistStoreWrite backend, PersistRecordBackend record backend) => Key record -> LoggingT m () Source #

update :: (PersistStoreWrite backend, PersistRecordBackend record backend) => Key record -> [Update record] -> LoggingT m () Source #

updateGet :: (PersistStoreWrite backend, PersistRecordBackend record backend) => Key record -> [Update record] -> LoggingT m record Source #

getJust :: (PersistStoreRead backend, PersistRecordBackend record backend) => Key record -> LoggingT m record Source #

belongsTo :: (PersistStoreRead backend, PersistRecordBackend record1 backend, PersistRecordBackend record2 backend) => (record1 -> Maybe (Key record2)) -> record1 -> LoggingT m (Maybe record2) Source #

belongsToJust :: (PersistStoreRead backend, PersistRecordBackend record1 backend, PersistRecordBackend record2 backend) => (record1 -> Key record2) -> record1 -> LoggingT m record2 Source #

insertEntity :: (PersistStoreWrite backend, PersistRecordBackend record backend) => record -> LoggingT m (Entity record) Source #

getBy :: (PersistUniqueRead backend, PersistRecordBackend record backend) => Unique record -> LoggingT m (Maybe (Entity record)) Source #

deleteBy :: (PersistUniqueWrite backend, PersistRecordBackend record backend) => Unique record -> LoggingT m () Source #

insertUnique :: (PersistUniqueWrite backend, PersistRecordBackend record backend) => record -> LoggingT m (Maybe (Key record)) Source #

upsert :: (PersistUniqueWrite backend, PersistRecordBackend record backend) => record -> [Update record] -> LoggingT m (Entity record) Source #

getByValue :: (PersistUniqueRead backend, PersistRecordBackend record backend) => record -> LoggingT m (Maybe (Entity record)) Source #

insertBy :: (PersistUniqueWrite backend, PersistRecordBackend record backend) => record -> LoggingT m (Either (Entity record) (Key record)) Source #

replaceUnique :: (PersistUniqueWrite backend, PersistRecordBackend record backend, Eq record, Eq (Unique record)) => Key record -> record -> LoggingT m (Maybe (Unique record)) Source #

checkUnique :: (PersistUniqueRead backend, PersistRecordBackend record backend) => record -> LoggingT m (Maybe (Unique record)) Source #

onlyUnique :: (PersistUniqueWrite backend, PersistRecordBackend record backend) => record -> LoggingT m (Unique record) Source #

selectFirst :: (PersistQueryRead backend, PersistRecordBackend record backend) => [Filter record] -> [SelectOpt record] -> LoggingT m (Maybe (Entity record)) Source #

count :: (PersistQueryRead backend, PersistRecordBackend record backend) => [Filter record] -> LoggingT m Int Source #

updateWhere :: (PersistQueryWrite backend, PersistRecordBackend record backend) => [Filter record] -> [Update record] -> LoggingT m () Source #

deleteWhere :: (PersistQueryWrite backend, PersistRecordBackend record backend) => [Filter record] -> LoggingT m () Source #

selectList :: (PersistQueryRead backend, PersistRecordBackend record backend) => [Filter record] -> [SelectOpt record] -> LoggingT m [Entity record] Source #

selectKeysList :: (PersistQueryRead backend, PersistRecordBackend record backend) => [Filter record] -> [SelectOpt record] -> LoggingT m [Key record] Source #

deleteCascade :: DeleteCascade record backend => Key record -> LoggingT m () Source #

deleteCascadeWhere :: (DeleteCascade record backend, PersistQueryWrite backend) => [Filter record] -> LoggingT m () Source #

parseMigration :: Migration -> LoggingT m (Either [Text] CautiousMigration) Source #

parseMigration' :: Migration -> LoggingT m CautiousMigration Source #

printMigration :: Migration -> LoggingT m () Source #

showMigration :: Migration -> LoggingT m [Text] Source #

getMigration :: Migration -> LoggingT m [Sql] Source #

runMigration :: Migration -> LoggingT m () Source #

runMigrationSilent :: Migration -> LoggingT m [Text] Source #

runMigrationUnsafe :: Migration -> LoggingT m () Source #

rawExecute :: Text -> [PersistValue] -> LoggingT m () Source #

rawExecuteCount :: Text -> [PersistValue] -> LoggingT m Int64 Source #

rawSql :: ((* ~ backend) SqlBackend, RawSql a) => Text -> [PersistValue] -> LoggingT m [a] Source #

transactionSave :: LoggingT m () Source #

transactionUndo :: LoggingT m () Source #

upsertBy :: (PersistUniqueWrite backend, PersistRecordBackend record backend) => Unique record -> record -> [Update record] -> LoggingT m (Entity record) Source #

getJustEntity :: (PersistStoreRead backend, PersistRecordBackend record backend) => Key record -> LoggingT m (Entity record) Source #

getEntity :: (PersistStoreWrite backend, PersistRecordBackend record backend) => Key record -> LoggingT m (Maybe (Entity record)) Source #

insertRecord :: (PersistStoreWrite backend, PersistRecordBackend record backend) => record -> LoggingT m record Source #

(Monoid w, MonadPersist backend m) => MonadPersist backend (WriterT w m) Source # 

Methods

get :: (PersistStoreRead backend, PersistRecordBackend record backend) => Key record -> WriterT w m (Maybe record) Source #

insert :: (PersistStoreWrite backend, PersistRecordBackend record backend) => record -> WriterT w m (Key record) Source #

insert_ :: (PersistStoreWrite backend, PersistRecordBackend record backend) => record -> WriterT w m () Source #

insertMany :: (PersistStoreWrite backend, PersistRecordBackend record backend) => [record] -> WriterT w m [Key record] Source #

insertMany_ :: (PersistStoreWrite backend, PersistRecordBackend record backend) => [record] -> WriterT w m () Source #

insertEntityMany :: (PersistStoreWrite backend, PersistRecordBackend record backend) => [Entity record] -> WriterT w m () Source #

insertKey :: (PersistStoreWrite backend, PersistRecordBackend record backend) => Key record -> record -> WriterT w m () Source #

repsert :: (PersistStoreWrite backend, PersistRecordBackend record backend) => Key record -> record -> WriterT w m () Source #

replace :: (PersistStoreWrite backend, PersistRecordBackend record backend) => Key record -> record -> WriterT w m () Source #

delete :: (PersistStoreWrite backend, PersistRecordBackend record backend) => Key record -> WriterT w m () Source #

update :: (PersistStoreWrite backend, PersistRecordBackend record backend) => Key record -> [Update record] -> WriterT w m () Source #

updateGet :: (PersistStoreWrite backend, PersistRecordBackend record backend) => Key record -> [Update record] -> WriterT w m record Source #

getJust :: (PersistStoreRead backend, PersistRecordBackend record backend) => Key record -> WriterT w m record Source #

belongsTo :: (PersistStoreRead backend, PersistRecordBackend record1 backend, PersistRecordBackend record2 backend) => (record1 -> Maybe (Key record2)) -> record1 -> WriterT w m (Maybe record2) Source #

belongsToJust :: (PersistStoreRead backend, PersistRecordBackend record1 backend, PersistRecordBackend record2 backend) => (record1 -> Key record2) -> record1 -> WriterT w m record2 Source #

insertEntity :: (PersistStoreWrite backend, PersistRecordBackend record backend) => record -> WriterT w m (Entity record) Source #

getBy :: (PersistUniqueRead backend, PersistRecordBackend record backend) => Unique record -> WriterT w m (Maybe (Entity record)) Source #

deleteBy :: (PersistUniqueWrite backend, PersistRecordBackend record backend) => Unique record -> WriterT w m () Source #

insertUnique :: (PersistUniqueWrite backend, PersistRecordBackend record backend) => record -> WriterT w m (Maybe (Key record)) Source #

upsert :: (PersistUniqueWrite backend, PersistRecordBackend record backend) => record -> [Update record] -> WriterT w m (Entity record) Source #

getByValue :: (PersistUniqueRead backend, PersistRecordBackend record backend) => record -> WriterT w m (Maybe (Entity record)) Source #

insertBy :: (PersistUniqueWrite backend, PersistRecordBackend record backend) => record -> WriterT w m (Either (Entity record) (Key record)) Source #

replaceUnique :: (PersistUniqueWrite backend, PersistRecordBackend record backend, Eq record, Eq (Unique record)) => Key record -> record -> WriterT w m (Maybe (Unique record)) Source #

checkUnique :: (PersistUniqueRead backend, PersistRecordBackend record backend) => record -> WriterT w m (Maybe (Unique record)) Source #

onlyUnique :: (PersistUniqueWrite backend, PersistRecordBackend record backend) => record -> WriterT w m (Unique record) Source #

selectFirst :: (PersistQueryRead backend, PersistRecordBackend record backend) => [Filter record] -> [SelectOpt record] -> WriterT w m (Maybe (Entity record)) Source #

count :: (PersistQueryRead backend, PersistRecordBackend record backend) => [Filter record] -> WriterT w m Int Source #

updateWhere :: (PersistQueryWrite backend, PersistRecordBackend record backend) => [Filter record] -> [Update record] -> WriterT w m () Source #

deleteWhere :: (PersistQueryWrite backend, PersistRecordBackend record backend) => [Filter record] -> WriterT w m () Source #

selectList :: (PersistQueryRead backend, PersistRecordBackend record backend) => [Filter record] -> [SelectOpt record] -> WriterT w m [Entity record] Source #

selectKeysList :: (PersistQueryRead backend, PersistRecordBackend record backend) => [Filter record] -> [SelectOpt record] -> WriterT w m [Key record] Source #

deleteCascade :: DeleteCascade record backend => Key record -> WriterT w m () Source #

deleteCascadeWhere :: (DeleteCascade record backend, PersistQueryWrite backend) => [Filter record] -> WriterT w m () Source #

parseMigration :: Migration -> WriterT w m (Either [Text] CautiousMigration) Source #

parseMigration' :: Migration -> WriterT w m CautiousMigration Source #

printMigration :: Migration -> WriterT w m () Source #

showMigration :: Migration -> WriterT w m [Text] Source #

getMigration :: Migration -> WriterT w m [Sql] Source #

runMigration :: Migration -> WriterT w m () Source #

runMigrationSilent :: Migration -> WriterT w m [Text] Source #

runMigrationUnsafe :: Migration -> WriterT w m () Source #

rawExecute :: Text -> [PersistValue] -> WriterT w m () Source #

rawExecuteCount :: Text -> [PersistValue] -> WriterT w m Int64 Source #

rawSql :: ((* ~ backend) SqlBackend, RawSql a) => Text -> [PersistValue] -> WriterT w m [a] Source #

transactionSave :: WriterT w m () Source #

transactionUndo :: WriterT w m () Source #

upsertBy :: (PersistUniqueWrite backend, PersistRecordBackend record backend) => Unique record -> record -> [Update record] -> WriterT w m (Entity record) Source #

getJustEntity :: (PersistStoreRead backend, PersistRecordBackend record backend) => Key record -> WriterT w m (Entity record) Source #

getEntity :: (PersistStoreWrite backend, PersistRecordBackend record backend) => Key record -> WriterT w m (Maybe (Entity record)) Source #

insertRecord :: (PersistStoreWrite backend, PersistRecordBackend record backend) => record -> WriterT w m record Source #

MonadPersist backend m => MonadPersist backend (StateT s m) Source # 

Methods

get :: (PersistStoreRead backend, PersistRecordBackend record backend) => Key record -> StateT s m (Maybe record) Source #

insert :: (PersistStoreWrite backend, PersistRecordBackend record backend) => record -> StateT s m (Key record) Source #

insert_ :: (PersistStoreWrite backend, PersistRecordBackend record backend) => record -> StateT s m () Source #

insertMany :: (PersistStoreWrite backend, PersistRecordBackend record backend) => [record] -> StateT s m [Key record] Source #

insertMany_ :: (PersistStoreWrite backend, PersistRecordBackend record backend) => [record] -> StateT s m () Source #

insertEntityMany :: (PersistStoreWrite backend, PersistRecordBackend record backend) => [Entity record] -> StateT s m () Source #

insertKey :: (PersistStoreWrite backend, PersistRecordBackend record backend) => Key record -> record -> StateT s m () Source #

repsert :: (PersistStoreWrite backend, PersistRecordBackend record backend) => Key record -> record -> StateT s m () Source #

replace :: (PersistStoreWrite backend, PersistRecordBackend record backend) => Key record -> record -> StateT s m () Source #

delete :: (PersistStoreWrite backend, PersistRecordBackend record backend) => Key record -> StateT s m () Source #

update :: (PersistStoreWrite backend, PersistRecordBackend record backend) => Key record -> [Update record] -> StateT s m () Source #

updateGet :: (PersistStoreWrite backend, PersistRecordBackend record backend) => Key record -> [Update record] -> StateT s m record Source #

getJust :: (PersistStoreRead backend, PersistRecordBackend record backend) => Key record -> StateT s m record Source #

belongsTo :: (PersistStoreRead backend, PersistRecordBackend record1 backend, PersistRecordBackend record2 backend) => (record1 -> Maybe (Key record2)) -> record1 -> StateT s m (Maybe record2) Source #

belongsToJust :: (PersistStoreRead backend, PersistRecordBackend record1 backend, PersistRecordBackend record2 backend) => (record1 -> Key record2) -> record1 -> StateT s m record2 Source #

insertEntity :: (PersistStoreWrite backend, PersistRecordBackend record backend) => record -> StateT s m (Entity record) Source #

getBy :: (PersistUniqueRead backend, PersistRecordBackend record backend) => Unique record -> StateT s m (Maybe (Entity record)) Source #

deleteBy :: (PersistUniqueWrite backend, PersistRecordBackend record backend) => Unique record -> StateT s m () Source #

insertUnique :: (PersistUniqueWrite backend, PersistRecordBackend record backend) => record -> StateT s m (Maybe (Key record)) Source #

upsert :: (PersistUniqueWrite backend, PersistRecordBackend record backend) => record -> [Update record] -> StateT s m (Entity record) Source #

getByValue :: (PersistUniqueRead backend, PersistRecordBackend record backend) => record -> StateT s m (Maybe (Entity record)) Source #

insertBy :: (PersistUniqueWrite backend, PersistRecordBackend record backend) => record -> StateT s m (Either (Entity record) (Key record)) Source #

replaceUnique :: (PersistUniqueWrite backend, PersistRecordBackend record backend, Eq record, Eq (Unique record)) => Key record -> record -> StateT s m (Maybe (Unique record)) Source #

checkUnique :: (PersistUniqueRead backend, PersistRecordBackend record backend) => record -> StateT s m (Maybe (Unique record)) Source #

onlyUnique :: (PersistUniqueWrite backend, PersistRecordBackend record backend) => record -> StateT s m (Unique record) Source #

selectFirst :: (PersistQueryRead backend, PersistRecordBackend record backend) => [Filter record] -> [SelectOpt record] -> StateT s m (Maybe (Entity record)) Source #

count :: (PersistQueryRead backend, PersistRecordBackend record backend) => [Filter record] -> StateT s m Int Source #

updateWhere :: (PersistQueryWrite backend, PersistRecordBackend record backend) => [Filter record] -> [Update record] -> StateT s m () Source #

deleteWhere :: (PersistQueryWrite backend, PersistRecordBackend record backend) => [Filter record] -> StateT s m () Source #

selectList :: (PersistQueryRead backend, PersistRecordBackend record backend) => [Filter record] -> [SelectOpt record] -> StateT s m [Entity record] Source #

selectKeysList :: (PersistQueryRead backend, PersistRecordBackend record backend) => [Filter record] -> [SelectOpt record] -> StateT s m [Key record] Source #

deleteCascade :: DeleteCascade record backend => Key record -> StateT s m () Source #

deleteCascadeWhere :: (DeleteCascade record backend, PersistQueryWrite backend) => [Filter record] -> StateT s m () Source #

parseMigration :: Migration -> StateT s m (Either [Text] CautiousMigration) Source #

parseMigration' :: Migration -> StateT s m CautiousMigration Source #

printMigration :: Migration -> StateT s m () Source #

showMigration :: Migration -> StateT s m [Text] Source #

getMigration :: Migration -> StateT s m [Sql] Source #

runMigration :: Migration -> StateT s m () Source #

runMigrationSilent :: Migration -> StateT s m [Text] Source #

runMigrationUnsafe :: Migration -> StateT s m () Source #

rawExecute :: Text -> [PersistValue] -> StateT s m () Source #

rawExecuteCount :: Text -> [PersistValue] -> StateT s m Int64 Source #

rawSql :: ((* ~ backend) SqlBackend, RawSql a) => Text -> [PersistValue] -> StateT s m [a] Source #

transactionSave :: StateT s m () Source #

transactionUndo :: StateT s m () Source #

upsertBy :: (PersistUniqueWrite backend, PersistRecordBackend record backend) => Unique record -> record -> [Update record] -> StateT s m (Entity record) Source #

getJustEntity :: (PersistStoreRead backend, PersistRecordBackend record backend) => Key record -> StateT s m (Entity record) Source #

getEntity :: (PersistStoreWrite backend, PersistRecordBackend record backend) => Key record -> StateT s m (Maybe (Entity record)) Source #

insertRecord :: (PersistStoreWrite backend, PersistRecordBackend record backend) => record -> StateT s m record Source #

MonadPersist backend m => MonadPersist backend (ExceptT e m) Source # 

Methods

get :: (PersistStoreRead backend, PersistRecordBackend record backend) => Key record -> ExceptT e m (Maybe record) Source #

insert :: (PersistStoreWrite backend, PersistRecordBackend record backend) => record -> ExceptT e m (Key record) Source #

insert_ :: (PersistStoreWrite backend, PersistRecordBackend record backend) => record -> ExceptT e m () Source #

insertMany :: (PersistStoreWrite backend, PersistRecordBackend record backend) => [record] -> ExceptT e m [Key record] Source #

insertMany_ :: (PersistStoreWrite backend, PersistRecordBackend record backend) => [record] -> ExceptT e m () Source #

insertEntityMany :: (PersistStoreWrite backend, PersistRecordBackend record backend) => [Entity record] -> ExceptT e m () Source #

insertKey :: (PersistStoreWrite backend, PersistRecordBackend record backend) => Key record -> record -> ExceptT e m () Source #

repsert :: (PersistStoreWrite backend, PersistRecordBackend record backend) => Key record -> record -> ExceptT e m () Source #

replace :: (PersistStoreWrite backend, PersistRecordBackend record backend) => Key record -> record -> ExceptT e m () Source #

delete :: (PersistStoreWrite backend, PersistRecordBackend record backend) => Key record -> ExceptT e m () Source #

update :: (PersistStoreWrite backend, PersistRecordBackend record backend) => Key record -> [Update record] -> ExceptT e m () Source #

updateGet :: (PersistStoreWrite backend, PersistRecordBackend record backend) => Key record -> [Update record] -> ExceptT e m record Source #

getJust :: (PersistStoreRead backend, PersistRecordBackend record backend) => Key record -> ExceptT e m record Source #

belongsTo :: (PersistStoreRead backend, PersistRecordBackend record1 backend, PersistRecordBackend record2 backend) => (record1 -> Maybe (Key record2)) -> record1 -> ExceptT e m (Maybe record2) Source #

belongsToJust :: (PersistStoreRead backend, PersistRecordBackend record1 backend, PersistRecordBackend record2 backend) => (record1 -> Key record2) -> record1 -> ExceptT e m record2 Source #

insertEntity :: (PersistStoreWrite backend, PersistRecordBackend record backend) => record -> ExceptT e m (Entity record) Source #

getBy :: (PersistUniqueRead backend, PersistRecordBackend record backend) => Unique record -> ExceptT e m (Maybe (Entity record)) Source #

deleteBy :: (PersistUniqueWrite backend, PersistRecordBackend record backend) => Unique record -> ExceptT e m () Source #

insertUnique :: (PersistUniqueWrite backend, PersistRecordBackend record backend) => record -> ExceptT e m (Maybe (Key record)) Source #

upsert :: (PersistUniqueWrite backend, PersistRecordBackend record backend) => record -> [Update record] -> ExceptT e m (Entity record) Source #

getByValue :: (PersistUniqueRead backend, PersistRecordBackend record backend) => record -> ExceptT e m (Maybe (Entity record)) Source #

insertBy :: (PersistUniqueWrite backend, PersistRecordBackend record backend) => record -> ExceptT e m (Either (Entity record) (Key record)) Source #

replaceUnique :: (PersistUniqueWrite backend, PersistRecordBackend record backend, Eq record, Eq (Unique record)) => Key record -> record -> ExceptT e m (Maybe (Unique record)) Source #

checkUnique :: (PersistUniqueRead backend, PersistRecordBackend record backend) => record -> ExceptT e m (Maybe (Unique record)) Source #

onlyUnique :: (PersistUniqueWrite backend, PersistRecordBackend record backend) => record -> ExceptT e m (Unique record) Source #

selectFirst :: (PersistQueryRead backend, PersistRecordBackend record backend) => [Filter record] -> [SelectOpt record] -> ExceptT e m (Maybe (Entity record)) Source #

count :: (PersistQueryRead backend, PersistRecordBackend record backend) => [Filter record] -> ExceptT e m Int Source #

updateWhere :: (PersistQueryWrite backend, PersistRecordBackend record backend) => [Filter record] -> [Update record] -> ExceptT e m () Source #

deleteWhere :: (PersistQueryWrite backend, PersistRecordBackend record backend) => [Filter record] -> ExceptT e m () Source #

selectList :: (PersistQueryRead backend, PersistRecordBackend record backend) => [Filter record] -> [SelectOpt record] -> ExceptT e m [Entity record] Source #

selectKeysList :: (PersistQueryRead backend, PersistRecordBackend record backend) => [Filter record] -> [SelectOpt record] -> ExceptT e m [Key record] Source #

deleteCascade :: DeleteCascade record backend => Key record -> ExceptT e m () Source #

deleteCascadeWhere :: (DeleteCascade record backend, PersistQueryWrite backend) => [Filter record] -> ExceptT e m () Source #

parseMigration :: Migration -> ExceptT e m (Either [Text] CautiousMigration) Source #

parseMigration' :: Migration -> ExceptT e m CautiousMigration Source #

printMigration :: Migration -> ExceptT e m () Source #

showMigration :: Migration -> ExceptT e m [Text] Source #

getMigration :: Migration -> ExceptT e m [Sql] Source #

runMigration :: Migration -> ExceptT e m () Source #

runMigrationSilent :: Migration -> ExceptT e m [Text] Source #

runMigrationUnsafe :: Migration -> ExceptT e m () Source #

rawExecute :: Text -> [PersistValue] -> ExceptT e m () Source #

rawExecuteCount :: Text -> [PersistValue] -> ExceptT e m Int64 Source #

rawSql :: ((* ~ backend) SqlBackend, RawSql a) => Text -> [PersistValue] -> ExceptT e m [a] Source #

transactionSave :: ExceptT e m () Source #

transactionUndo :: ExceptT e m () Source #

upsertBy :: (PersistUniqueWrite backend, PersistRecordBackend record backend) => Unique record -> record -> [Update record] -> ExceptT e m (Entity record) Source #

getJustEntity :: (PersistStoreRead backend, PersistRecordBackend record backend) => Key record -> ExceptT e m (Entity record) Source #

getEntity :: (PersistStoreWrite backend, PersistRecordBackend record backend) => Key record -> ExceptT e m (Maybe (Entity record)) Source #

insertRecord :: (PersistStoreWrite backend, PersistRecordBackend record backend) => record -> ExceptT e m record Source #

(MonadIO m, MonadBaseControl IO m) => MonadPersist backend (PersistT backend m) Source # 

Methods

get :: (PersistStoreRead backend, PersistRecordBackend record backend) => Key record -> PersistT backend m (Maybe record) Source #

insert :: (PersistStoreWrite backend, PersistRecordBackend record backend) => record -> PersistT backend m (Key record) Source #

insert_ :: (PersistStoreWrite backend, PersistRecordBackend record backend) => record -> PersistT backend m () Source #

insertMany :: (PersistStoreWrite backend, PersistRecordBackend record backend) => [record] -> PersistT backend m [Key record] Source #

insertMany_ :: (PersistStoreWrite backend, PersistRecordBackend record backend) => [record] -> PersistT backend m () Source #

insertEntityMany :: (PersistStoreWrite backend, PersistRecordBackend record backend) => [Entity record] -> PersistT backend m () Source #

insertKey :: (PersistStoreWrite backend, PersistRecordBackend record backend) => Key record -> record -> PersistT backend m () Source #

repsert :: (PersistStoreWrite backend, PersistRecordBackend record backend) => Key record -> record -> PersistT backend m () Source #

replace :: (PersistStoreWrite backend, PersistRecordBackend record backend) => Key record -> record -> PersistT backend m () Source #

delete :: (PersistStoreWrite backend, PersistRecordBackend record backend) => Key record -> PersistT backend m () Source #

update :: (PersistStoreWrite backend, PersistRecordBackend record backend) => Key record -> [Update record] -> PersistT backend m () Source #

updateGet :: (PersistStoreWrite backend, PersistRecordBackend record backend) => Key record -> [Update record] -> PersistT backend m record Source #

getJust :: (PersistStoreRead backend, PersistRecordBackend record backend) => Key record -> PersistT backend m record Source #

belongsTo :: (PersistStoreRead backend, PersistRecordBackend record1 backend, PersistRecordBackend record2 backend) => (record1 -> Maybe (Key record2)) -> record1 -> PersistT backend m (Maybe record2) Source #

belongsToJust :: (PersistStoreRead backend, PersistRecordBackend record1 backend, PersistRecordBackend record2 backend) => (record1 -> Key record2) -> record1 -> PersistT backend m record2 Source #

insertEntity :: (PersistStoreWrite backend, PersistRecordBackend record backend) => record -> PersistT backend m (Entity record) Source #

getBy :: (PersistUniqueRead backend, PersistRecordBackend record backend) => Unique record -> PersistT backend m (Maybe (Entity record)) Source #

deleteBy :: (PersistUniqueWrite backend, PersistRecordBackend record backend) => Unique record -> PersistT backend m () Source #

insertUnique :: (PersistUniqueWrite backend, PersistRecordBackend record backend) => record -> PersistT backend m (Maybe (Key record)) Source #

upsert :: (PersistUniqueWrite backend, PersistRecordBackend record backend) => record -> [Update record] -> PersistT backend m (Entity record) Source #

getByValue :: (PersistUniqueRead backend, PersistRecordBackend record backend) => record -> PersistT backend m (Maybe (Entity record)) Source #

insertBy :: (PersistUniqueWrite backend, PersistRecordBackend record backend) => record -> PersistT backend m (Either (Entity record) (Key record)) Source #

replaceUnique :: (PersistUniqueWrite backend, PersistRecordBackend record backend, Eq record, Eq (Unique record)) => Key record -> record -> PersistT backend m (Maybe (Unique record)) Source #

checkUnique :: (PersistUniqueRead backend, PersistRecordBackend record backend) => record -> PersistT backend m (Maybe (Unique record)) Source #

onlyUnique :: (PersistUniqueWrite backend, PersistRecordBackend record backend) => record -> PersistT backend m (Unique record) Source #

selectFirst :: (PersistQueryRead backend, PersistRecordBackend record backend) => [Filter record] -> [SelectOpt record] -> PersistT backend m (Maybe (Entity record)) Source #

count :: (PersistQueryRead backend, PersistRecordBackend record backend) => [Filter record] -> PersistT backend m Int Source #

updateWhere :: (PersistQueryWrite backend, PersistRecordBackend record backend) => [Filter record] -> [Update record] -> PersistT backend m () Source #

deleteWhere :: (PersistQueryWrite backend, PersistRecordBackend record backend) => [Filter record] -> PersistT backend m () Source #

selectList :: (PersistQueryRead backend, PersistRecordBackend record backend) => [Filter record] -> [SelectOpt record] -> PersistT backend m [Entity record] Source #

selectKeysList :: (PersistQueryRead backend, PersistRecordBackend record backend) => [Filter record] -> [SelectOpt record] -> PersistT backend m [Key record] Source #

deleteCascade :: DeleteCascade record backend => Key record -> PersistT backend m () Source #

deleteCascadeWhere :: (DeleteCascade record backend, PersistQueryWrite backend) => [Filter record] -> PersistT backend m () Source #

parseMigration :: Migration -> PersistT backend m (Either [Text] CautiousMigration) Source #

parseMigration' :: Migration -> PersistT backend m CautiousMigration Source #

printMigration :: Migration -> PersistT backend m () Source #

showMigration :: Migration -> PersistT backend m [Text] Source #

getMigration :: Migration -> PersistT backend m [Sql] Source #

runMigration :: Migration -> PersistT backend m () Source #

runMigrationSilent :: Migration -> PersistT backend m [Text] Source #

runMigrationUnsafe :: Migration -> PersistT backend m () Source #

rawExecute :: Text -> [PersistValue] -> PersistT backend m () Source #

rawExecuteCount :: Text -> [PersistValue] -> PersistT backend m Int64 Source #

rawSql :: ((* ~ backend) SqlBackend, RawSql a) => Text -> [PersistValue] -> PersistT backend m [a] Source #

transactionSave :: PersistT backend m () Source #

transactionUndo :: PersistT backend m () Source #

upsertBy :: (PersistUniqueWrite backend, PersistRecordBackend record backend) => Unique record -> record -> [Update record] -> PersistT backend m (Entity record) Source #

getJustEntity :: (PersistStoreRead backend, PersistRecordBackend record backend) => Key record -> PersistT backend m (Entity record) Source #

getEntity :: (PersistStoreWrite backend, PersistRecordBackend record backend) => Key record -> PersistT backend m (Maybe (Entity record)) Source #

insertRecord :: (PersistStoreWrite backend, PersistRecordBackend record backend) => record -> PersistT backend m record Source #

MonadPersist backend m => MonadPersist backend (ReaderT * r m) Source # 

Methods

get :: (PersistStoreRead backend, PersistRecordBackend record backend) => Key record -> ReaderT * r m (Maybe record) Source #

insert :: (PersistStoreWrite backend, PersistRecordBackend record backend) => record -> ReaderT * r m (Key record) Source #

insert_ :: (PersistStoreWrite backend, PersistRecordBackend record backend) => record -> ReaderT * r m () Source #

insertMany :: (PersistStoreWrite backend, PersistRecordBackend record backend) => [record] -> ReaderT * r m [Key record] Source #

insertMany_ :: (PersistStoreWrite backend, PersistRecordBackend record backend) => [record] -> ReaderT * r m () Source #

insertEntityMany :: (PersistStoreWrite backend, PersistRecordBackend record backend) => [Entity record] -> ReaderT * r m () Source #

insertKey :: (PersistStoreWrite backend, PersistRecordBackend record backend) => Key record -> record -> ReaderT * r m () Source #

repsert :: (PersistStoreWrite backend, PersistRecordBackend record backend) => Key record -> record -> ReaderT * r m () Source #

replace :: (PersistStoreWrite backend, PersistRecordBackend record backend) => Key record -> record -> ReaderT * r m () Source #

delete :: (PersistStoreWrite backend, PersistRecordBackend record backend) => Key record -> ReaderT * r m () Source #

update :: (PersistStoreWrite backend, PersistRecordBackend record backend) => Key record -> [Update record] -> ReaderT * r m () Source #

updateGet :: (PersistStoreWrite backend, PersistRecordBackend record backend) => Key record -> [Update record] -> ReaderT * r m record Source #

getJust :: (PersistStoreRead backend, PersistRecordBackend record backend) => Key record -> ReaderT * r m record Source #

belongsTo :: (PersistStoreRead backend, PersistRecordBackend record1 backend, PersistRecordBackend record2 backend) => (record1 -> Maybe (Key record2)) -> record1 -> ReaderT * r m (Maybe record2) Source #

belongsToJust :: (PersistStoreRead backend, PersistRecordBackend record1 backend, PersistRecordBackend record2 backend) => (record1 -> Key record2) -> record1 -> ReaderT * r m record2 Source #

insertEntity :: (PersistStoreWrite backend, PersistRecordBackend record backend) => record -> ReaderT * r m (Entity record) Source #

getBy :: (PersistUniqueRead backend, PersistRecordBackend record backend) => Unique record -> ReaderT * r m (Maybe (Entity record)) Source #

deleteBy :: (PersistUniqueWrite backend, PersistRecordBackend record backend) => Unique record -> ReaderT * r m () Source #

insertUnique :: (PersistUniqueWrite backend, PersistRecordBackend record backend) => record -> ReaderT * r m (Maybe (Key record)) Source #

upsert :: (PersistUniqueWrite backend, PersistRecordBackend record backend) => record -> [Update record] -> ReaderT * r m (Entity record) Source #

getByValue :: (PersistUniqueRead backend, PersistRecordBackend record backend) => record -> ReaderT * r m (Maybe (Entity record)) Source #

insertBy :: (PersistUniqueWrite backend, PersistRecordBackend record backend) => record -> ReaderT * r m (Either (Entity record) (Key record)) Source #

replaceUnique :: (PersistUniqueWrite backend, PersistRecordBackend record backend, Eq record, Eq (Unique record)) => Key record -> record -> ReaderT * r m (Maybe (Unique record)) Source #

checkUnique :: (PersistUniqueRead backend, PersistRecordBackend record backend) => record -> ReaderT * r m (Maybe (Unique record)) Source #

onlyUnique :: (PersistUniqueWrite backend, PersistRecordBackend record backend) => record -> ReaderT * r m (Unique record) Source #

selectFirst :: (PersistQueryRead backend, PersistRecordBackend record backend) => [Filter record] -> [SelectOpt record] -> ReaderT * r m (Maybe (Entity record)) Source #

count :: (PersistQueryRead backend, PersistRecordBackend record backend) => [Filter record] -> ReaderT * r m Int Source #

updateWhere :: (PersistQueryWrite backend, PersistRecordBackend record backend) => [Filter record] -> [Update record] -> ReaderT * r m () Source #

deleteWhere :: (PersistQueryWrite backend, PersistRecordBackend record backend) => [Filter record] -> ReaderT * r m () Source #

selectList :: (PersistQueryRead backend, PersistRecordBackend record backend) => [Filter record] -> [SelectOpt record] -> ReaderT * r m [Entity record] Source #

selectKeysList :: (PersistQueryRead backend, PersistRecordBackend record backend) => [Filter record] -> [SelectOpt record] -> ReaderT * r m [Key record] Source #

deleteCascade :: DeleteCascade record backend => Key record -> ReaderT * r m () Source #

deleteCascadeWhere :: (DeleteCascade record backend, PersistQueryWrite backend) => [Filter record] -> ReaderT * r m () Source #

parseMigration :: Migration -> ReaderT * r m (Either [Text] CautiousMigration) Source #

parseMigration' :: Migration -> ReaderT * r m CautiousMigration Source #

printMigration :: Migration -> ReaderT * r m () Source #

showMigration :: Migration -> ReaderT * r m [Text] Source #

getMigration :: Migration -> ReaderT * r m [Sql] Source #

runMigration :: Migration -> ReaderT * r m () Source #

runMigrationSilent :: Migration -> ReaderT * r m [Text] Source #

runMigrationUnsafe :: Migration -> ReaderT * r m () Source #

rawExecute :: Text -> [PersistValue] -> ReaderT * r m () Source #

rawExecuteCount :: Text -> [PersistValue] -> ReaderT * r m Int64 Source #

rawSql :: ((* ~ backend) SqlBackend, RawSql a) => Text -> [PersistValue] -> ReaderT * r m [a] Source #

transactionSave :: ReaderT * r m () Source #

transactionUndo :: ReaderT * r m () Source #

upsertBy :: (PersistUniqueWrite backend, PersistRecordBackend record backend) => Unique record -> record -> [Update record] -> ReaderT * r m (Entity record) Source #

getJustEntity :: (PersistStoreRead backend, PersistRecordBackend record backend) => Key record -> ReaderT * r m (Entity record) Source #

getEntity :: (PersistStoreWrite backend, PersistRecordBackend record backend) => Key record -> ReaderT * r m (Maybe (Entity record)) Source #

insertRecord :: (PersistStoreWrite backend, PersistRecordBackend record backend) => record -> ReaderT * r m record Source #

(Monoid w, MonadPersist backend m) => MonadPersist backend (RWST r w s m) Source # 

Methods

get :: (PersistStoreRead backend, PersistRecordBackend record backend) => Key record -> RWST r w s m (Maybe record) Source #

insert :: (PersistStoreWrite backend, PersistRecordBackend record backend) => record -> RWST r w s m (Key record) Source #

insert_ :: (PersistStoreWrite backend, PersistRecordBackend record backend) => record -> RWST r w s m () Source #

insertMany :: (PersistStoreWrite backend, PersistRecordBackend record backend) => [record] -> RWST r w s m [Key record] Source #

insertMany_ :: (PersistStoreWrite backend, PersistRecordBackend record backend) => [record] -> RWST r w s m () Source #

insertEntityMany :: (PersistStoreWrite backend, PersistRecordBackend record backend) => [Entity record] -> RWST r w s m () Source #

insertKey :: (PersistStoreWrite backend, PersistRecordBackend record backend) => Key record -> record -> RWST r w s m () Source #

repsert :: (PersistStoreWrite backend, PersistRecordBackend record backend) => Key record -> record -> RWST r w s m () Source #

replace :: (PersistStoreWrite backend, PersistRecordBackend record backend) => Key record -> record -> RWST r w s m () Source #

delete :: (PersistStoreWrite backend, PersistRecordBackend record backend) => Key record -> RWST r w s m () Source #

update :: (PersistStoreWrite backend, PersistRecordBackend record backend) => Key record -> [Update record] -> RWST r w s m () Source #

updateGet :: (PersistStoreWrite backend, PersistRecordBackend record backend) => Key record -> [Update record] -> RWST r w s m record Source #

getJust :: (PersistStoreRead backend, PersistRecordBackend record backend) => Key record -> RWST r w s m record Source #

belongsTo :: (PersistStoreRead backend, PersistRecordBackend record1 backend, PersistRecordBackend record2 backend) => (record1 -> Maybe (Key record2)) -> record1 -> RWST r w s m (Maybe record2) Source #

belongsToJust :: (PersistStoreRead backend, PersistRecordBackend record1 backend, PersistRecordBackend record2 backend) => (record1 -> Key record2) -> record1 -> RWST r w s m record2 Source #

insertEntity :: (PersistStoreWrite backend, PersistRecordBackend record backend) => record -> RWST r w s m (Entity record) Source #

getBy :: (PersistUniqueRead backend, PersistRecordBackend record backend) => Unique record -> RWST r w s m (Maybe (Entity record)) Source #

deleteBy :: (PersistUniqueWrite backend, PersistRecordBackend record backend) => Unique record -> RWST r w s m () Source #

insertUnique :: (PersistUniqueWrite backend, PersistRecordBackend record backend) => record -> RWST r w s m (Maybe (Key record)) Source #

upsert :: (PersistUniqueWrite backend, PersistRecordBackend record backend) => record -> [Update record] -> RWST r w s m (Entity record) Source #

getByValue :: (PersistUniqueRead backend, PersistRecordBackend record backend) => record -> RWST r w s m (Maybe (Entity record)) Source #

insertBy :: (PersistUniqueWrite backend, PersistRecordBackend record backend) => record -> RWST r w s m (Either (Entity record) (Key record)) Source #

replaceUnique :: (PersistUniqueWrite backend, PersistRecordBackend record backend, Eq record, Eq (Unique record)) => Key record -> record -> RWST r w s m (Maybe (Unique record)) Source #

checkUnique :: (PersistUniqueRead backend, PersistRecordBackend record backend) => record -> RWST r w s m (Maybe (Unique record)) Source #

onlyUnique :: (PersistUniqueWrite backend, PersistRecordBackend record backend) => record -> RWST r w s m (Unique record) Source #

selectFirst :: (PersistQueryRead backend, PersistRecordBackend record backend) => [Filter record] -> [SelectOpt record] -> RWST r w s m (Maybe (Entity record)) Source #

count :: (PersistQueryRead backend, PersistRecordBackend record backend) => [Filter record] -> RWST r w s m Int Source #

updateWhere :: (PersistQueryWrite backend, PersistRecordBackend record backend) => [Filter record] -> [Update record] -> RWST r w s m () Source #

deleteWhere :: (PersistQueryWrite backend, PersistRecordBackend record backend) => [Filter record] -> RWST r w s m () Source #

selectList :: (PersistQueryRead backend, PersistRecordBackend record backend) => [Filter record] -> [SelectOpt record] -> RWST r w s m [Entity record] Source #

selectKeysList :: (PersistQueryRead backend, PersistRecordBackend record backend) => [Filter record] -> [SelectOpt record] -> RWST r w s m [Key record] Source #

deleteCascade :: DeleteCascade record backend => Key record -> RWST r w s m () Source #

deleteCascadeWhere :: (DeleteCascade record backend, PersistQueryWrite backend) => [Filter record] -> RWST r w s m () Source #

parseMigration :: Migration -> RWST r w s m (Either [Text] CautiousMigration) Source #

parseMigration' :: Migration -> RWST r w s m CautiousMigration Source #

printMigration :: Migration -> RWST r w s m () Source #

showMigration :: Migration -> RWST r w s m [Text] Source #

getMigration :: Migration -> RWST r w s m [Sql] Source #

runMigration :: Migration -> RWST r w s m () Source #

runMigrationSilent :: Migration -> RWST r w s m [Text] Source #

runMigrationUnsafe :: Migration -> RWST r w s m () Source #

rawExecute :: Text -> [PersistValue] -> RWST r w s m () Source #

rawExecuteCount :: Text -> [PersistValue] -> RWST r w s m Int64 Source #

rawSql :: ((* ~ backend) SqlBackend, RawSql a) => Text -> [PersistValue] -> RWST r w s m [a] Source #

transactionSave :: RWST r w s m () Source #

transactionUndo :: RWST r w s m () Source #

upsertBy :: (PersistUniqueWrite backend, PersistRecordBackend record backend) => Unique record -> record -> [Update record] -> RWST r w s m (Entity record) Source #

getJustEntity :: (PersistStoreRead backend, PersistRecordBackend record backend) => Key record -> RWST r w s m (Entity record) Source #

getEntity :: (PersistStoreWrite backend, PersistRecordBackend record backend) => Key record -> RWST r w s m (Maybe (Entity record)) Source #

insertRecord :: (PersistStoreWrite backend, PersistRecordBackend record backend) => record -> RWST r w s m record Source #

data PersistT backend m a Source #

A concrete monad transformer that implements MonadPersist. To run it, use runPersistT.

If you are using a SQL database, it’s highly recommended that you use the simpler SqlPersistT alias, instead.

Instances

MonadBaseControl b m => MonadBaseControl b (PersistT backend m) Source # 

Associated Types

type StM (PersistT backend m :: * -> *) a :: * #

Methods

liftBaseWith :: (RunInBase (PersistT backend m) b -> b a) -> PersistT backend m a #

restoreM :: StM (PersistT backend m) a -> PersistT backend m a #

MonadBase b m => MonadBase b (PersistT backend m) Source # 

Methods

liftBase :: b α -> PersistT backend m α #

MonadError e m => MonadError e (PersistT backend m) Source # 

Methods

throwError :: e -> PersistT backend m a #

catchError :: PersistT backend m a -> (e -> PersistT backend m a) -> PersistT backend m a #

MonadReader r m => MonadReader r (PersistT backend m) Source # 

Methods

ask :: PersistT backend m r #

local :: (r -> r) -> PersistT backend m a -> PersistT backend m a #

reader :: (r -> a) -> PersistT backend m a #

MonadState s m => MonadState s (PersistT backend m) Source # 

Methods

get :: PersistT backend m s #

put :: s -> PersistT backend m () #

state :: (s -> (a, s)) -> PersistT backend m a #

MonadWriter w m => MonadWriter w (PersistT backend m) Source # 

Methods

writer :: (a, w) -> PersistT backend m a #

tell :: w -> PersistT backend m () #

listen :: PersistT backend m a -> PersistT backend m (a, w) #

pass :: PersistT backend m (a, w -> w) -> PersistT backend m a #

(MonadIO m, MonadBaseControl IO m) => MonadPersist backend (PersistT backend m) Source # 

Methods

get :: (PersistStoreRead backend, PersistRecordBackend record backend) => Key record -> PersistT backend m (Maybe record) Source #

insert :: (PersistStoreWrite backend, PersistRecordBackend record backend) => record -> PersistT backend m (Key record) Source #

insert_ :: (PersistStoreWrite backend, PersistRecordBackend record backend) => record -> PersistT backend m () Source #

insertMany :: (PersistStoreWrite backend, PersistRecordBackend record backend) => [record] -> PersistT backend m [Key record] Source #

insertMany_ :: (PersistStoreWrite backend, PersistRecordBackend record backend) => [record] -> PersistT backend m () Source #

insertEntityMany :: (PersistStoreWrite backend, PersistRecordBackend record backend) => [Entity record] -> PersistT backend m () Source #

insertKey :: (PersistStoreWrite backend, PersistRecordBackend record backend) => Key record -> record -> PersistT backend m () Source #

repsert :: (PersistStoreWrite backend, PersistRecordBackend record backend) => Key record -> record -> PersistT backend m () Source #

replace :: (PersistStoreWrite backend, PersistRecordBackend record backend) => Key record -> record -> PersistT backend m () Source #

delete :: (PersistStoreWrite backend, PersistRecordBackend record backend) => Key record -> PersistT backend m () Source #

update :: (PersistStoreWrite backend, PersistRecordBackend record backend) => Key record -> [Update record] -> PersistT backend m () Source #

updateGet :: (PersistStoreWrite backend, PersistRecordBackend record backend) => Key record -> [Update record] -> PersistT backend m record Source #

getJust :: (PersistStoreRead backend, PersistRecordBackend record backend) => Key record -> PersistT backend m record Source #

belongsTo :: (PersistStoreRead backend, PersistRecordBackend record1 backend, PersistRecordBackend record2 backend) => (record1 -> Maybe (Key record2)) -> record1 -> PersistT backend m (Maybe record2) Source #

belongsToJust :: (PersistStoreRead backend, PersistRecordBackend record1 backend, PersistRecordBackend record2 backend) => (record1 -> Key record2) -> record1 -> PersistT backend m record2 Source #

insertEntity :: (PersistStoreWrite backend, PersistRecordBackend record backend) => record -> PersistT backend m (Entity record) Source #

getBy :: (PersistUniqueRead backend, PersistRecordBackend record backend) => Unique record -> PersistT backend m (Maybe (Entity record)) Source #

deleteBy :: (PersistUniqueWrite backend, PersistRecordBackend record backend) => Unique record -> PersistT backend m () Source #

insertUnique :: (PersistUniqueWrite backend, PersistRecordBackend record backend) => record -> PersistT backend m (Maybe (Key record)) Source #

upsert :: (PersistUniqueWrite backend, PersistRecordBackend record backend) => record -> [Update record] -> PersistT backend m (Entity record) Source #

getByValue :: (PersistUniqueRead backend, PersistRecordBackend record backend) => record -> PersistT backend m (Maybe (Entity record)) Source #

insertBy :: (PersistUniqueWrite backend, PersistRecordBackend record backend) => record -> PersistT backend m (Either (Entity record) (Key record)) Source #

replaceUnique :: (PersistUniqueWrite backend, PersistRecordBackend record backend, Eq record, Eq (Unique record)) => Key record -> record -> PersistT backend m (Maybe (Unique record)) Source #

checkUnique :: (PersistUniqueRead backend, PersistRecordBackend record backend) => record -> PersistT backend m (Maybe (Unique record)) Source #

onlyUnique :: (PersistUniqueWrite backend, PersistRecordBackend record backend) => record -> PersistT backend m (Unique record) Source #

selectFirst :: (PersistQueryRead backend, PersistRecordBackend record backend) => [Filter record] -> [SelectOpt record] -> PersistT backend m (Maybe (Entity record)) Source #

count :: (PersistQueryRead backend, PersistRecordBackend record backend) => [Filter record] -> PersistT backend m Int Source #

updateWhere :: (PersistQueryWrite backend, PersistRecordBackend record backend) => [Filter record] -> [Update record] -> PersistT backend m () Source #

deleteWhere :: (PersistQueryWrite backend, PersistRecordBackend record backend) => [Filter record] -> PersistT backend m () Source #

selectList :: (PersistQueryRead backend, PersistRecordBackend record backend) => [Filter record] -> [SelectOpt record] -> PersistT backend m [Entity record] Source #

selectKeysList :: (PersistQueryRead backend, PersistRecordBackend record backend) => [Filter record] -> [SelectOpt record] -> PersistT backend m [Key record] Source #

deleteCascade :: DeleteCascade record backend => Key record -> PersistT backend m () Source #

deleteCascadeWhere :: (DeleteCascade record backend, PersistQueryWrite backend) => [Filter record] -> PersistT backend m () Source #

parseMigration :: Migration -> PersistT backend m (Either [Text] CautiousMigration) Source #

parseMigration' :: Migration -> PersistT backend m CautiousMigration Source #

printMigration :: Migration -> PersistT backend m () Source #

showMigration :: Migration -> PersistT backend m [Text] Source #

getMigration :: Migration -> PersistT backend m [Sql] Source #

runMigration :: Migration -> PersistT backend m () Source #

runMigrationSilent :: Migration -> PersistT backend m [Text] Source #

runMigrationUnsafe :: Migration -> PersistT backend m () Source #

rawExecute :: Text -> [PersistValue] -> PersistT backend m () Source #

rawExecuteCount :: Text -> [PersistValue] -> PersistT backend m Int64 Source #

rawSql :: ((* ~ backend) SqlBackend, RawSql a) => Text -> [PersistValue] -> PersistT backend m [a] Source #

transactionSave :: PersistT backend m () Source #

transactionUndo :: PersistT backend m () Source #

upsertBy :: (PersistUniqueWrite backend, PersistRecordBackend record backend) => Unique record -> record -> [Update record] -> PersistT backend m (Entity record) Source #

getJustEntity :: (PersistStoreRead backend, PersistRecordBackend record backend) => Key record -> PersistT backend m (Entity record) Source #

getEntity :: (PersistStoreWrite backend, PersistRecordBackend record backend) => Key record -> PersistT backend m (Maybe (Entity record)) Source #

insertRecord :: (PersistStoreWrite backend, PersistRecordBackend record backend) => record -> PersistT backend m record Source #

MonadTrans (PersistT backend) Source # 

Methods

lift :: Monad m => m a -> PersistT backend m a #

MonadTransControl (PersistT backend) Source # 

Associated Types

type StT (PersistT backend :: (* -> *) -> * -> *) a :: * #

Methods

liftWith :: Monad m => (Run (PersistT backend) -> m a) -> PersistT backend m a #

restoreT :: Monad m => m (StT (PersistT backend) a) -> PersistT backend m a #

Monad m => Monad (PersistT backend m) Source # 

Methods

(>>=) :: PersistT backend m a -> (a -> PersistT backend m b) -> PersistT backend m b #

(>>) :: PersistT backend m a -> PersistT backend m b -> PersistT backend m b #

return :: a -> PersistT backend m a #

fail :: String -> PersistT backend m a #

Functor m => Functor (PersistT backend m) Source # 

Methods

fmap :: (a -> b) -> PersistT backend m a -> PersistT backend m b #

(<$) :: a -> PersistT backend m b -> PersistT backend m a #

Applicative m => Applicative (PersistT backend m) Source # 

Methods

pure :: a -> PersistT backend m a #

(<*>) :: PersistT backend m (a -> b) -> PersistT backend m a -> PersistT backend m b #

(*>) :: PersistT backend m a -> PersistT backend m b -> PersistT backend m b #

(<*) :: PersistT backend m a -> PersistT backend m b -> PersistT backend m a #

MonadIO m => MonadIO (PersistT backend m) Source # 

Methods

liftIO :: IO a -> PersistT backend m a #

MonadLogger m => MonadLogger (PersistT backend m) Source # 

Methods

monadLoggerLog :: ToLogStr msg => Loc -> LogSource -> LogLevel -> msg -> PersistT backend m () #

MonadLoggerIO m => MonadLoggerIO (PersistT backend m) Source # 

Methods

askLoggerIO :: PersistT backend m (Loc -> LogSource -> LogLevel -> LogStr -> IO ()) #

type StT (PersistT backend) a Source # 
type StT (PersistT backend) a = StT (ReaderT * SqlBackend) a
type StM (PersistT backend m) a Source # 
type StM (PersistT backend m) a = ComposeSt (PersistT backend) m a

runPersistT :: IsPersistBackend backend => PersistT backend m a -> backend -> m a Source #

Runs a PersistT computation with an arbitrary backend.

If you are using a SQL database, it’s highly recommended that you use runSqlPersistT, instead, which will run the computation in a transaction.

Specialized to SqlBackend

type MonadSqlPersist = MonadPersist SqlBackend Source #

A simple alias that specializes MonadPersist to SqlBackend.

type SqlPersistT = PersistT SqlBackend Source #

A simple alias that specializes PersistT to SqlBackend.

runSqlPersistT :: (MonadIO m, MonadBaseControl IO m) => SqlPersistT m a -> SqlBackend -> m a Source #

Runs a SqlPersistT computation against a SQL database. Unlike runPersistT, the computation is run inside a transaction.