laravel 合并数据库问题

在进行laravel操作地,经常会出现laravel自动创建数据库时出现如下错误:

 

[Illuminate\Database\QueryException]

SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was t

oo long; max key length is 767 bytes (SQL: alter table `users` add unique `

users_email_unique`(`email`))

 

来个图片看看出错的效果。

出现这个问题,原因是在创建数据库时,正常情况下,laravel数据库使用的编码集是”utf8mb4_unicode_ci”,而mysql较低版本对此支持不是很好,所以造成了这样的问题。那我们如何解决呢?修改一下laravel的ServiceProvider,其操作方法如下:

 

# 编辑AppServiceProvider.php文件

vi app/Providers/AppServiceProvider.php

 

在命名空间下加入如入内容:

use Illuminate\Support\Facades\Schema;

 

在boot()函数内加入如下内容:

Schema::defaultStringLength(191);

 

具体的修改内容如下图所示:

修改完成后,即可正常了。

 

转载请附上原文出处链接及本声明
李老师的博客 » laravel 合并数据库问题

发表评论

提供最优质的文章集合

立即查看 了解详情