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.