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, although at present only PostgreSQL is fully supported. To
get started, see the included README and MOO.TXT files and the usage
output for the "moo" command.
This package is motivated by the need for a framework-independent,
solid tool to manage database schema changes in a clean way without
assuming a linear sequence of changes assumed by existing tools.
dbmigrations lets you manage a forest of schema changes.
Future work will include an hscurses-based tool to visualize and
manipulate available migrations and their dependencies and support for
other database engines.
Please don't hesitate to send patches, feedback, and criticism
directly to me at drcygnus AT gmail DOT com. I'd like to say thanks
to Josh Hoyt and Jason Dagit for suggesting improvements, providing
support, and showing me how beautiful Haskell is. Thanks!