On 10 Oct 2008, at 10:48, Francis Fish wrote:

> On Fri, Oct 10, 2008 at 10:43 AM, Paul Wilson <[EMAIL PROTECTED] 
> > wrote:
>
> Hi NWRUG,
>
> On 10 Oct 2008, at 08:27, Peter Morris wrote:
> > Which brings up a valuable point, constraints in the DB can mask
> > problems at the orm/model layer
> > and this breaks the principle of 'fail early'. Yes, another
> > principle. :-(
> >
>
> Really?  I'd have thought the exact opposite: constraints can
> highlight problems in the domain(/model) layer - failing early rather
> than allowing data integrity issues.  The constraints are duplication,
> but duplication with _some_ value.  Rather like double-entry book
> keeping - a mistake on one side is caught by the duplication on the
> other.
>

Well, what if the db constraints are stopping orphans being created,  
when the AR:B code would allow it?
That is hiding a problem in the AR:B that should be caught, right?

> I think database constraints are very like static typing  - if you
> take the type-checking away the behaviour of a system written in a
> statically typed language shouldn't change; neither should the
> behaviour change if you disable DB constraints.  If they have any
> value - they are as a double-check.
>
> In the same way that TDD reduces the value of static typing, TDD also
> reduces the value of constraints.  Whether it reduces the value to be
> less than the cost depends on you and your system's relationship with
> the database.  If the DB belongs entirely to your Test Driven app - ie
> it's just the persistence layer for your domain objects - then the DB
> constraints are much less value than if you're sharing the database
> with different applications.
>
>
> BTW what if the db constraints could be generated from the model?
> That would be an interesting option.
>

Now, THAT would be really good.
If we had the constraints being generated from the models, AND AR:B  
trapping constraint violations and reporting
them correctly, then I think we would have something I could like.

>
> +1 - said much better and more coherently than I could have done.
>

Yes, wholeheartedly agree (apart from where I have commented above)

Peter.



> -- 
> Thanks and regards,
>
> Francis Fish
>
> >


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"NWRUG" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/nwrug-members?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to