hasql-migration-0.3.1: PostgreSQL Schema Migrations
Copyright(c) 2016 Timo von Holtz <[email protected]>
(c) 2014 Andreas Meingast <[email protected]>
LicenseBSD-style
Maintainer[email protected]
Stabilityexperimental
PortabilityGHC
Safe HaskellNone
LanguageHaskell2010

Hasql.Migration

Description

A migration library for hasql.

Synopsis

Migration actions

runMigration :: MigrationCommand -> Transaction (Maybe MigrationError) Source #

Executes a MigrationCommand.

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

loadMigrationFromFile :: ScriptName -> FilePath -> IO MigrationCommand Source #

load a migration from script located at the provided FilePath.

loadMigrationsFromDirectory :: FilePath -> IO [MigrationCommand] Source #

Load migrations from SQL scripts in the provided FilePath in alphabetical order.

Migration types

data MigrationCommand Source #

MigrationCommand determines the action of the runMigration script.

Constructors

MigrationInitialization

Initializes the database with a helper table containing meta information.

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 = Text Source #

The checksum type of a migration script.

Migration result actions

getMigrations :: Transaction [SchemaMigration] Source #

Produces a list of all executed SchemaMigrations.

Migration result types

data SchemaMigration Source #

A product type representing a single, executed SchemaMigration.

Constructors

SchemaMigration 

Fields