[development] module-specific columns in core tables

John Wilkins drupal.user at albin.net
Tue Jun 5 17:48:07 UTC 2007

On Jun 5, 2007, at 10:36 AM, Earl Miles wrote:

> David Strauss wrote:
>> Earl Miles wrote:
>>> At one point we had a 'field' op to nodeapi that let modules add  
>>> fields
>>> to the node table. I would like to see this restored. Then we could
>>> justify never ever having a 1::1 relationship table for 'node'.  
>>> This was
>>> taken out when the node_revisions table was added.
>> Content types adding tables with 1::1 relationships to  
>> {node_revisions}
>> aren't a problem unless we use fields from the content type's  
>> table in
>> WHERE or ORDER BY criteria. I'm not aware of that happening  
>> anywhere in
>> core.
> Ahh, but I bring this up for things like gsitemap or things that  
> add flags to nodes that will get queried by that module. Possibly  
> with queries similar to the tracker query. Some of these may be  
> important.
> If we had a 'kosher', acceptable way for a module to add fields to  
> the node table, and comment.module in core used that as a shining  
> example, then any and all of my objections to this on principle  
> would vanish, melt, disappear and be gone. And we'd get useful  
> functionality, to boot.
> I'd quickly turn out a 'node flags' module that let the  
> administrator create set arbitrary flags on a module, control who  
> can set them, and offer those flags up to Views, if the 'field' op  
> for nodeapi were restored.

And, as Gabor said, we would need to carefully make sure the upgrade  
of this modified table was handled sanely.

Perhaps, a db schema API for table deletion/upgrade that allows  
modules to handle it's own columns.  That's an EXTREMELY rough idea,  
but I'm sure there are smarter people who could shape it into  
something useful.

I hope no one minds that I moved this to a new thread.

More information about the development mailing list