Lumen 5.6 Ошибка миграции Указанный ключ был слишком длинным, максимальная длина ключа 767 байт - PullRequest
0 голосов
/ 04 июля 2018

Я использую Lumen 5.6 и mysql. когда я набираю "php artisan migrate", возникает следующая ошибка:

SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was t  
oo long; max key length is 767 bytes (SQL: alter table `users` add unique `  
users_email_unique`(`email`))  

Я поместил следующий код в «загрузочный» метод в AppServiceProvider

Schema::defaultStringLength(191);

но я не добился успеха.

Ответы [ 5 ]

0 голосов
/ 06 марта 2019
  1. в bootstrap / app.php откомментируйте эту строку:
$app->register(App\Providers\AppServiceProvider::class);
  1. в app / AppServiceProvider.php добавить ниже публичную функцию в AppServiceProvider class:
public function boot()
  {
    Schema::defaultStringLength(191);
  }
0 голосов
/ 24 января 2019

Вам нужно сделать пару вещей. Я также столкнулся с этой проблемой и исправил ее, выполнив следующие два шага

  1. Перейдите в app.php в каталоге начальной загрузки и раскомментируйте или измените эту строку.

    // $app->register(App\Providers\AppServiceProvider::class);
    
  2. Теперь вам нужно определить boot() функцию в AppServiceProvider файле

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

Тогда тебе пора!

0 голосов
/ 04 июля 2018
use Illuminate\Support\Facades\Schema; //AppServiceProvider.php

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

//rollback your migration or delete all table from database then migrate again.
0 голосов
/ 18 августа 2018

тебе просто нужен еще один шаг

перейдите в app.php в папке начальной загрузки и раскомментируйте или измените эту строку

// $app->register(App\Providers\AppServiceProvider::class);

к этому коду

$app->register(App\Providers\AppServiceProvider::class);

хорошего дня

0 голосов
/ 04 июля 2018

Перейти к конфигурации в файле database.php, затем отредактировать

'charset' => 'utf8mb4',
'collation' => 'utf8mb4_unicode_ci',

до

'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
...