Larabel迁移文件时报SQLSTATE[42000]错误的解决方法

作者: 温新

分类: 【Laravel】

阅读: 4206

时间: 2020-12-21 15:47:23

当执行php artisan migrate命令时,报如错误的解决方法

Illuminate\Database\QueryException  : 
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_email_unique`(`email`))

【解决方法】

1)编辑 app/Providers/AppServiceProvider.php文件中添加如下内容:

<?php

namespace App\Providers;

use Illuminate\Support\ServiceProvider;
use Illuminate\Support\Facades\Schema;

class AppServiceProvider extends ServiceProvider
{
    public function register()
    {
    }

    public function boot()
    {
        Schema::defaultStringLength(191);
    }
}

2)重新执行php artisan migrate

错误原因是因为我所需要的字段长度太长了,而默认的字段长度并没有这么长。

关于这个错误,在我旧的博客中是有记录的。而现在的博客没有,就简单记录一下吧。

我是小白,期待和优秀的你一起同行!

小白

2020年12月21日

请登录后再评论