Behebung des Fehlers „Angegebener Schlüssel war zu lang“ bei Laravel-Migrationen
Bei der Migration von Tabellen in Laravel stoßen Entwickler möglicherweise auf die Fehlermeldung „Angegebener Schlüssel war Fehler „zu lang“. Dies liegt daran, dass die standardmäßige maximale Länge für Schlüssel in MySQL 767 Byte beträgt.
Eine Lösung besteht darin, die Schlüssellänge explizit in der Migration anzugeben. Zum Beispiel:
Schema::create('users', function(Blueprint $table) { $table->increments('id'); $table->string('email', 250)->unique('users_email_unique'); });
Laravel 5.4 und höher
In Laravel 5.4 und höher kann die Standardzeichenfolgenlänge in der Datei AppServiceProvider.php festgelegt werden:
<code class="php">use Illuminate\Database\Schema\Builder; public function boot() { Builder::defaultStringLength(191); }</code>
Alternativ können Sie die Länge für einzelne Spalten innerhalb der Migration angeben:
<code class="php">Schema::create('users', function(Blueprint $table) { $table->increments('id'); $table->string('email', 191)->unique('users_email_unique'); });</code>
Das obige ist der detaillierte Inhalt vonWie behebt man den Fehler „Angegebener Schlüssel war zu lang' bei Laravel-Migrationen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!