| Copyright | (c) 2016 Timo von Holtz <tvh@tvholtz.de> (c) 2014 Andreas Meingast <ameingast@gmail.com> |
|---|---|
| License | BSD-style |
| Maintainer | tvh@tvholtz.de |
| Stability | experimental |
| Portability | GHC |
| Safe Haskell | None |
| Language | Haskell2010 |
Hasql.Migration
Description
A migration library for hasql.
- runMigration :: MigrationCommand -> Transaction (Maybe MigrationError)
- loadMigrationFromFile :: ScriptName -> FilePath -> IO MigrationCommand
- loadMigrationsFromDirectory :: FilePath -> IO [MigrationCommand]
- data MigrationCommand
- data MigrationError
- type ScriptName = String
- type Checksum = Text
- getMigrations :: Transaction [SchemaMigration]
- data SchemaMigration = SchemaMigration {}
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. |
data MigrationError Source #
Errors that could occur when a migration is validated or performed
Instances
type ScriptName = String Source #
The name of a script. Typically the filename or a custom name when using Haskell migrations.
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
| |