How to implement database schema for tracking the status of a purchase?
I had a document approval and publishing module that tracked reports through their status from writing, approval, revisions, and finally publish. The way we tracked it was to have a table with the document id, current status, and a timestamp. Any time the status would change it would update that document's record with the datetime it happened. The only thing to be aware of was that we did not store historical information, so when a report was published we couldn't look back to see when it was originally written and approved by the supervisor.