Database skjemamigrering

Schema migration, database schema

Den enkleste måten å tenke på et databaseskjema på, er som kolonneoverskriftene i et gigantisk, delt regneark. Skjemaet er en mal som definerer hva slags data du lagrer og hvordan de er organisert. Eksempler er kolonner som `user_id`, `email` og `signup_date`.

En skjemamigrering er prosessen med å endre denne malen etter at du allerede har tusenvis eller millioner av datarader. Det er som å legge til en ny kolonne med «Telefonnummer» i regnearket for brukerne. Du kan ikke bare legge til overskriften; du må ha en nøye plan for alle eksisterende rader.

  • Det strenge regelsettet for databasen din er schema/ skjema. Det definerer tabellstrukturer, kolonnenavn, datatyper (`tekst`, `tall`, `dato`) og relasjoner.

  • Dataene er all informasjonen som finnes i denne strukturen (f.eks. millioner av brukeroppføringer).

  • Migreringen er et stykke kode som endrer skjemaet og forteller databasen hvordan den skal håndtere eksisterende data under endringen.

Bakgrunnen for at man skal endre malen er at man ønsker å utvikle produktets datamodell uten å ødelegge applikasjonen eller miste data.