W Laravel wydaje się, że istnieje polecenie tworzenia migracji, ale nie usuwania.
Utwórz polecenie migracji:
php artisan migrate:make create_users_table
Jeśli chcę usunąć migrację, czy mogę po prostu bezpiecznie usunąć odpowiedni plik migracji w folderze bazy danych / migracji?
Plik migracji:
2013_05_31_220658_create_users_table
php
database
laravel
artisan-migrate
Globalz
źródło
źródło
migrate:rollback
przywracania migracji, a następnie usunięcie pliku migracji i zrzut automatycznego ładowania. Nie trzeba hakować bazy danych ani tabeli migracji.Jeśli migracja została uruchomiona (czytaj: migrowana), powinieneś wycofać migrację, aby wyczyścić historię z tabeli bazy danych. Po przywróceniu powinieneś mieć możliwość bezpiecznego usunięcia pliku migracji, a następnie kontynuowania migracji.
źródło
Powinieneś wykonać pracę, jeśli jesteś w fazie rozwoju, a pożądanym rezultatem jest zacząć wszystko od nowa.
W produkcji może nie jest to pożądana rzecz, dlatego powinieneś być reklamowany. (Polecenie migrate: fresh usunie wszystkie tabele z bazy danych, a następnie uruchom polecenie migracji).
źródło
Prawdopodobnie musisz również usunąć wpis z tabeli migracji.
źródło
Przypadkowo utworzyłem dwa razy create_users_table. Przesłonił niektóre klasy i zmienił wycofywanie w ErrorException.
To, co musisz zrobić, to znaleźć plik autoload_classmap.php w folderze vendor / kompozytor i poszukać określonego wiersza kodu, takiego jak
i edytuj ścieżkę. W takim razie wycofanie powinno być w porządku.
źródło
Zgadzam się z aktualnymi odpowiedziami, chcę tylko dodać trochę więcej informacji.
Dodano nową funkcję do Laravel 5.3 i nowszych wersji , która pozwoli ci wycofać pojedynczą migrację:
po Ręcznie usuń plik migracji w obszarze
database/migrations/my_migration_file_name.php
Jest to świetna funkcja podczas przeprowadzania migracji
W ten sposób możesz bezpiecznie usunąć migrację w laravel tylko w 2 krokach
źródło
Raczej zrobię to ręcznie
...database/migrations
folderuphp artisan migrate
, zaloguj się do phpmyadmin lub SQL (w zależności od przypadku) i w bazie danych usuń tabelę utworzoną przez migracjęDziała dla mnie, mam nadzieję, że to pomaga!
źródło
To działa dla mnie:
php artisan migrate:refresh
w laravel 5.5.43
źródło