Migrations
Definition
Migrations (are the short name for Database Migrations).
Migrations are the version control of your database. They are very useful for generating and documenting the database tables.
Principles
- 
Migrations SHOULD be created inside the Containers folders.
 - 
Migrations will be autoloaded in the framework
 
Rules
- No need to publish the DB Migrations. Just run the 
artisan migratecommand and Laravel will read the Migrations from the Containers. 
Folder Structure
 - app
    - Containers
        - User
            - Data
                - Migrations
                    - 2200_01_01_000001_create_users_table.php
                    - ...
Code Samples
User CreateUsersTable Migrations:
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
class CreateUsersTable extends Migration
{
    public function up()
    {
        Schema::create('users', function (Blueprint $table) {
            $table->increments('id');
            $table->string('name');
            $table->string('email')->unique();
            $table->string('password');
            $table->rememberToken();
            $table->timestamps();
            $table->softDeletes();
        });
    }
    public function down()
    {
        Schema::drop('users');
    }
}
For more information about the Database Migrations read this.