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 -~----------~----~----~----~------~----~------~--~---
