[Dbix-class] Ideas for database versioning.

Dave Howorth dhoworth at mrc-lmb.cam.ac.uk
Tue Nov 6 11:07:36 GMT 2012

Alejandro Imass wrote:
> On Mon, Nov 5, 2012 at 9:10 PM, Bill Moseley <moseley at hank.org> wrote:
>> Essentially, I'm looking for ideas how to make sure that the DBIC model has
>> its dependencies met -- which includes schema updates -- in some automated
>> way.   Hopefully in a foolproof way, too.

> For the development team is no problem because the scripts will always
> generate the latest version. The changes directory is mostly to
> implement the changes in production and the process is very manual, as
> it should be IOHO. We don't want any automation regarding productions
> DBs, we want a DBA to apply these changes with care.

I'm with Alejandro here. Writing distributed systems is not trivial.
Writing distributed systems that perform distributed updates is less
trivial. Writing such a system for low-volume, high value transactions
just isn't worth the candle IMHO.

How do you review the changes that the first app made for its impact on
all the other apps? Their test suites are incomplete with respect to the
change by definition.

The downside of having many separate apps instead of a monolithic
application is that you have many more interactions like this. The best
way I know is to have a single point (i.e. person) responsible for
managing each interaction. It's best to have human experts participate
in the operational process so that when there's trouble, they have
experience. The same reason you want an operation on you done by a
surgeon who does them regularly.

More information about the DBIx-Class mailing list