Laravel Create Migration
Updated Jan 11, 2021 View by 4.1 K

Laravel Create Migration is like version control for your database, allowing your team to easily modify and share the application’s database schema. In this tutorial, we are going to learn about the Laravel Create Migration.
Laravel Create Migration
Migration are typically paired with Laravel’s schema builder to easily build your application’s database schema. If you have ever had to tell a teammate to manually add a column to their local database schema, you’ve faced the problem that database migrations solve.
Step 1: Generating Migrations
To create a migration, use the make:migration
here, users is the table name.
php artisan make:migration create_users_table
The new migration will be placed in your database/migrations
directory. Each migration file name contains a timestamp which allows Laravel to determine the order of the migrations.
The --table
and --create
options may also be used to indicate the name of the table and whether the migration will be creating a new table. These options pre-fill the generated migration stub file with the specified table:
php artisan make:migration create_users_table --create=users php artisan make:migration add_votes_to_users_table --table=users
Step 2: Migration Structure
A migration class contains two methods: up
and down
. The up
method is used to add new tables, columns, or indexes to your database, while the down
method should reverse the operations performed by the up
method.
<?php use Illuminate\Support\Facades\Schema; use Illuminate\Database\Schema\Blueprint; use Illuminate\Database\Migrations\Migration; class CreateFlightsTable extends Migration { /** * Run the migrations. * * @return void */ public function up() { Schema::create('flights', function (Blueprint $table) { $table->increments('id'); $table->string('name'); $table->string('airline'); $table->timestamps(); }); } /** * Reverse the migrations. * * @return void */ public function down() { Schema::drop('flights'); } }
Step: 3 Running Migrations
To run all of your outstanding migrations, execute the migrate
Artisan command:
php artisan migrate
Step: 3 Rolling Back Migrations
To rollback the latest migration operation, you may use the rollback
command. This command rolls back the last “batch” of migrations, which may include multiple migration files:
php artisan migrate:rollback
You may rollback a limited number of migrations by providing the step
option to the rollback
command. For example, the following command will rollback the last five migrations:
php artisan migrate:rollback --step=5
The migrate:reset
command will roll back all of your application’s migrations:
php artisan migrate:reset
Step:4 Rollback & Migrate In Single Command
The migrate:refresh
command will roll back all of your migrations and then execute the migrate
command. This command effectively re-creates your entire database:
php artisan migrate:refresh // Refresh the database and run all database seeds... php artisan migrate:refresh --seed
You may rollback & re-migrate a limited number of migrations by providing the step
option to the refresh
command. For example, the following command will rollback & re-migrate the last five migrations:
php artisan migrate:refresh --step=5
Step:5 Drop All Tables & Migrate
The migrate:fresh
command will drop all tables from the database and then execute the migrate
command:
php artisan migrate:fresh php artisan migrate:fresh --seed