Laravel add new column to existing table

To add a new column to an existing table in Laravel, you can use the schema method on the Illuminate\Database\Schema facade. Here's an example:

use Illuminate\Support\Facades\Schema;

Schema::table('existing_table_name', function (Blueprint $table) {
    $table->string('new_column_name');
});

This will add a new column named new_column_name to the existing_table_name table.

You can also specify additional options for the column, such as its length, default value, and whether it's nullable or not. For example:

Schema::table('existing_table_name', function (Blueprint $table) {
    $table->string('new_column_name', 255)->nullable()->default('default_value');
});

This will add a new column named new_column_name to the existing_table_name table with a length of 255 characters, and set its default value to 'default_value'. The column will also be nullable.

You can also use the change method to modify an existing column. For example:

Schema::table('existing_table_name', function (Blueprint $table) {
    $table->string('existing_column_name')->change();
});

This will modify the existing column named existing_column_name to be a string type.

After adding or modifying a column, you need to run the migration to apply the changes to the database. You can do this by running the following command:

php artisan migrate

This will execute the migration and update the database accordingly.

Note: Make sure to update the migration file to include the new column or modification. You can do this by running the following command:

php artisan make:migration add_new_column_to_existing_table

This will create a new migration file with the necessary code to add the new column. You can then modify the migration file to include the new column or modification.