Heim > Backend-Entwicklung > PHP-Tutorial > Wie behebt man eindeutige Schlüssellängenfehler bei Laravel-Migrationen?

Wie behebt man eindeutige Schlüssellängenfehler bei Laravel-Migrationen?

Barbara Streisand
Freigeben: 2024-10-31 02:32:02
Original
940 Leute haben es durchsucht

How to Fix Unique Key Length Errors in Laravel Migrations?

Problem mit der Länge eindeutiger Schlüssel bei Laravel-Migrationen

In Laravel kann beim Erstellen eindeutiger Schlüssel für Tabellenspalten ein Fehler auftreten, der darauf hinweist Der angegebene Schlüssel ist zu lang. Dieses Problem tritt auf, wenn die Länge der für den eindeutigen Schlüssel definierten Spalte die zulässige maximale Länge überschreitet.

Fehlerbehebung für das Problem

Die bereitgestellte Migration gibt eine eindeutige Einschränkung für an Spalte „E-Mail“ mit einer Länge von 320 Zeichen. Standardmäßig ist die Spalte „E-Mail“ in Laravel jedoch als Zeichenfolge mit einer Standardlänge von 255 definiert. Diese Standardlänge sollte für die meisten E-Mail-Adressen ausreichend sein.

Um das Problem zu beheben, sollten Sie eine Reduzierung der Länge in Betracht ziehen der Spalte „E-Mail“ bei der Migration auf einen sinnvollen Wert, z. B. 250 Zeichen:

$table->string('email', 250);
Nach dem Login kopieren

Alternativ können Sie die Länge des eindeutigen Schlüssels explizit als zweiten Parameter für „unique()“ angeben. ' Methode:

$table->unique('email', 'users_email_uniq', 320);
Nach dem Login kopieren

Laravel 5.4 und höher

Für Laravel-Versionen 5.4 und höher ist eine umfassendere Lösung verfügbar. Fügen Sie in der Datei „AppServiceProvider.php“ den folgenden Code zur Methode „boot()“ hinzu:

use Illuminate\Database\Schema\Builder;

public function boot()
{
    Builder::defaultStringLength(191);
}
Nach dem Login kopieren

Durch Festlegen der Standardzeichenfolgenlänge auf 191 wird sichergestellt, dass mit der Methode „string()“ erstellte Spalten erstellt werden hat eine maximale Länge von 191 Zeichen, wodurch die Wahrscheinlichkeit des Problems der eindeutigen Schlüssellänge ausgeschlossen ist.

Das obige ist der detaillierte Inhalt vonWie behebt man eindeutige Schlüssellängenfehler bei Laravel-Migrationen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage