[development] One-to-one tables considered harmful
Rob Barreca
rob at electronicinsight.com
Mon Jun 4 08:00:49 UTC 2007
David Strauss wrote:
> Earl Miles wrote:
>
>> No, you misinterpreted mine. Drupal is modular. comment.module is a
>> > module. Now, it's a poor module -- it has some rather nasty integration
>> > with the rest of the site which, IMO, it should not. But it worries me
>> > that one of the solutions is to re-integrate rather than to make it
>> > properly modular.
I was training someone on some basics of developing a Drupal module last
week and we needed to create a module tying data to a node. His initial
instinct was to add a new column to {node} and I said "That is not the
Drupal way. Drupal is modular so we must create our own table." So we
created our own table JOINed to nid.
So, I don't pretend to be a master of all things DB, but what about
getting closer to how CCK does a bit heavier manipulation of the DB
schema. For example, if you have a CCK field used in more than one
content type, CCK creates it's own dedicated table, if just one content
type uses that CCK field, those columns go in that node type's table.
Especially with the new Schema API, couldn't we allow a module to
add/remove/update its own fields to {node}, for example, if it would
really improve performance in certain circumstances and as long as we
maintain our module's namespace? It would still be modular as we have
.install files to do all the magic on install/uninstall.
-Rob
More information about the development
mailing list