The Ten Rules of Schema Growth - stuarthalloway/presentations GitHub Wiki
Abstract
Data outlives code, and a valuable database supports many applications over time. These ten rules will help grow your database schema without breaking your applications.
- Prod is not like dev
- Grow your schema, and never break it
- The database is the source of truth
- Growing is adding
- Never remove a name
- Never reuse a name
- Use aliases
- Namespace all names
- Annotate your schema
- Plan for accretion
These rules apply to almost any SQL or NoSQL database, even the so-called "schemaless" databases. You can grow your schema without breaking your app. You can continuously deploy without continuously propagating breakage.
Resources
- Blog Post introducing the ten rules
- Datomic Production Schema Best Practices