Quoting Moshe Weitzman <weitzman@tejasa.com>:
So let me add a bit to the question because I just came across it in a contrib. Let's say you need one field that exactly matches a core table. Is it ever okay, upgrades aside, to add that column to the core table? Some things I've read about D7 seem to indicate this will be okay in D7. The use of "drupal_write_record" really makes this a convenient practice.
Depends on who you ask. My position is that adding a column to a foreign table is OK if the code will not be shared. IOW, custom code for your own site. It is especially OK for the user table since it has built in support for custom columns. I discourage this practice for Contrib modules since the users of the module are usually unprepared to evaluate the upgrade risks involved.
I agree with Moshe but understand the desire to want to add to a table. The correct method for this is to create your own table relating the rows of information. You can CREATE VIEW if you want to avoid needing to supply the JOINS. Views are great for relating row ids to the text data you wish to represent. Writing the relational data is reserved for the provided hooks such as hook_nodeapi. -- Earnie http://r-feed.com Make a Drupal difference and review core patches. -- http://for-my-kids.com/ -- http://www.4offer.biz/