Modul 12 · Databáze srozumitelně

Migrace – změna schématu bez ztráty dat

Jak přidat sloupec do tabulky, ve které už jsou skutečná data. Nejnebezpečnější rutinní operace, jakou budeš dělat.

13 minlekce 70/107

Po lekci umíš

  • Víš, co migrace je a proč se nedělá ručně
  • Umíš zadat bezpečnou změnu schématu
  • Znáš tři změny, které mohou zničit data
Obsah lekce (4)

Schéma se změní vždycky. Za týden zjistíš, že rezervace potřebuje poznámku, a musíš přidat sloupec.

Dokud je databáze prázdná, je to triviální. Jakmile jsou v ní skutečná data, je to operace, u které se dá nenávratně ublížit.

Co je migrace

Zapsaný, spustitelný předpis pro změnu schématu. Ne kliknutí v nějakém nástroji – soubor, který je v Gitu a dá se spustit na jakékoliv kopii databáze.

  1. Změna modelu

    chci nový sloupec

  2. Migrace

    vznikne soubor

  3. Lokálně

    spustíš a ověříš

  4. Naostro

    spustí se při nasazení

Bezpečné a nebezpečné změny

Bezpečné

  • Přidat nepovinný sloupec.
  • Přidat novou tabulku.
  • Přidat rejstřík pro rychlejší hledání.
  • Rozšířit povolenou délku textu.

Nebezpečné

  • Smazat sloupec – data v něm zmizí.
  • Přejmenovat sloupec – aplikace ho přestane najít.
  • Změnit typ – hodnoty se mohou nevejít.
  • Přidat povinný sloupec do plné tabulky – co doplnit u starých řádků?

Jak to zadat

Prompt pro Claude Code

Změň schéma bezpečně

Jakákoliv změna tabulky, ve které už jsou data.

Potřebuju změnit schéma: [POPIŠ ZMĚNU]

Než něco uděláš:
1. Řekni mi, jestli je ta změna bezpečná, nebo může ztratit data.
2. Když může, navrhni bezpečný postup po krocích.
3. Napiš, co se stane s existujícími řádky.
4. Řekni mi, jestli se změnou musí jít i změna v kódu aplikace –
 a jestli musí jít napřed, nebo až po ní.

Pak vytvoř migraci. Spustíme ji nejdřív lokálně.

Bod 4 je ten, který lidi překvapí. Migrace a kód spolu souvisí a pořadí není libovolné.

Rutina, kterou se vyplatí dodržet

  1. Záloha

    U produkční databáze vždycky. Většina hostingových služeb ji umí udělat jedním kliknutím.

  2. Lokálně

    Spusť migraci u sebe, na kopii dat, která vypadají jako ta ostrá.

  3. Zkontroluj

    Aplikace funguje? Stará data jsou v pořádku?

  4. Commit

    Migrace patří do Gitu spolu s kódem, který ji potřebuje.

  5. Naostro

    Při nasazení. A hned potom zkontroluj, že aplikace běží.

Cvičení25 minut

Ve svém projektu přidej do jedné tabulky nepovinný sloupec – třeba poznamka.

Projdi celou rutinu: migrace, lokální spuštění, kontrola, commit. Zapiš si, kolik to trvalo.

Pak si zkus druhou verzi: nech si popsat (ne provést) postup, jak by se ten samý sloupec dělal povinný, kdyby v tabulce už bylo tisíc řádků.

Co si odnést

  • Migrace je zapsaný předpis pro změnu schématu, ne ruční zásah.
  • Přidávat je bezpečné, mazat, přejmenovávat a měnit typ ne.
  • Povinný sloupec do plné tabulky vždy ve dvou krocích.
  • Migrace, která už proběhla naostro, se neopravuje – přidá se nová.

Máš to za sebou?

Označ lekci jako hotovou, ať víš, kde jsi skončil. Nic se tím neuzamkne.

Obsah aktualizován: 21. srpna 2026