laravel迁移出错Syntax error or access violation: 1071 Specified key was too long

在使用laravel框架开发php时

我们可以使用laravel的迁移机制来快速的创建表及填充数据

今天在使用laravel的时候

执行`php artisan migrate`时报错了

SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length

于是百度解决方法

修改config/database.php文件

找到mysql配置项

```
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_unicode_ci',
```

修改为

```
charset' => 'utf8',
collation' => 'utf8_unicode_ci',
```

或者

在app\Providers\AppServiceProvider中调用Schema::defaultStringLength方法来实现配置

```
use Illuminate\Support\Facades\Schema;
/*
* Bootstrap any application services.
*
* @return void
*/
public function boot()
{
Schema::defaultStringLength(191);
}
```

    A+
发布日期:2022年04月14日  所属分类:未分类

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: