Thread: Keeping information changes history
Hi I need to keep information changes history for people in our application. e.g. when their address was changed I need to remember who changed it (staff or member), when and to what was changed. I don't know what's the standard approach to this problem. I thought of having another address table, say addresses_history, same structure as usual table, but with some extra fields: type of user and user id who made the change, and time stamp. Every time a change is made to addresses table also insert the proper record in addresses_history with a trigger. But I need to know information about the user who changed it in database, not only the application, so where to keep it? So I should add other columns to addresses table for this (user id and type of user) Any suggestions for improving or confirmations that this approach will do the job greatly appreciated! -- Marius Andreiana -- You don't have to go to jail for helping your neighbour http://www.gnu.org/philosophy/
Marius Andreiana <marius@wdg.ro> writes: > I need to keep information changes history for people in our > application. > e.g. when their address was changed I need to remember who changed it > (staff or member), when and to what was changed. > I don't know what's the standard approach to this problem. I thought > of having another address table, say addresses_history, same structure > as usual table, but with some extra fields: type of user and user id who > made the change, and time stamp. > Every time a change is made to addresses table also insert the proper > record in addresses_history with a trigger. But I need to know > information about the user who changed it in database, not only the > application, so where to keep it? > So I should add other columns to addresses table for this (user id and > type of user) Yup, that's the standard approach, and using triggers to add entries to the history table is exactly how it's done. regards, tom lane