Marco, we are currently using an approach that could make your dba happier: every release, we make an export of the database and use it as a "seed" for the next release. This way, we avoid having to re-execute all of the past changeSets everytime we need a fresh database. I guess this export/import process will also do some sort of "clean up" in your database.
Hope that helps, Diego PS.: If he does not get happier... get rid of him! ;-) ________________________________ De: "Voxland, Nathan" <nvoxl...@intelligentinsites.com> Para: liquibase-user@lists.sourceforge.net Enviadas: Quarta-feira, 1 de Abril de 2009 18:24:31 Assunto: Re: [Liquibase-user] Consolidating Change scripts I don’t think that executing a large number of changes is going to corrupt your database metadata, but performance begins to degrade over time. Unfortunately there is not a great automated way to combine changesets. There is the diff tool (http://www.liquibase.org/manual/diff) which can combine a database in the old format with a database in the new format and generate a list what needs to be done to get from one to the next, but it doesn’t cover everything and diffs in general have problems (see http://blog.liquibase.org/2007/06/the-problem-with-database-diffs.html). If you have just a few changes you may be able to handle it, if you have a lot you can easily miss things. Besides, you have tested your updates during development as individual changes, and you may introduce new errors when you rewrite them. I would recommend keeping the changesets as originally written except in extreme performance causing cases where you can modify them by hand. Nathan From:Reimann, Marco [mailto:marco.reim...@hypoport.de] Sent: Wednesday, April 01, 2009 10:03 AM To: liquibase-user@lists.sourceforge.net Subject: [Liquibase-user] Consolidating Change scripts Hi, is there a way for liquibase to consolidate changes while generating sql change scripts? By default, liquibase generates for each change a separate ddl statement. During the course of development of a production release there will be many changes, some of which may touch the same columns, even reversing earlier changes in some cases. (creating table a, adding a column, renaming it, maybe dropping it again, etc.) Our dba fears that that many changes could eventually corrupt the metadata of our database. To avoid that, these changes would have to be consolidated or aggregated. That means that a script would be created that contains only the necessary statements to change the production database from the last release to the current one, ommitting all redundant changes and touching each column only once. Currently we plan to do this by hand, which will be a tedious and error-prone process. Could this be be done automatically by liquibase? I think, it has all necessary base data for this process (the liquibase change xmls itself). What are your thoughts on this? Regards, Marco Veja quais são os assuntos do momento no Yahoo! +Buscados http://br.maisbuscados.yahoo.com ------------------------------------------------------------------------------ _______________________________________________ Liquibase-user mailing list Liquibase-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/liquibase-user