2017-05-05 6 views
0

Ich habe die Laravel Migrationsschritte und es ist gut. Mein Problem besteht darin, die Spalte zu ändern. Ich habe bereits die Doktrin \ dbal im Komponisten installiert. Aber wenn ich die Spalte $table->string('name')->nullable()->change() mit Änderungsmethode ändere, dann führe php artisan migrate aus. Ist nichts zu migrieren. Warum? Muss ich die Doktrin \ dbal wie diese use Doctine\dbal in der Migrationstabelle Klasse verwenden? Oder was ist der bessere Weg zu implementieren, um die Tabellenspalte bei der Migration zu ändern und was soll ich tun? Jede Hilfe bitte!Laravel 5. * Spalte mit Migration ändern

+0

Haben Sie eine neue Migration erstellt, das Feld zu ändern? Wenn nicht, müssen Sie eine neue Migration erstellen, da die Migration, die Sie geändert haben, bereits als abgeschlossen registriert ist und nicht erneut ausgeführt wird. –

+0

Also, die alte Migration hat keine Auswirkungen, auch wenn ich etwas geändert habe? – icefrog

+0

Nein, die alte Migration wurde bereits ausgeführt und wird nicht mehr ausgeführt. Sie müssen eine neue Migrationsdatei erstellen, um eine vorhandene Tabelle zu ändern, oder Sie können alle Ihre Migrationen mit dem Befehl 'php artisan migrate: refresh' erneut ausführen. –

Antwort

0

Mandantenmigrationen werden nur einmal ausgeführt. Nach der Ausführung wird die Migration nicht mehr ausgeführt, nachdem php artisan migrate ausgeführt wurde. Sie können alle Migrationen sehen, die in Ihrer Anwendung ausgeführt wurden, indem Sie die Migrationstabelle in Ihrer Datenbank anzeigen.

Wenn Sie eine Migrationsdatei bearbeiten und alle Ihre Migrationen erneut ausführen müssen, können Sie den folgenden Befehl verwenden: php artisan migrate:refresh. Dadurch werden alle Migrationen zurückgesetzt und erneut ausgeführt. Außerdem wird die Batchnummer in der Migrationstabelle erhöht.

Wenn Sie eine Ihrer Tabellen bearbeiten müssen, aber nicht alle Ihre Migrationen erneut ausführen müssen, sollten Sie eine neue Migration erstellen und die fragliche Tabelle in dieser bestimmten Migration bearbeiten. Nachdem der Befehl migrate erneut ausgeführt wurde, wird nur Ihre neue Migration ausgeführt.

Sie können weitere Informationen über all dies in dem folgenden Link finden: https://laravel.com/docs/5.4/migrations

Verwandte Themen