dbmigrations
------------
This package contains a library for the creation, management, and
installation of schema updates (called "migrations") for a relational
database. In particular, this package lets the migration author express
explicit dependencies between migrations. This library is accompanied
by a number database-specific packages that contain the management
tools to automatically install or revert migrations accordingly.
This package operates on two logical entities:
- The "backend": the relational database whose schema you want to
manage.
- The "migration store": the collection of schema changes you want to
apply to the database. These migrations are expressed using plain
text files collected together in a single directory, although the
library is general enough to permit easy implementation of other
storage representations for migrations.
Getting started
---------------
To get started, install the right database-specific dbmigrations package
for your database. Current options are:
* `dbmigrations-postgresql`
* `dbmigrations-mysql`
* `dbmigrations-sqlite`
Each package provides a variant of the "moo" management program
("moo-postgresql", "moo-mysql", and "moo-sqlite" respectively) to be
used to manage your database schema. See MOO.TXT for details on how to
use these tools to manage your database migrations.
Submitting patches
------------------
I'll gladly consider accepting patches to this package; please do not
hesitate to submit GitHub pull requests. I'll be more likely to accept
a patch if you can follow these guidelines where appropriate:
- Keep patches small; a single patch should make a single logical
change with minimal scope.
- If possible, include tests with your patch.
- If possible, include haddock with your patch.