Data That Must Survive
Identifiers, clocks, migrations, constraints, and queries all have to respect one awkward fact: the data will probably outlive the code that wrote it.
- Let the Database Reject Impossible State
- A Transaction Defines What Must Succeed Together
- A Migration Is a Production Change
- Null Is a Domain Decision
- Money Is Not a Floating-Point Number
- Time Zones Are Part of the Data Model
- An Identifier Should Outlive Its Storage Engine
- Soft Deletes Preserve Ambiguity Too
- Pagination Needs a Stable Order
- An Index Must Serve a Real Query
- Audit History Is Different from Application Logging
- Data Outlives the Code That Created It