Data That Must Survive
Constraints, transactions, migrations, identity, time, and query behavior for state that outlives its code.
- 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