Skip to content

The Ten Rules of Schema Growth

Stuart Halloway edited this page Jan 26, 2017 · 1 revision

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

Clone this wiki locally