S
S
Sergey Vyvolokin2018-05-30 07:41:17
Laravel
Sergey Vyvolokin, 2018-05-30 07:41:17

Laravel migration error?

Good day, I ask you to help me, when migrating data, I get an error version of MySQL 5.6, but they say that 5.7 is needed, is this true?

php artisan migrate
Illuminate\Database\QueryException : SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 1000 bytes (SQL: alter table `users` add unique `users_email_unique`(`email`))
at /home/c/*****/prod.abc/public_html/vendor/laravel/framework/src /Illuminate/Database/Connection.php:664
660| // If an exception occurs when attempting to run a query, we'll format the error
661| // message to include the bindings with SQL, which will make this exception a
662| // lot more helpful to the developer instead of just the database's errors.
663| catch (Exception $e) {
> 664| throw new QueryException(
665| $query, $this->prepareBindings($bindings), $e
666| );
667| }
668|
Exception trace:
1 PDOException::("SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 1000 bytes")
/home/c/*****/prod.abc/ public_html/vendor/laravel/framework/src/Illuminate/Database/Connection.php:458
2 PDOStatement::execute()
/home/c/*****/prod.abc/public_html/vendor/laravel/framework/src /Illuminate/Database/Connection.php:458
Please use the argument -v to see more details.

Answer the question

In order to leave comments, you need to log in

1 answer(s)
A
Andrey Titov, 2018-05-30
@titov_andrei

As stated in the migration guide, to fix this all you have to do is edit the
AppServiceProvider.php file and inside the boot method set the default string length:

use Illuminate\Support\Facades\Schema;

public function boot()
{
    Schema::defaultStringLength(191);
}

After that everything should work fine.
https://laravel.com/docs/master/migrations#creatin...

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question