Heim >PHP-Framework >Laravel >So ändern Sie die Tabellenstruktur in Laravel
So ändern Sie die Tabellenstruktur in Laravel: 1. Migrationsdatei erstellen 2. Führen Sie den Befehl „php artisan make:migration…“ aus 3. Fügen Sie „$table->text('images')-> ;nullable( )..." Das ist es.
Die Betriebsumgebung dieses Artikels: Windows 7-System, Laravel Version 5.7, Dell G3-Computer.
Wie ändere ich die Tabellenstruktur in Laravel?
Verwenden Sie die Laraval-Migration, um die Datenbanktabellenstruktur zu ändern.
Ich habe SQL-Dateien verwendet, um Änderungen in der Datenbanktabellenstruktur zu speichern und zu verfolgen. Die Verwendung von SQL-Dateien hat jedoch folgende Nachteile:
Es ist unmöglich festzustellen, welche SQL-Dateien ausgeführt wurden und welche nicht. Obwohl das Datum als Präfix für den SQL-Dateinamen hinzugefügt wird, muss man sich oft den Kopf kratzen, wenn mehrere Personen entwickeln und die Online-Datentabellenstruktur längere Zeit nicht aktualisiert wurde
Das Ausführen der SQL-Datei ist eine physische Aufgabe . Wenn Sie mit mehr als einem Dutzend SQL-Änderungsdateien konfrontiert sind, ist es sehr ermüdend, diese einzeln auszuführen.
Die Synchronisierung mehrerer Entwicklungs- und Produktionsumgebungen ist immer noch zeitaufwändig und mühsam. Wenn beispielsweise eine Änderung auf dem PC-Entwicklungscomputer vorgenommen wird, muss diese mit der Laptop-Entwicklungsumgebung synchronisiert werden. Es ist unangenehm, darüber nachzudenken.
Diese Probleme machen weitaus weniger Spaß als die Durchführung einer Migrationslinie.
Ein neues Feld hinzufügen
Zum Beispiel möchte ich der Artikeltabelle ein Bildfeld hinzufügen.
Zuerst müssen Sie eine Migrationsdatei generieren:
php artisan make:migration add_images_to_articles_table --table=articles
Das Ausgabeergebnis lautet:
Created Migration: 2018_03_21_225819_add_images_to_articles_table
Eine Datei wird automatisch im entsprechenden Verzeichnis „database/migrations/“ generiert. Sie können sehen, dass der Dateiname lautet Datum und Uhrzeit vorangestellt.
database/migrations/2018_03_21_225819_add_images_to_articles_table.php
Befolgen Sie die offizielle Dokumentation, fügen Sie das Bildfeld hinzu und speichern Sie die Änderungen. Führen Sie den Befehl
public function up() { Schema::table('articles', function (Blueprint $table) { $table->text('images'); }); }
aus und geben Sie
php artisan migrate
aus. Überprüfen Sie dann die Datentabellenmigrationen und Sie werden eine zusätzliche Zeile mit Datensätzen finden.
Anschließend synchronisieren Sie die Änderungen mit der Produktionsumgebung. Der einzige Unterschied besteht darin, dass der Produktionsserver Sie auffordert, zu bestätigen, ob der Befehl ausgeführt werden soll.
Migrating: 2018_03_21_225819_add_images_to_articles_table Migrated: 2018_03_21_225819_add_images_to_articles_tableFelder ändern
Nicht in Eile zu veröffentlichen verursachte 500 Fehler
************************************** * Application In Production! * ************************************** Do you really wish to run this command? (yes/no) [no]: > yes Migrating: 2018_03_21_225819_add_images_to_articles_table Migrated: 2018_03_21_225819_add_images_to_articles_table
Sie müssen nur eine neue Migrationsdatei erstellen,
SQLSTATE[HY000]: General error: 1364 Field 'images' doesn't have a default value
hinzufügen und die Migration erneut online ausführen, um das Problem zu lösen.
Verwandte Empfehlungen:Die neuesten fünf Laravel-Video-Tutorials
Das obige ist der detaillierte Inhalt vonSo ändern Sie die Tabellenstruktur in Laravel. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!