Copyright | (c) 2014 Andreas Meingast <ameingast@gmail.com> |
---|---|
License | BSD-style |
Maintainer | ameingast@gmail.com |
Stability | experimental |
Portability | GHC |
Safe Haskell | None |
Language | Haskell2010 |
A migration library for postgresql-simple.
For usage, see Readme.markdown.
Synopsis
- runMigration :: MigrationContext -> IO (MigrationResult [Char])
- runMigrations :: Bool -> Connection -> [MigrationCommand] -> IO (MigrationResult String)
- sequenceMigrations :: Monad m => [m (MigrationResult e)] -> m (MigrationResult e)
- data MigrationContext = MigrationContext {}
- data MigrationCommand
- data MigrationResult a
- type ScriptName = String
- type Checksum = ByteString
- getMigrations :: Connection -> IO [SchemaMigration]
- data SchemaMigration = SchemaMigration {}
Migration actions
runMigration :: MigrationContext -> IO (MigrationResult [Char]) Source #
:: Bool | Run in verbose mode |
-> Connection | The postgres connection to use |
-> [MigrationCommand] | The commands to run |
-> IO (MigrationResult String) |
sequenceMigrations :: Monad m => [m (MigrationResult e)] -> m (MigrationResult e) Source #
Run a sequence of contexts, stopping on the first failure
Migration types
data MigrationContext Source #
The MigrationContext
provides an execution context for migrations.
MigrationContext | |
|
data MigrationCommand Source #
MigrationCommand
determines the action of the runMigration
script.
MigrationInitialization | Initializes the database with a helper table containing meta information. |
MigrationDirectory FilePath | Executes migrations based on SQL scripts in the provided |
MigrationFile ScriptName FilePath | Executes a migration based on script located at the provided
|
MigrationScript ScriptName ByteString | Executes a migration based on the provided bytestring. |
MigrationValidation MigrationCommand | Validates that the provided MigrationCommand has been executed. |
MigrationCommands [MigrationCommand] | Performs a series of |
Instances
data MigrationResult a Source #
A sum-type denoting the result of a migration.
MigrationError a | There was an error in script migration. |
MigrationSuccess | All scripts have been executed successfully. |
Instances
type ScriptName = String Source #
The name of a script. Typically the filename or a custom name when using Haskell migrations.
type Checksum = ByteString Source #
The checksum type of a migration script.
Migration result actions
getMigrations :: Connection -> IO [SchemaMigration] Source #
Produces a list of all executed SchemaMigration
s in the default schema_migrations table
Migration result types
data SchemaMigration Source #
A product type representing a single, executed SchemaMigration
.
SchemaMigration | |
|