Проблема переноса базы данных в laravel 5.7.16

#laravel

#laravel

Вопрос:

Я новичок в Laravel. Я столкнулся с проблемой переноса моих пользователей и таблицы сброса пароля.

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

Я перепробовал так много решений, таких как (AppServiceProvider, изменение параметров базы данных, изменение файла миграции), но ни одно из них не дало мне решения.

AppServiceProvider.php

 use IlluminateSupportServiceProvider;
use IlluminateSupportFacadesSchema;

class AppServiceProvider extends ServiceProvider
{
    /**
     * Bootstrap any application services.
     *
     * @return void
     */
    public function boot()
    {
        Schema::defaultStringLength(191);
    }
}
  

Database.php

     'mysql' => [
        'driver' => 'mysql',
        'host' => env('DB_HOST', '127.0.0.1'),
        'port' => env('DB_PORT', '3306'),
        'database' => env('DB_DATABASE', 'forge'),
        'username' => env('DB_USERNAME', 'forge'),
        'password' => env('DB_PASSWORD', ''),
        'unix_socket' => env('DB_SOCKET', ''),
        'charset' => 'utf8',
        'collation' => 'utf8_unicode_ci',
        'prefix' => '',
        'prefix_indexes' => true,
        'strict' => true,
        'engine' => null,
    ],
  

Комментарии:

1. В чем ваша проблема? показывает ли это ошибки? загрузите свою ошибку сюда.

2. Введите вашу ошибку, пожалуйста

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

4. Когда я даю команду добавить таблицу пользователя в свою базу данных, но параметры сортировки показывают utf8mb4_unicode_ci, но я изменил свой database.php

5. Покажите свою таблицу миграции для сброса пользователя и пароля.

Ответ №1:

После установки defaultStringLength в AppServiceProvider, возможно, повторно запустите свой проект с помощью php artisan, чтобы решить вашу проблему.