Heim > PHP-Framework > Laravel > So ändern Sie die Tabellenstruktur in Laravel

So ändern Sie die Tabellenstruktur in Laravel

藏色散人
Freigeben: 2021-12-31 11:59:34
Original
2339 Leute haben es durchsucht

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.

So ändern Sie die Tabellenstruktur in Laravel

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
Nach dem Login kopieren

Das Ausgabeergebnis lautet:

Created Migration: 2018_03_21_225819_add_images_to_articles_table
Nach dem Login kopieren

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
Nach dem Login kopieren

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');
});
}
Nach dem Login kopieren

aus und geben Sie

php artisan migrate
Nach dem Login kopieren

aus. Überprüfen Sie dann die Datentabellenmigrationen und Sie werden eine zusätzliche Zeile mit Datensätzen finden.

So ändern Sie die Tabellenstruktur in Laravel 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_table
Nach dem Login kopieren

Felder ä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
Nach dem Login kopieren

Sie müssen nur eine neue Migrationsdatei erstellen,

SQLSTATE[HY000]: General error: 1364 Field 'images' doesn't have a default value
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage