laravel 新建项目 执行php artisan migrate 数据库报错

报错如下
[Illuminate\Database\QueryException]
SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 767 bytes (SQL: alter table users add unique users_email_unique(email))
[PDOException]
SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 767 bytes
Laravel5.4及以上版本 默认使用 utf8mb4 字符,包括支持在数据库存储「表情」。如果你正在运行的 MySQL release 版本低于5.7.7 或 MariaDB release 版本低于10.2.2 ,为了MySQL为它们创建索引,你可能需要手动配置迁移生成的默认字符串长度,

这时候打开项目下的app\Providers\AppServiceProvider.php 文件
引入 use Illuminate\Support\Facades\Schema;
然后在 boot 方法添加一行代码
Schema::defaultStringLength(191);
重新执行迁移即可

你可能感兴趣的:(Laravel)