This module provides an abstraction for a migration store, a
facility in which Migrations can be stored and from which they
can be loaded. This module also provides functions for taking
Migrations from a store and converting them into the appropriate
intermediate types for use with the rest of this library.

Documentation

A type class for types which represent a storage facility (and a
monad context in which to operate on the store). A MigrationStore
is a facility in which new migrations can be created, and from
which existing migrations can be loaded.

High-level Store API

Load migrations from the specified MigrationStore, validate the
loaded migrations, and return errors or a MigrationMap on
success. Generally speaking, this will be the first thing you
should call once you have constructed a MigrationStore.

Miscellaneous Functions

Create a DependencyGraph from a MigrationMap; returns Left if
the dependency graph cannot be constructed (e.g., due to a
dependency cycle) or Right on success. Generally speaking, you
won't want to use this directly; use loadMigrations instead.