MySqlBuilder::defaultStringLength()

MySqlBuilder::defaultStringLength()

尽管进行了多次搜索,我还是遇到了 defaultStringLength() 问题。我给你解释一下我的程序。

在文件夹数据库中 -> 2018_10_24_103651_create_devis_table.php 我有:

<?php

use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;

class CreateDevisTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('devis', function (Blueprint $table) {
            $table->increments('id');
            $table->string('firstname');
            $table->string('lastname');
            $table->string('email');
            $table->string('phone');
            $table->string('start_adress');
            $table->string('end_adress');
            $table->text('remarks');
            $table->timestamps();
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::dropIfExists('devis');
    }
}

然后,我必须更改文件 AppServiceProvider.php

这是我的修改

<?php

namespace App\Providers;

use Illuminate\Support\ServiceProvider;
use Illuminate\Support\Facades\Schema;

class AppServiceProvider extends ServiceProvider
{
    /**
     * Bootstrap any application services.
     *
     * @return void
     */
    public function boot()
    {
        Schema::defaultStringLength(255);
    }

    /**
     * Register any application services.
     *
     * @return void
     */
    public function register()
    {
        //
    }
}

之后,我 运行 接下来的命令 php artisan migrate 我得到了错误消息的结果 -> 调用未定义的方法 Illuminate\Database\Schema\MySqlBuilder::defaultStringLength()

你有什么想法吗? 提前感谢您的回答。

defaultStringLength这个是在Laravel 5.4

中介绍的

您可以更新Laravel版本

您指定的长度为 $table->string('coumname', 255); 您指定的长度不能超过 255