ItSolutionStuff.com

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

By Hardik Savani • April 16, 2024
Laravel

Hi Artisan,

This post is focused on laravel migration change column name. this example 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 example of changing data type and rename column name using migration in laravel 6, laravel 7, laravel 8, laravel 9, laravel 10 and laravel 11 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 example:

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()

{

}

}

I hope it can help you...

Tags: Laravel
Hardik Savani

Hardik Savani

I'm a full-stack developer, entrepreneur, and founder of ItSolutionStuff.com. Passionate about PHP, Laravel, JavaScript, and helping developers grow.

📺 Subscribe on YouTube

We Are Recommending You

How to Write PHP Code in Laravel Blade?

Read Now →

Laravel - How to Check If Array is Empty in Blade?

Read Now →

How to Drop Foreign Key Constraint in Laravel Migration?

Read Now →

Laravel Select with Sum Query Example

Read Now →

How to Add MySQL Trigger from Migration in Laravel?

Read Now →

How to Get Query Log in Laravel Eloquent?

Read Now →

Laravel Create JSON File & Download From Text Example

Read Now →