2017-10-11 7 views
1

I Laravel und als Teil meiner deploy Routine verwende ich habe den BefehlLaravel Migration auf Produktionsserver

RUN php artisan migrate

Da ich in der Produktion bin, erhalte ich die Fehler

Anwendung in der Produktion, Befehl abgebrochen!

Die Lösung ist einfach: RUN php rankbot/artisan migrate --force aber ich denke, das ist nicht der richtige Weg, es zu tun? Was ist der beste Weg, um sicherzustellen, dass das DB-Schema immer auf dem neuesten Stand ist?

+0

'--force' ist der richtige Weg, es zu tun. Das Flag "--force" verhindert, dass Sie Ihre Migrationen in einer Produktionsumgebung versehentlich ausführen. Wie wenn du 2 SSH-Terminals geöffnet hast oder so. –

Antwort

8

Dies ist der richtige Weg.

Wenn Sie eine Migration während der Produktion ausführen, sollten Sie sich zunächst vergewissern, was mit Ihrer Datenbank geschehen soll, da einige Aktionen möglicherweise nicht rückgängig gemacht werden können.

Die Bestätigungsaufforderung ist da, damit Sie innehalten und zweimal überlegen, bevor Sie Schaden anrichten können.

Einige Migrationsvorgänge sind destruktiv, dh sie können dazu führen, dass Daten verloren gehen. Um Sie davor zu schützen, diese Befehle für Ihre Produktionsdatenbank auszuführen, werden Sie vor der Ausführung der Befehle zur Bestätigung aufgefordert, zu bestätigen. Um die Befehle zu zwingen ohne Aufforderung auszuführen, verwenden Sie die --force Flagge

https://laravel.com/docs/5.5/migrations#running-migrations

Verwandte Themen