Transactions, touch, and async rollups for derived data in Rails
Keeping counters and summaries accurate in Rails without slowing down writes means separating core data in a transaction from derived data updated after commit.
Keeping counters and summaries accurate in Rails without slowing down writes means separating core data in a transaction from derived data updated after commit.
A one-line feature request, recording why a student failed a course, walks through three schema options: a nullable column, a normalized table, and jsonb.
When two services share one database, a schema change in either one can silently break the other, and here is how to split ownership with APIs or events.