In laravel has models control data tables and migrations to create and manage models. As we use migrations to create tables, we have to use migrations to update or add new fields in a data table.
Index
Add New Table Fields in Laravel
Here we will add new columns in a table by following three easy steps.
Step 1: Make Migration
To update any data table first, we have to create a migration for that table.
Go to your laravel project’s root directory and write the below code to make migration to the table.
php artisan make:migration migration_name --table=table_name
Note: Change migration_name and table_name according to your project requirement.
Step 2: Edit Migration File to Add New Fields
First, open the newly created migration file to add new columns to the table. Follow the below path to reach the migration directory from your project root directory.
cd database/migrations/
After reaching there, open the newly created migration file. As you can see, there will be up() and down() predefined methods. Let’s see what these methods do in brief.
Laravel Migration up() Method
up() method works when we run the migration. In the up() method, we have to add table fields which we need to add/edit.
In our case, we will add some new columns to the data table.
public function up()
{
Schema::table('table_name', function (Blueprint $table) {
//add field details here
$table->string('name')->nullable();
$table->string('email')->nullable();
});
}
Laravel Migration down() Method
down() method works when we roll back the migration. In the down() method, we have to define what changes are needed in the data table if the migration is rollbacked.
In our case, we will remove newly added columns from the data table.
public function down()
{
Schema::table('table_name', function (Blueprint $table) {
//remove columns from data table
$table->dropColumn(['name','email']);
});
}
Step 3: Run Migration
We are almost ready to migrate the data table now. Just run the below command at the root directory of your laravel project.
php artisan migrate
And it’s done π
Conclusion
I hope now you have a complete understanding of laravel data table migration and how to add new columns in the table.
Have a good day, Artisan π