Я использую 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);
но я не добился успеха.
$app->register(App\Providers\AppServiceProvider::class);
AppServiceProvider
public function boot() { Schema::defaultStringLength(191); }
Вам нужно сделать пару вещей. Я также столкнулся с этой проблемой и исправил ее, выполнив следующие два шага
Перейдите в app.php в каталоге начальной загрузки и раскомментируйте или измените эту строку.
// $app->register(App\Providers\AppServiceProvider::class);
Теперь вам нужно определить boot() функцию в AppServiceProvider файле
boot()
Тогда тебе пора!
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.
тебе просто нужен еще один шаг
перейдите в app.php в папке начальной загрузки и раскомментируйте или измените эту строку
к этому коду
хорошего дня
Перейти к конфигурации в файле database.php, затем отредактировать
database.php
'charset' => 'utf8mb4', 'collation' => 'utf8mb4_unicode_ci',
до
'charset' => 'utf8', 'collation' => 'utf8_unicode_ci',