Current state is right but history is lost: audit and history data modeling patterns
An order says COMPLETED, but nobody can say what it was before, who changed it, or when. We compare status history tables, trigger-based audit logs, temporal rows and event sourcing, with a runnable Postgres example and the rule we use to pick one.