On Sun, Aug 29, 2010 at 8:08 AM, lampak llampak@gmail.com wrote:
I have started to do it (or at least try). The main problem is: how to check if the user has ever belonged to the group? Should I (a) search the log or (b) create a new database table for former user groups or (c) add a column to the user_groups table so that if a user is kicked off some group the row is not deleted but the value is changed?
I'm not sure if the goal is not too trivial for (b) and (c). But (a) doesn't seem very elegant to me. (Was the log meant to be read by other parts of the code?)
From all these options (c) seems the neatest. But that would mean searching for all places where this table is used... And I don't really feel like altering core tables. (b) would be simpler but produces some redundancy...
(b) seems like the best idea to me. It doesn't create any redundancy that I can see -- at least not in the database-normalization sense -- and it's the most compatible with existing code. (a) is unreliable, and (c) will break old users of the table in a pretty terrible way (group removal won't work).