Bezpečné vrácení poslední migrace v systému Laravel

Jak bezpečně vrátit poslední migraci v Laravelu Vracení migrací zpět je běžnou součástí vývoje Laravelu, zejména při opakovaných změnách schématu. Nesprávný postup však může vést...

Světlý režim slouží jen pro ukázku funkcionality. Proto používejte tmavou verzi webu.

23. 10. 2025

Bezpečné vrácení poslední migrace v systému Laravel

Jak bezpečně vrátit poslední migraci v Laravelu

Vracení migrací zpět je běžnou součástí vývoje Laravelu, zejména při opakovaných změnách schématu. Nesprávný postup však může vést ke ztrátě dat nebo nekonzistentním stavům. Tento návod vysvětluje, jak bezpečně vrátit poslední migraci v Laravelu, kdy používat jednotlivé příkazy a jak správně zacházet s produkčním prostředím.

Kontrola stavu migrace

Před vrácením zpět vždy ověřte aktuální stav migrace:

php artisan migrate:status

Zobrazí se seznam všech migrací se sloupcem stavu (Ran?). Pomůže vám ověřit, které migrace jsou aktivní a do které dávky patří.

Simulace vrácení zpět bez provedení změn

Laravel poskytuje režim suchého spuštění pomocí volby --pretend. Tento příkaz zobrazí příkazy SQL, které by se provedly při zpětném přechodu, aniž by byly použity.

php artisan migrate:rollback --pretend

To je užitečné zejména pro ověření, k jakým změnám dojde před skutečným vrácením databáze. Pomáhá zabránit náhodné ztrátě dat nebo schématu.

Vrácení poslední migrace

Zpětné vrácení pouze poslední dávka migrací (poslední spuštění), použijte:

php artisan migrate:rollback

Zpětné vrácení pouze poslední migrace, použít:

php artisan migrate:rollback --step=1

Příklad

Pokud jste dosud provedli tři migrační dávky:

Dávka Migrace
1 2024_10_01_000000_create_users
2 2024_10_02_000000_create_posts
3 2024_10_03_000000_add_status_to_posts
3 2024_10_03_000000_add_slug_to_posts

Běh:

php artisan migrate:rollback

zruší pouze šarže 3 odstranění posledních dvou migrací.

Za běhu:

php artisan migrate:rollback --step=1

zruší pouze poslední migraci (2024_10_03_000000_add_slug_to_posts), čímž se odstraní poslední migrace.

Zpětné vrácení a opětovná migrace poslední migrace

vrácení poslední dávky a její okamžité opětovné použití (užitečné pro rychlou lokální iteraci):

php artisan migrate:refresh --step=1

Tento příkaz kombinuje vrácení a migraci do jedné akce, což je ideální pro testování nedávných změn schématu.

Bezpečný návrat do výroby

V produkčních prostředích mohou akce rollback způsobit. ztráta dat nebo prostoje. Laravel vyžaduje potvrzení, aby byl chráněn před náhodným opuštěním schématu:

php artisan migrate:rollback --force
php artisan migrate:rollback --step=1 --force

Bezpečná praxe

  • Vždy zálohovat databázi před vrácením do výroby.
  • Zajistěte, aby každá migrace down() metoda čistě vrací změny (např. vypustí sloupce, cizí klíče nebo tabulky, které byly vytvořeny v programu up()).
  • Použijte funkci Laravel Schema::hasTable() a Schema::hasColumn() kontroly, aby metody rollbacku byly idempotentní a nedocházelo k výjimkám.

Příklad metody Safe Down:

public function down()
{
if (Schema::hasColumn('posts', 'status')) {
Schema::table('posts', function (Blueprint $table) {
$table->dropColumn('status');
});
}
}

Závěrečný bezpečnostní kontrolní seznam

  1. Spustit migrate:status potvrdit, které migrace ovlivňujete.
  2. Použití režimu suchého běhu pomocí volby --pretend ověřit změny, aniž by byly skutečně spuštěny.
  3. Zajištění zálohování před vrácením zpět.
  4. Dvakrát zkontrolujte down() metody pro reverzibilitu a bezpečnost.
  5. Použijte --step a --force vlajky záměrně (nikdy ne naslepo).
  6. Pro výrobu, testování zpětných kopií ve staging první.

Původní článek publikoval Nabil Hassen.

Mohlo by vám pomoct

Praktické věci kolem webu

Než se pustíte do webu, hodí se mít jasno v podkladech, WordPressu, cookies a měření.

Google reference

Co říkají klienti

Ukázky skutečných recenzí, které klienti zanechali na mém Google profilu.

Přejít na recenze
★ ★ ★ ★ ★

„Člověk, který své práci a rozumí a ví co dělá. Velmi rychlá komunikace a profesionální přístup. Doporučuji.“

Jaroslav Kupča
Google
★ ★ ★ ★ ★

„Skvělá spolupráce, při dalších projektech určitě nebudu shánět někoho jiného.“

Roman Koňařík
Google
★ ★ ★ ★ ★

„S panem Vančurou jsem spolupracovala na tvorbě mých webových stránek a jsem maximálně spokojená. Oceňuji profesionální přístup, rychlou komunikaci a schopnost přesně pochopit moje představy. Web je moderní, přehledný, funkční a skvěle vypadá i na mobilu. Celý proces proběhl hladce, s jasným vysvětlením jednotlivých kroků a výborným výsledkem. Určitě doporučuji každému, kdo hledá spolehlivý a kvalitní přístup.“

Barbora Zemánková
Google
★ ★ ★ ★ ★

„Spolupráce při tvorbě konfigurátoru proběhla naprosto bez problémů. Oceňuji profesionální přístup, rychlou komunikaci a schopnost pochopit specifický projekt od A do Z. Konfigurátor je přehledný, funkční a přesně odpovídá mým požadavkům. Rozhodně doporučuji.“

mareksevcik_FPV
Google
★ ★ ★ ★ ★

„Velmi dobrá a rychlá spolupráce. Doporučuji!“

Leoš Kaucký
Google
★ ★ ★ ★ ★

„Přesně takto si představujeme profesionální práci. Dekujeme“

STAVILLI
Google
★ ★ ★ ★ ★

„Ať už se jedná o optimalizaci webu, nebo tvorbu na míru oceňuji kromě profesionální práce a znalostí problematiky také férový přístup a komunikaci.“

Aleš Illický
Google
★ ★ ★ ★ ★

„Děkuji za profesionální spolupráci, vše dle domluvy, naprostá spokojenost a mohu jen vřele doporučit.... Při dalších projektech určitě opět využiji Vašich služeb“

Peter Spilak
Google
★ ★ ★ ★ ★

„Profesionalita a velká ochota, nemohu jinak než doporučit“

Magdalena Vašková
Google
★ ★ ★ ★ ★

„Skvělá zkušenost při tvorbě webu, profesionální přístup, rychlost, ochota pomoci“

Jana Kono
Google
★ ★ ★ ★ ★

„Rychlá spolupráce a komunikace – mohu jen doporučit.“

Gawix
Google
★ ★ ★ ★ ★

„Moc mi pomohl, když jsem potřebovala pomoc s webem. A bylo to gratis :)). Jsem mu neskonale vděčná.“

Radka Arbesová
Google
★ ★ ★ ★ ★

„Děkuji Jiřímu za rychlou a kvalitní spolupráci na tvorbě webu. Srozumitelná a ochotná komunikace mě vždycky potěší a přináší důvěru.“

Jiří Mařík
Google
★ ★ ★ ★ ★

„Jsem maximálně spokojená. Rychlost, ochota a cenově dostupné. Děkuji“

Veronika Černá
Google
★ ★ ★ ★ ★

„Naprostá spokojenost. Rychlá komunikace, skvělá cena a odborná pomoc. Moc děkuji :)“

Patricie Kučerová
Google
★ ★ ★ ★ ★

„Velká spokojenost, rychlost a p. Vančura moc dobře ví co dělá. :)“

Ondřej Daniško
Google
★ ★ ★ ★ ★

„dobrá práce, rychlá odezva“

Zuzana Jírová
Google
★ ★ ★ ★ ★

„S programátory mám zkušeností hodně, ale tady musím opravdu pochválit. Pro mě a mé přátele vytvořil skvělý nástroj na evidenci sbírek a opravdu se to povedlo. Bylo to hotové rychle, kvalitně a za skvělou cenu. Komunikace funguje velmi rychle, což je super a ne úplně standard. Díky za super práci, za mě 100% spokojenost!“

Zdeněk
Google
★ ★ ★ ★ ★

„Vše bylo rychlé a hlavně to funguje. Dobrá práce.“

Lukáš Bartášek
Google
★ ★ ★ ★ ★

„Normálně recenze nepíši, ale zde rád doporučím kvalitní práci. Jiří pro mě vytvořil web pro dětské tábory. Kvalitní práce, rychlá komunikace a vlastní nápady, které Jiří sám přidá, jsou na velice vysoké úrovni. Nemohu hodnotit jinak než 5/5.“

Tomáš Loněk
Google
★ ★ ★ ★ ★

„Pan Jiri nam delal jiz 3 webove stranky a vzdy velka spokojenost, je mega rychly a vse hned kladne vyridi, mohu pouze doporucit. Poradi si bez problemu i s rezervacnimi kalendaremi, udrzbou socialnich siti, atd.“

Barbara Mašková
Google