Earlier quoted context omitted.
> Audit tables are a dumb concept because they imply bolting on an actual source of truth in addition to the regular not so source of truth tables, The regular table is the source of truth, the audit table is just a historical record of what changed and when.
So what do you do if a balance has $30 and the audit table shows two deposits of $20?
If you’re storing a log of database changes (what’s usually meant by an audit table), as in
(Table_Name, Column_Name, Old_Value, New_Value, Timestamp)
Then the database state is the source of truth, and the audit table is simply a record of changes ever occurred that reached that state.
In either case, there’s a single source of truth.