Schemamigratie
Een versieerde, stapsgewijze wijziging van de structuur van een database, in vaste volgorde toegepast zodat elke omgeving op exact hetzelfde schema uitkomt.
Een migratie is een klein script — vaak een paar ALTER TABLE-statements, een nieuwe tabel of een data-backfill — dat precies één keer draait en in een eigen tabel wordt vastgelegd, zodat de tool weet wat al is toegepast. De geordende keten van migraties is de bron van waarheid over hoe het schema is gegroeid; afspelen op een lege database hoort de structuur van productie te reproduceren.
Tools als Flyway, Liquibase, Alembic en de ingebouwde migraties van Rails gaven het patroon in de jaren nul een vaste vorm. Het lastige is niet een kolom toevoegen maar wijzigen zonder downtime: een wijziging wordt in twee fasen uitgerold (expand/contract) zodat oude en nieuwe code naast elkaar kunnen draaien, en elke migratie hoort een weg terug te hebben voor het geval een uitrol ongedaan moet worden gemaakt.