SQLSTATE [42000]: синтаксическая ошибка или нарушение доступа: 1071 Указанный ключ был слишком длинным;максимальная длина ключа 767 байт - PullRequest
0 голосов
/ 25 мая 2019

Получение ошибки после отправки «php artisan migrate: fresh» в cmd.

<?php

use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;

class CreateUsersTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('users', function (Blueprint $table) {
            $table->bigIncrements('id');
            $table->string('name');
            $table->string('email')->unique();
            $table->timestamp('email_verified_at')->nullable();
            $table->string('password');
            $table->rememberToken();
            $table->timestamps();
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::dropIfExists('users');
    }
}

SQLSTATE [42000]: синтаксическая ошибка или нарушение прав доступа: 1071 Указанный ключ был слишком длинным;максимальная длина ключа составляет 767 байт (SQL: изменить таблицу users добавить уникальный users_email_unique (email))

1 Ответ

0 голосов
/ 25 мая 2019

По этой ссылке: https://laravel -news.com / laravel-5-4-key-too-long-error

Для тех, кто работает MariaDB или более ранних версийMySQL вы можете столкнуться с этой ошибкой при попытке запустить миграцию

. Как указано в руководстве по миграции, чтобы исправить это, все, что вам нужно сделать, это отредактировать файл AppServiceProvider.php и в методе загрузки установить длину строки по умолчанию:

use Illuminate\Support\Facades\Schema;

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

После этого все должно работать как обычно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...