Zpětné vrácení konkrétního migračního souboru v aplikaci Laravel

Jak vrátit zpět konkrétní migrační soubory v Laravelu Vracení migrací zpět je běžnou součástí vývoje Laravelu. Může se stát, že přidáte migraci, otestujete ji a pak potřebujete vr...

Poptat web

04. 11. 2025

Zpětné vrácení konkrétního migračního souboru v aplikaci Laravel

Jak vrátit zpět konkrétní migrační soubory v Laravelu

Vracení migrací zpět je běžnou součástí vývoje Laravelu. Může se stát, že přidáte migraci, otestujete ji a pak potřebujete vrátit zpět pouze tuto konkrétní změnu, aniž by to mělo vliv na ostatní. Laravel to umožňuje prostřednictvím funkce --path umožňuje přesně zacílit na jednotlivé migrační soubory.

Pochopení zpětné migrace Laravelu

Migrace Laravel jsou soubory s databázovým schématem řízené verzí. Když spustíte php artisan migrate, každý migrační soubor se provede v pořadí a jeho název se zaznamená do pole migrations tabulka.

Pro zrušení migrace nabízí Laravel následující klíčové příkazy:

  • php artisan migrate:rollback
  • php artisan migrate:reset
  • php artisan migrate:refresh

Každou z nich lze kombinovat s --path možnost vrátit zpět konkrétní soubory namísto všech migrací.

Zpětné vrácení konkrétního migračního souboru

Pokud chcete vrátit zpět jednotlivá specifická migrace, použijte migrate:rollback příkazem --path možnost.

php artisan migrate:rollback --path=/database/migrations/2024_11_04_123456_create_orders_table.php

Jak to funguje

  • Na stránkách --path říká Laravelu, na který migrační soubor se má zaměřit.
  • Cesta by měla být relativně k základnímu adresáři projektu Laravel.
  • Laravel provede příkaz down() pouze pro tento konkrétní migrační soubor.

Jedná se o nejpřímější a nejsprávnější způsob, jak vrátit jednu migraci zpět, aniž by se to dotklo ostatních.

Zpětné vrácení více konkrétních migračních souborů

Můžete vrátit více konkrétních souborů zadáním každého z nich. --path argument individuálně:

php artisan migrate:rollback \
--path=/database/migrations/2024_11_04_123456_create_orders_table.php \
--path=/database/migrations/2024_11_04_123457_add_status_to_orders_table.php

Každý uvedený soubor bude mít svůj down() prováděné v pořadí, přičemž se vrátí zpět pouze tyto migrace.

Obnovení nebo aktualizace konkrétních migračních souborů

Kromě možnosti vrátit se zpět vám Laravel umožňuje také resetování or refresh specifické migrace.

Obnovení specifické migrace

Úplné obnovení (vrácení všech migrací), ale omezení vrácení na určité soubory:

php artisan migrate:reset --path=/database/migrations/2024_11_04_123456_create_orders_table.php

Specifická migrace pro obnovení

Zpětné vrácení a opětovné spuštění stejné migrace (užitečné při testování):

php artisan migrate:refresh --path=/database/migrations/2024_11_04_123456_create_orders_table.php

Tento příkaz:

  1. Spusťte down() (rollback).
  2. Okamžitě spusťte up() znovu použít metodu (znovu aplikovat migraci).

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