On Apr 21, 2008, at 7:44 PM, Christophe wrote:
Greetings,
We have the traditional three servers:
dev --> staging --> production
each with a PostgreSQL instance and the same schema, at least over
time. Right now, we handle schema migration (updating the schema
for new releases) by manually-created scripts that apply the changes
to staging and production.
I'd like a tool that would automatically create these scripts, and I
wondered if anything like this existed. The theory would be that it
would consider two databases a and b, and produce the appropriate
script to change b's schema to match a.
Does anything like this exist? If not, I might have a new project...
There's a bunch. I've been using http://dbmstools.sourceforge.net/ for
a while, and some others are http://xml2ddl.berlios.de/ and http://www.liquibase.org/
. They're mostly focused on maintaining the schema in a non-sql-
script format (with good reason) but can extract it from a running
database too.
Or you can just maintain your schema by manually writing version n to n
+1 upgrade scripts and version n to n-1 downgrade scripts and
generating the schema for version n in the obvious way.
Cheers,
Steve