0

I have the problem defaultStringLength() despite several seeks. I explain you my procedure.

In the file folder database -> 2018_10_24_103651_create_devis_table.php I have that:

<?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');
    }
}

Then, I must to change the file AppServiceProvider.php

Here is my modification

<?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()
    {
        //
    }
}

After, I run the command next php artisan migrateand I have like result the error message -> Call to undefined method Illuminate\Database\Schema\MySqlBuilder::defaultStringLength()

Do you have an idea please ? I thank you in advance for your answers.

1 Answers1

0

defaultStringLength this is introduced in Laravel 5.4

You can update the Laravel version

or

You specify the length as $table->string('coumname', 255); You cannot specify more than 255

Shailendra Gupta
  • 1,054
  • 6
  • 15
  • I am trying your second solution but it's doesn't works: public function up(){ Schema::create('biodatas', function (Blueprint $table) { $table->increments('id'); $table->string('test'); $table->string('coumname', 255); $table->timestamps(); }); –  Oct 24 '18 at 11:25
  • are you still getting error if yes the tell me what erroe you are gatting – Shailendra Gupta Oct 24 '18 at 11:26
  • @ Shaielndra Gupta : ohhh it's works sorry !!!! Thaaaannnnkkkkk youuuuuu !!! I erased Schema::defaultStringLength(255); on the file AppServiceProvider.php –  Oct 24 '18 at 11:33
  • @ Shaielndra Gupta : I think to update my version also –  Oct 24 '18 at 11:34
  • yes you can new versions of laravel have new fetures and dont forget to upvote also – Shailendra Gupta Oct 24 '18 at 11:35