Re: Declaring Unenforced Constraints
Date: 18 Nov 2004 06:57:56 -0800
Message-ID: <1100789876.678277.215670_at_c13g2000cwb.googlegroups.com>
Kenneth Downs wrote:
> So, to get back to the original thread.  The solution was to add what
we
> called "OK TO FAIL" to all constraints.  What this meant was that the
build
> would not abort on a constraint create failure, it would write it as
a
> warning and keep going.  This allowed us to get to 100% by degrees,
instead
> of in a big lurch.
>
> They eventually got fixed, mostly.  At this shop the CEO would
ocassionally
> show up with somebody and say, "this is my friend Johann Schmitt,
perhaps
> you have a spot for him?"  What do you know!  We did!  Eventually one
of
> these FOC's (friend of CEO) actually had some SQL skills, and we put
her on
> to running SELECTs to find offending data and working with the client
to
> manually purge out the violations.  Then we'd run an upgrade pass,
which
> would notice the constraints were not there and would try to put them
back
> in, and would finally succeed.
>
> In the end, the bigger clients all had their legacy constraints in
place and
> new improvements came in with the constraints in place from day 1.
I am advocating adding constraints to enforce the rules in the
database, so that bad code gets caught immediately and data fixes are
not required.  However, I have to recognise that this is a non-trivial
undertaking, because:
  
the same time as implementing the constraint).
  
It is early days yet, and I am wondering whether to suggest we go for a "big bang" approach where we implement tons of constraints at once, regression test like mad, and then wait for the screams; or a drip-feed where we implement a smaller number of constraints with each upgrade, regression test like mad, and hopefully get less issues, spread over a longer time frame. Received on Thu Nov 18 2004 - 15:57:56 CET
