On Mar 6, 5:44 am, k...@xxxxxxxxxx (Kenneth Downs) wrote: > Andrew Hammond wrote: > > Each release will include a directory that has the same name as the > > full release tag. This directory must contain all the scripts to be > > applied. > > Have you considered using a data dictionary instead, Data dictionary is a pretty generic term, could you please show me what you mean by this? > so that you can > simply diff the structures and generate DDL to bring a database to its > current state? To fully express the semantics of a change, DDL is often interspersed with DML. A trivial example is refactoring a table to reflect a 1 to n relationship. In order to do this successfully, you must first execute DDL to create a new table, then execute DML to pull data from the old table into the new table, and finally execute DDL to remove the columns in the old table as necessary. > If your scripts contain data modification code, they can be preserved, > but using a dictionary smooths over a lot of the quirkiness of the > scripts-based approach. Again, I'd be very interested in seeing what you mean by a dictionary. Andrew