#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
(4. Когда я даю команду добавить таблицу пользователя в свою базу данных, но параметры сортировки показывают utf8mb4_unicode_ci, но я изменил свой database.php
5. Покажите свою таблицу миграции для сброса пользователя и пароля.
Ответ №1:
После установки defaultStringLength в AppServiceProvider, возможно, повторно запустите свой проект с помощью php artisan, чтобы решить вашу проблему.