在 Facade.php 行 237:调用未定义的方法 Illuminate\Database\Schema\MySqlBuilder::defaultStringLenght()

In Facade.php line 237: Call to undefined method Illuminate\Database\Schema\MySqlBuilder::defaultStringLenght()

我正在尝试通过命令

在 Laravel5.8 中迁移 MySQL table
$ php artisan migrate

我遇到了这个错误

In Facade.php line 237: 
    Call to undefined method 
    Illuminate\Database\Schema\MySqlBuilder::defaultStringLenght()

我已经在 AppServiceProvider.php 文件中设置了 使用Illuminate\Support\Facades\Schema;<br> 默认字符串长度(191); // boot() 方法

Schema::create('posts', function (Blueprint $table) {
      $table->increments('id');  
      $table->string('title'); 
      $table->mediumText('body');
      $table->timestamps(); 
    });

首先你需要正确调用该方法并检查长度的拼写。

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

并且您还需要导入 Schema Facade

use Illuminate\Support\Facades\Schema;

在app\Providers\AppServiceProvider.php中你需要使用

use Illuminate\Support\Facades\Schema; 

然后在boot函数中你需要写 Schema::defaultStringLength(191); 你的引导功能将如下所示

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