[Haskell] [ANN] dbmigrations 2.0.0: the "break everything in a good way" update

Jonathan Daugherty cygnus at foobox.com
Sat Oct 22 20:17:22 UTC 2016


Hi,

TLDR: this release contains good but BREAKING changes! Read on for
details.

I'm pleased to announce the release of version 2.0.0 of the
"dbmigrations" library for managing relational database schema changes.

http://hackage.haskell.org/package/dbmigrations

This release includes the creation of three new packages. These are the
ones you want to install now, instead of the core library:

 * http://hackage.haskell.org/package/dbmigrations-postgresql
 * http://hackage.haskell.org/package/dbmigrations-sqlite
 * http://hackage.haskell.org/package/dbmigrations-mysql

In this release all database-specific functionality was factored out
of the core library into the packages listed above. Previously, if you
wanted to use dbmigrations you needed to have, say, MySQL C libraries
installed even if you didn't want to use dbmigrations on a MySQL
database. Needless to say, this created headaches as more backend
implementations were added to the library.

This means that, as a transition aid, the core package's tool EXITS
WITH AN ERROR MESSAGE that suggests you install one of the above
backend-specific packages to get a backend-specific version of
the dbmigrations tool.

The dbmigrations library also includes a backend test suite that all of
the backend-specific packages use to ensure consistent behavior across
implementations of the dbmigrations interface.

This release was made possible by Bastian Krol, who put in a lot of time
to move the backend-specific bits of the library into the new packages.
This was a much-needed change and I'm thankful for his contribution!

-- 
  Jonathan Daugherty


More information about the Haskell mailing list