Safe Haskell | None |
---|---|
Language | Haskell98 |
A MySQL backend for persistent
.
- withMySQLPool :: (MonadIO m, MonadLogger m, MonadBaseControl IO m, IsSqlBackend backend) => ConnectInfo -> Int -> (Pool backend -> m a) -> m a
- withMySQLConn :: (MonadBaseControl IO m, MonadIO m, MonadLogger m, IsSqlBackend backend) => ConnectInfo -> (backend -> m a) -> m a
- createMySQLPool :: (MonadBaseControl IO m, MonadIO m, MonadLogger m, IsSqlBackend backend) => ConnectInfo -> Int -> m (Pool backend)
- module Database.Persist.Sql
- data ConnectInfo :: * = ConnectInfo {}
- data SSLInfo :: * = SSLInfo {}
- defaultConnectInfo :: ConnectInfo
- defaultSSLInfo :: SSLInfo
- data MySQLConf = MySQLConf {}
- mockMigration :: Migration -> IO ()
Documentation
:: (MonadIO m, MonadLogger m, MonadBaseControl IO m, IsSqlBackend backend) | |
=> ConnectInfo | Connection information. |
-> Int | Number of connections to be kept open in the pool. |
-> (Pool backend -> m a) | Action to be executed that uses the connection pool. |
-> m a |
Create a MySQL connection pool and run the given action.
The pool is properly released after the action finishes using
it. Note that you should not use the given ConnectionPool
outside the action since it may be already been released.
:: (MonadBaseControl IO m, MonadIO m, MonadLogger m, IsSqlBackend backend) | |
=> ConnectInfo | Connection information. |
-> (backend -> m a) | Action to be executed that uses the connection. |
-> m a |
Same as withMySQLPool
, but instead of opening a pool
of connections, only one connection is opened.
:: (MonadBaseControl IO m, MonadIO m, MonadLogger m, IsSqlBackend backend) | |
=> ConnectInfo | Connection information. |
-> Int | Number of connections to be kept open in the pool. |
-> m (Pool backend) |
Create a MySQL connection pool. Note that it's your
responsibility to properly close the connection pool when
unneeded. Use withMySQLPool
for automatic resource control.
module Database.Persist.Sql
data ConnectInfo :: * #
ConnectInfo | |
|
defaultConnectInfo :: ConnectInfo #
Default information for setting up a connection.
Defaults are as follows:
- Server on
localhost
- User
root
- No password
- Database
test
- Character set
utf8
Use as in the following example:
connect defaultConnectInfo { connectHost = "db.example.com" }
Default (empty) information for setting up an SSL connection.
Information required to connect to a MySQL database
using persistent
's generic facilities. These values are the
same that are given to withMySQLPool
.
MySQLConf | |
|
mockMigration :: Migration -> IO () Source #
Mock a migration even when the database is not present. This function will mock the migration for a database even when the actual database isn't already present in the system.