postgresql-simple-migration-0.1.6.0: PostgreSQL Schema Migrations

Copyright(c) 2014 Andreas Meingast <ameingast@gmail.com>
LicenseBSD-style
Maintainerameingast@gmail.com
Stabilityexperimental
PortabilityGHC
Safe HaskellNone
LanguageHaskell2010

Database.PostgreSQL.Simple.Migration

Contents

Description

A migration library for postgresql-simple.

For usage, see Readme.markdown.

Synopsis

Migration actions

runMigration :: MigrationContext -> IO (MigrationResult String) Source #

Executes migrations inside the provided MigrationContext.

Returns MigrationSuccess if the provided MigrationCommand executes without error. If an error occurs, execution is stopped and a MigrationError is returned.

It is recommended to wrap runMigration inside a database transaction.

Migration types

data MigrationContext Source #

The MigrationContext provides an execution context for migrations.

Constructors

MigrationContext 

Fields

data MigrationCommand Source #

MigrationCommand determines the action of the runMigration script.

Constructors

MigrationInitialization

Initializes the database with a helper table containing meta information.

MigrationDirectory FilePath

Executes migrations based on SQL scripts in the provided FilePath in alphabetical order.

MigrationFile ScriptName FilePath

Executes a migration based on script located at the provided FilePath.

MigrationScript ScriptName ByteString

Executes a migration based on the provided bytestring.

MigrationValidation MigrationCommand

Validates the provided MigrationCommand.

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 SchemaMigrations.

Migration result types