Laravel – Specified key was too long Error

By Dillon Smart · · · 0 Comments

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.

LaravelPHP

0 Comment

Was this helpful? Leave a comment!

This site uses Akismet to reduce spam. Learn how your comment data is processed.

PHP 8.3 release and features

Updated 11th December 2023

The time of year is fast approaching for PHP developers around the world. We have a new PHP release knocking on the door. PHP 8.3 RC 1 is now available for testing, and with this release we are able to get a glimps at some of the highlight features coming later in the year. PHP

2022 PHP Usage Statistics

Updated 16th August 2022

PHP: Hypertext Preprocessor is the most popular language used on the web. Around 77.6% of all websites run PHP in some way as of April 2022. PHP has been the driving force behind the growth of the web, but is it slowly dying? Let’s look at some PHP usage statistics. Why is PHP so popular?

Find php.ini on Apple Silicon installed with Homebrew

Updated 1st October 2023

Are you having trouble finding your php.ini file which was installed locally with Homebrew? Packages installed with Homebrew can be installed in different locations making it hard to find, especially if you are on new Apple Mac running Apple’s Silicon chips. Here, I will show you home to locate your locally installed php.ini file installed