In SQL, a table can only have one primary key. Web2py insists that the primary key of every table is 'id' and 'id' alone. So without a fundamental change-of-mind I don't see how a complex SQL only suppports one primary key per table. WEb2py insists that the primary key for every table is 'id' and 'id' alone. Consequently, without a fundemental change-of-mind, there is no way to have a different primary key, complex or otherwise, in web2py.
That said, SQL supports multiple UNIQUE keys, both single and multi column. The PRIMARY key is just a special case of UNIQUE. I believe that web2py already supports single column unique constraints. It is multi-column unique constraints that I want to add to the DAL (although they can already be created by native SQL and executesql()). Requires/validators work as form validation rather than database configuration but I suppose there is is nothing to stop IS_NOT_IN_DB statements being used to create db constraints in addition to specifying a validator. In fact, although (I think I am right in saying) the CHECK constraint is not widely supported by database engines at present, using 'requires' to generate constraints could, in the future, be more widely useful. On Dec 16, 2:59 pm, Timothy Farrell <tfarr...@swgen.com> wrote: > In the thread on validating multiple fields, I was trying to use validators > to get around the problem of lack of complex primary key support. The better > solution is to have true complex primary key support rather than a validator > that scaffolds this restriction only when using SQLHTML helpers. > My design philosophy difference with Massimo that I mentioned is that > validators should be used in the DAL for updating and inserting rather than > creating the impression of a true restriction that only really exists if you > use the SQLHTML helpers. > For a DAL to be a true DAL, it needs to support a reasonable subset of the > databases it abstracts. That's what Bill and I are proposing here (Bill stop > me if I'm putting words in your mouth). Complex primary keys and the > multi-field uniqueness restriction go hand-in-hand. They are very nearly the > same thing but more importantly they pave the way for restrictions to be > handled by the DAL and not (necessarily only) the SQLHTML helpers. > Is that more clear? > -tim > DenesL wrote:Tim, wasn't this resolved in a recent thread?. Is your > definition of "Complex Primary keys" different from that?. Just trying to > understand... On Dec 16, 9:19 am, Timothy > Farrell<tfarr...@swgen.com>wrote:Bill, I'm with you. Complex Primary keys is > tops on my wishlist right now. Part of the reason I wanted a web2py wiki so > much is so we could do stuff like this in PEP style. For those unfamiliar > with PEPs:http://www.python.org/dev/peps/pep-0001/I'm over at the wiki, > starting a WEP section. -tim-- Timothy Farrell<tfarr...@swgen.com>Computer > Guy Statewide General Insurance Agency (www.swgen.com) --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "web2py Web Framework" group. To post to this group, send email to web2py@googlegroups.com To unsubscribe from this group, send email to web2py+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/web2py?hl=en -~----------~----~----~----~------~----~------~--~---