packages feed

dbmigrations-2.0.0: README.md

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.