Hoe los ik een Specified key was too long error op in Laravel?
Sinds laravel 5.4 zijn er wat wijziging gedaan aan de manier waarop bepaalde karakters opgeslagen worden in de database. Hierdoor kun je bij oude versie van MySQL of wanneer je MariaDB draait tegen de volgende foutmelding aanlopen:
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)) SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 767 bytes
In dit artikel leggen we uit hoe je dit issue kan oplossen door een aanpassing te doen aan de code van je Laravel installatie.
Stappenplan
Stap 1. Log in op cPanel
Stap 2. Klik op Bestandsbeheer onder de categorie Bestanden.
Stap 3. Navigeer naar de map app/Providers
Stap 4. Selecteer het bestand AppServiceProvider.php en klik op Bewerken
Stap 5. Pas de code aan zodat het volgende erin staat: public function boot() {
Schema::defaultStringLength(191);
}
Stap 6. Klik op Wijzigingen opslaan en het probleem is opgelost!