Upgrading DB apps

Simon Wilcox essuu at ourshack.com
Tue Feb 14 13:25:20 GMT 2006

On Tue, 14 Feb 2006, Simon Wistow wrote:

> What I'd like to do is make it so that if you upgrade to a newer version
> of a plugin then it migrates your data from an earlier version of the
> schema to the latest version.

Do the plugins share tables at all ?

If so they need to be aware of each other and avoid upgrades which would
break the other plugins. Same applies to the core app I guess. c.f.
Firefox update that broke the WebDev toolbar for a few days.

> Is there a sane known way to do this?
> Would the requirement that you can't upgrade more than one step at a
> time (like for example requiring that you apply patches in order) be too
> onerous a restriction (i.e you can't jump straight from 1.0 to 3.0 you
> must go 1.0 -> 2.0 -> 3.0)

I don't know about sane exactly but you might set it up as a series of
incremental changes that can be applied sequentially. This is how a
certain large CMS of my aquaintance does it.  The challenge is to do it
automatically if the updates are reliant on external tables or plugins. In
that case several different updates may have to be interleaved.

Maybe some sort of resolver that gets the list of updates, pre and post
conditions from each plugin, works out the dependancy chain and calls the
updates in the right order ?


"Hi, I'm crazy Eddie! I put babies on spikes!"

More information about the london.pm mailing list