程序员

Laravel 5.4 数据库迁移错误

2017-05-28  本文已影响0人  本间麻衣子

当你执行 php artisan migrate 你会发现 surprise

why

Laravel 5.4改变了默认的数据库字符集,现在utf8mb4包括存储emojis支持。

错误

 [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`))

解决方案

use Illuminate\Support\Facades\Schema;
public function boot()
{
    Schema::defaultStringLength(191);
}
[client]
default-character-set = utf8mb4
[mysql]
default-character-set = utf8mb4
[mysqld]
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci

这样一切都应该正常工作。

上一篇 下一篇

猜你喜欢

热点阅读