Answer the question
In order to leave comments, you need to log in
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
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);
}
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question