Re: The fable of DEMETRIUS, CONSTRAINTICUS, and AUTOMATICUS
Date: Thu, 21 Oct 2004 11:14:00 -0400
Message-ID: <pnj8lc.52p.ln_at_mercury.downsfam.net>
Marshall Spight wrote:
> "Kenneth Downs" <firstinit.lastname_at_lastnameplusfam.net> wrote in message
> news:g7b8lc.79o.ln_at_mercury.downsfam.net...
>> Laconic2 wrote: >> >> You can do absolutely >> anything you want to the database. The only request is that you do not >> issue direct DDL, but that you give input to the builder and let it >> generate the DDL, so that it is managed.
>
> Do changes to the schema produce DDL that will cover the delta
> from one meta-state to the next? That is, will the system generate
> "ALTER TABLE INSERT COLUMN" or will it just generate
> a ton of CREATE TABLEs? In which case, how do you migrate?
>
>
> Marshall
It does a diff between existing state and spec, adding only what is necessary. This means it is ALTER TABLE.
This is really extremely cool (IMHO) in cases where a customer is very far behind. Consider a customer 10 releases back. Do you copy in the code for each release, overwriting the previous, until you get up to date? Nope, you just give them the latest, the in-betweens don't matter.
The differences engine gives you the same effect for data. Forget about all of the intermediate states for those 10 releases, just take the spec describing the current state, do the diff, and issue the DDL.
You can also run a diff of the current spec against the database itself, without performing an upgrade, and say, "Hey, somebody on site with DDL priveleges removed one of our constraints!! No wonder we've got bad data in the GONKULATORS table. The last 10 hours of debugging are not covered under support, bill the sucker!"
-- Kenneth Downs Use first initial plus last name at last name plus literal "fam.net" to email meReceived on Thu Oct 21 2004 - 17:14:00 CEST