Saving a copy till it is approved

I’ve a database with around 8000+ thing to do. Now i want to validate the information (name, address, mail etc.) by sending the customer an email containing a link to modify his/her company information.

When savind this record i want to store thiss seperatly from the current information. When i approve the changes, the new information is replacing the old information.

What is the best approach… creating an extra model/table or creating for every field that the customer can modify an extra field (name_new, street_new, mail_new)…

Any ideas/comments are welcome

It depends, you can go with a single table, but if you want some extra security, then you should consider adding a new table accessable only by customers. The easiest way is to add extra fields and a field “status” to recognize modified items, and it will work too :)

As a general rule, I’d go with a second table, but I agree with andy_s that either approach will work. If you think of it as a change capture, the only records in the new table are those that need to be processed / approved. On any given day, this will be significantly less than the full 8000+ records. There is no requirement to search for a particular status. Once processed, you remove the record. You get better security and better performance (though not an issue with a small dataset).