The dbmigrations package

[Tags:bsd3, library, program, test]

A library and program 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 and the management tool automatically installs or reverts migrations accordingly, using transactions for safety. This package is written to support any HDBC-supported database. This package supports SQLite, PostgreSQL, and MySQL. Please see MOO.TXT for warnings about MySQL! To get started, see the included README.md and MOO.TXT files and the usage output for the moo command.


[Skip to Readme]

Properties

Versions 0.1, 0.1.1, 0.1.2, 0.2, 0.3, 0.5, 0.6, 0.7, 0.8, 0.8.1, 0.8.2, 0.9, 0.9.1, 1.0, 1.1, 1.1.1
Dependencies base (==4.*), bytestring (>=0.9), configurator (>=0.2), containers (>=0.2), dbmigrations, directory (>=1.0), fgl (>=5.4), filepath (>=1.1), HDBC (>=2.2.1), HDBC-postgresql, HDBC-sqlite3, mtl (>=2.1), mysql (>=0.1.1.8), mysql-simple (>=0.2.2.5), random (>=1.0), split (>=0.2.2), template-haskell, text (>=0.11), time (>=1.4), yaml-light (>=0.1) [details]
License BSD3
Author Jonathan Daugherty <cygnus@foobox.com>
Maintainer Jonathan Daugherty <cygnus@foobox.com>
Stability Unknown
Category Database
Source repository head: git clone git://github.com/jtdaugherty/dbmigrations.git
Uploaded Fri Mar 4 18:42:15 UTC 2016 by JonathanDaugherty
Distributions NixOS:1.1.1, Tumbleweed:1.1.1
Downloads 2855 total (27 in the last 30 days)
Votes
0 []
Status Docs available [build log]
Last success reported on 2016-03-04 [all 1 reports]

Modules

[Index]

Downloads

Maintainer's Corner

For package maintainers and hackage trustees

Readme for dbmigrations

Readme for dbmigrations-1.1.1

dbmigrations

This package contains a library and program 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 and the management tool automatically installs or reverts migrations accordingly, using transactions for safety.

This package operates on two logical entities:

  • The "backend", which is the relational database whose schema you want to manage.

  • The "migration store" (or simply "store"), which is 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 backends for migrations.

Getting started with dbmigrations

This package includes one program, "moo". See MOO.TXT for details on how to use this tool to manage your database migrations.

Installation

If you've obtained this package in source form and would like to install it, you'll need the "cabal" program. To install this package from the source directory, run cabal install.

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.