How to Change Column Name and Data Type in Laravel Migration?

About Us:

We are from free coder. We are a group of web developers who are passionate about web development. You can learn from us php, laravel, node js, vue js, react js and many other topic on web developement.
we are very happy to help you.
free coder

Today what you are going to learn:

Hi Artisan,

This post is focused on laravel migration change column name. this lesson will help you how to change column type in laravel migration. step by step explain how to rename column name in laravel migration. i explained simply about how to change data type in laravel migration. follow bellow step for how to change column name in laravel migration.

I will give you two lesson of changing data type and rename column name using migration in laravel 6, laravel 7 and laravel 8 application.

First of all we need to install "doctrine/dbal" composer package.

Install Composer Package:

composer require doctrine/dbal

After successfully install composer package we can change data type and change column name using migration.

Let's see bellow lesson:

Migration for main table:

<?php

use Illuminate\Support\Facades\Schema;

use Illuminate\Database\Schema\Blueprint;

use Illuminate\Database\Migrations\Migration;

class CreatePostsTable extends Migration

{

/**

* Run the migrations.

*

* @return void

*/

public function up()

{

Schema::create('posts', function (Blueprint $table) {

$table->bigIncrements('id');

$table->string('title');

$table->text('body');

$table->boolean('is_publish')->default(0);

$table->timestamps();

});

}

/**

* Reverse the migrations.

*

* @return void

*/

public function down()

{

Schema::dropIfExists('posts');

}

}

Change Data Type using Migration:

body column text data type to long text data type here.

<?php

use Illuminate\Support\Facades\Schema;

use Illuminate\Database\Schema\Blueprint;

use Illuminate\Database\Migrations\Migration;

class ChangePostsTableColumn extends Migration

{

/**

* Run the migrations.

*

* @return void

*/

public function up()

{

Schema::table('posts', function (Blueprint $table) {

$table->longText('body')->change();

});

}

/**

* Reverse the migrations.

*

* @return void

*/

public function down()

{

}

}

Rename using Migration:

rename title column to name changed.

<?php

use Illuminate\Support\Facades\Schema;

use Illuminate\Database\Schema\Blueprint;

use Illuminate\Database\Migrations\Migration;

class ChangePostsTableColumn extends Migration

{

/**

* Run the migrations.

*

* @return void

*/

public function up()

{

Schema::table('posts', function (Blueprint $table) {

$table->renameColumn('title', 'name');

});

}

/**

* Reverse the migrations.

*

* @return void

*/

public function down()

{

}

}

thank you very much for following up with me.

Tags

Recent Posts

Related Posts