前言
在学习以及配置laravel-admin
的过程中遇到了一些问题,在这里做一个统一的记录,方便日后检索。
install报错
在配置laravel-admin
的最后一步,执行php artisan admin:install
时,遇到以下报错:
SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too
long; max key length is 1000 bytes (SQL: alter table `users` add unique `users_e
mail_unique`(`email`))
根据laravel的官方文档说是因为MySQL的版本过低,要求MySQL版本高于5.7.7或MariaDB版本高于10.2.2。但是我升级wamp的MySQL版本到8.0.21后,依然报如上错误。
解决方案:可以在 AppServiceProvider.php 文件(此文件在app/Providers/
下)里的 boot 方法里设置一个默认值:
<?php
namespace App\Providers;
use Illuminate\Support\ServiceProvider;
+use Illuminate\Support\Facades\Schema;
class AppServiceProvider extends ServiceProvider
{
/**
* Register any application services.
*
* @return void
*/
public function register()
{
//
}
/**
* Bootstrap any application services.
*
* @return void
*/
public function boot()
{
+ Schema::defaultStringLength(191);
}
}