Re: [CDBI] Database software upgrades...

Matt S Trout <dbix-class-uY5y5/[email protected]>
Newsgroups gmane.comp.lang.perl.modules.class-dbi
Message-ID <[email protected]>
Judd Taylor wrote:
> This is slightly off topic, but I figure people on this list may be able
> to help me out here.
> 
> I've got a lot of perl software that uses C::DBI, of which the DBI
> subclass stuff is reverse-engineered from a MySQL database (using the
> DBDesigner4 name conventions, etc... to work out relationships).
> 
> That scheme works well when working with a single database, but I need
> to install this software with a database running at every site. 
> 
> The real problem is when one site needs to upgrade the software when the
> underlying database has also changed. I can just wipe the database out
> and re-create it using the new upgraded format, but then all of the
> previous data in the database is lost. That's no good, since users will
> have to re-configure the software from scratch every time they upgrade.
> 
> Is there a simple way to I can upgrade the underlying database along
> with the software, without wiping out the already-installed data? 

I've found sqlt-diff produces ALTER TABLE statements pretty well; you may want 
to try SQL::Translator dev releases and/or cvs trunk rather than the last CPAN 
release though since we're working on proper cross-database automated 
versioning and upgrade stuff for DBIx::Class and that's resulted in a fairly 
steady stream of patches going back to SQL::Translator - the current code is 
far, far in advance of what's on CPAN.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.