Laravel hat in der Version 5.4 eine Veränderung in dem Standard Charset der Datenbanken gemacht. Dieses ist jetzt utf8mb4, damit auch etwa Emojis gesichert werden können.
This only affects new applications and as long as you are running MySQL v5.7.7 and higher you do not need to do anything.
Für alle, welche MariaDB oder MySQL in einer Version niedriger als v5.7.7 verwenden, könnte der folgende Fehler bei migrationen auftreten:
[Illuminate\Database\QueryException]
SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 767 bytes (SQL: alter table users add unique users_email_unique(email))[PDOException]
SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 767 bytes
Um den Fehler zu beheben, genügt es eine kleine Änderung in der AppServiceProvider.php
durchzuführen und innerhalb der boot()
Funktion eine Standard Zeichenlänge hinzuzufügen
use Illuminate\Support\Facades\Schema; public function boot() { Schema::defaultStringLength(191); }
Danach sollte alles wie gehabt funktionieren. Achtung: es kann sein, dass die Migration nicht erneut durchgeführt werden kann, da Teile der Tabelle bereits angelegt wurden.
php artisan migrate:fresh
macht somit alle Migrationen rückgängig – bedeutet komplett Datenverlust!
php artisan migrate:rollback
macht den letzten Schritt rückgängig.
Voraussetzung: Du musst ein Laravel Projekt erstellt haben und dich im Projektordner befinden. Um ein…
Um eine Laravel-Queue zu erstellen, die eine E-Mail verschickt, müssen zunächst einmal alle Anforderungen für…
Dieses Tutorial soll den perfekten und einfachen Einstieg in die Welt des Laravel Frameworks bieten.…
Einfache Konventionen Ich bin ein absoluter Laravel Fan, das vorneweg. Jedoch gibt es so gewisse…
Neue Installation Laravel wirft häufig nach Installationen auf einem neuen System, ob Entwicklungsserver, Lokal oder…
Laravel bietet verschiedene Möglichkeiten an, Beziehungen von Models abzubilden. Übersicht über die drei wichtigsten Beziehungen…
This website uses cookies.