"Just another Web Dev blog"

Laravel – Specified key was too long Error

Posted by Dillon | 24th January 2018

With Laravel 5.4, some users may be hit with the Laravel Specified key was too long Error when migrating the database. This is because in the latest Laravel update, the developers made changes to the default database charset, making it utf8mb4.

If your using MySQL 5.7.7 or higher, you won’t encounter this issue, however older versions of MySQL or MariaDB will have this problem.

You can find the solution to this error in the Laravel Documentation. You will need to make a change to the AppServiceProvider.php file, located in app/Providers/AppServiceProvider.php.

Solving Laravel Specified key was too long

Step One:

<?php

namespace App\Providers;

use Illuminate\Support\ServiceProvider;
use Illuminate\Support\Facades\Schema; // This line needs to be added

Step Two: 

public function boot()
{
    Schema::defaultStringLength(191); // This line needs to be added
}

Now, you should be able to run your migration as normal. For more development tutorials, check out our Web Development category.

Related Posts:

Leave a Reply

Your email address will not be published. Required fields are marked *