Forum OpenACS Q&A: Re: content_type__create_type for both item and revision table?

Ola is correct.

The most straightforward way to extend a content type is to subtype cr_revision. The additional complexity of extending the cr_item is not worth the storage savings or having some non-versioned extedned attributes in most cases.

So the simple solution is to store all of your type specific attributes in the subtype of content revision.

If you store all attributes as a content_revision, how do you specify unique constraints?
James, funny you should mention it...we were talking about it just today on irc.

You could enforce uniqueness in a revision table with a partial index.

You can do something similiar with a functional index on oracle (there is an example in chapter 7 in Tom Kyte's Effective Oracle by Design titled selective uniqueness).