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