Laravel Migration Change Datatype Integer to Decimal Example

By Hardik Savani November 5, 2023 Category : Laravel

Hello,

In this profound tutorial, we will learn laravel migration change integer to decimal. In this article, we will implement a how to change int to decimal in laravel migration. you can see laravel migration change datatype integer to decimal. If you have a question about laravel migration update data type integer to decimal then I will give a simple example with a solution.

Laravel migration provides way to add column name and datatype. But if you need to change column datatype then you have to install doctrine/dbal package to change datatype. In this example i will show you two ways to change datatype integer to decimal in laravel migration.

In this example, i will change viewer column datatype integer to decimal.

So, let's see the simple example of laravel migration change integer to decimal.

Install doctrine/dbal: optional

First of all we need to install "doctrine/dbal" composer package. This package allow to use change() method to update datatype using laravel migration.

composer require doctrine/dbal

Default Created Table

Here, you will see the default created table screenshot.

Way 1: Create Migration

Create new migration using following command:

php artisan make:migration change_datatype_column

Now, You can update it as like the bellow:

database/migrations/migration_name.php

<?php

use Illuminate\Database\Migrations\Migration;

use Illuminate\Database\Schema\Blueprint;

use Illuminate\Support\Facades\Schema;

return new class extends Migration

{

/**

* Run the migrations.

*/

public function up(): void

{

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

$table->decimal('viewer')->change();

});

}

/**

* Reverse the migrations.

*/

public function down(): void

{

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

});

}

};

Now, you are ready to run migration command:

php artisan migrate

You will see the layout as like the below:

Way 2: Create Migration

Create new migration using following command:

php artisan make:migration change_datatype_column

Now, You can update it as like the bellow:

database/migrations/migration_name.php

<?php

use Illuminate\Database\Migrations\Migration;

use Illuminate\Database\Schema\Blueprint;

use Illuminate\Support\Facades\Schema;

return new class extends Migration

{

/**

* Run the migrations.

*/

public function up(): void

{

\DB::statement('ALTER TABLE `posts` CHANGE `viewer` `viewer` DECIMAL NULL DEFAULT NULL;');

}

/**

* Reverse the migrations.

*/

public function down(): void

{

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

});

}

};

Now, you are ready to run migration command:

php artisan migrate

I hope it can help you...

Shares