Laravel migrations change a column type from varchar to longText

Marco picture Marco · Jun 9, 2016 · Viewed 61.5k times · Source

I need to change with migration column type of $table->string('text'); to a text type, I have tried to do that in few ways, but none of them worked. Is it possible to do it in one migration. I could I guess drop the column and then create it again with new type, but I wonder if it is possible to do it in one migration?

Answer

Alexey Mezenin picture Alexey Mezenin · Jun 9, 2016

You can create a new migration and change just one column type:

public function up()
{
    Schema::table('sometable', function (Blueprint $table) {
        $table->text('text')->change();
    });
}

You need to install doctrine/dbal to make this work

composer require doctrine/dbal

Works with Laravel 5.0+. It does not work with Laravel 4.2.