调用未定义的方法Illuminate \ Database \ Schema \ MySqlBuilder :: defaultStringLength()

Gag*_*ags 1 php laravel-5 artisan artisan-migrate

首先,我在

php artisan migrate
Run Code Online (Sandbox Code Playgroud)

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

然后我发现了一个帖子laracasts来解决这个问题

use Illuminate\Support\Facades\Schema;

public function boot()
{
    Schema::defaultStringLength(191);
}
Run Code Online (Sandbox Code Playgroud)

添加完之后,当我运行

php artisan optimize
Run Code Online (Sandbox Code Playgroud)

然后我遇到新的错误如下

Call to undefined method Illuminate\Database\Schema\MySqlBuilder::defaultStringLength()

请协助摆脱所有这些错误。

Sau*_*nam 5

defaultStringLength在Laravel v5.4中引入。参考

您可以更新Laravel版本

要么

您指定长度为,$table->string('coumname', 255);不能超过255。如果保留length参数,它将255默认分配