解决 Laravel Migration Error: Syntax error or access violation
目录
报错信息
Laravel Migration Error: Syntax error or access violation: 1071 Specified key was too long; max key length is 767 bytes
方法一:
根据官方 Laravel 7.x 文档,你可以很容易地解决这个问题。
更新您的/app/Providers/AppServiceProvider.php以包含:
use Illuminate\Support\Facades\Schema;
/**
* Bootstrap any application services.
*
* @return void
*/
public function boot()
{
Schema::defaultStringLength(191);
}请谨慎使用此解决方案。
方法二:
编辑config文件夹中的database.php
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_unicode_ci',为
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',方法三:
只需将默认数据库引擎设置为InnoDB
找到/config/database.php
'mysql' => [
...,
...,
'engine' => 'InnoDB',
]然后运行
php artisan config:cache清除并刷新配置缓存
参考:https://stackoverflow.com/questions/42244541/laravel-migration-error-syntax-error-or-access-violation-1071-specified-key-wa