Generate Migration
$ php artisan doctrine:migrations:generate [--create=table_name] [--table=table_name]The new migration will be placed in your database/migrations directory. Each migration file name contains a timestamp as version which allows Doctrine 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 simply pre-fill the generated migration stub file with the specified table:
php artisan make:migration --table=users
php artisan make:migration --create=usersIf you would like to specify another output path for the generated migration, you can change the setting in config/migrations.
The command generates blank migration class in database/migrations with latest version.
<?php
namespace Database\Migrations;
use Doctrine\DBAL\Migrations\AbstractMigration;
use Doctrine\DBAL\Schema\Schema;
class Version20150915130401 extends AbstractMigration
{
 public function up(Schema $schema)
 {
 }
 public function down(Schema $schema)
 {
 }
}SQL
Schema has addSql() method to add our own custom SQL queries.
For example:
public function up(Schema $schema)
{
    $this->addSql('CREATE TABLE addresses (id INT NOT NULL, street VARCHAR(255) NOT NULL, PRIMARY KEY(id)) ENGINE = InnoDB');
}Schema Builder
Alternatively you can use a Laravel-like Schema Builder. The previous example will now look like this:
 use LaravelDoctrine\Migrations\Schema\Table;
 use LaravelDoctrine\Migrations\Schema\Builder;
 public function up(Schema $schema)
 {
     (new Builder($schema))->create('addresses', function(Table $table) {
        $table->increments('id');
        $table->string('street');
     });
 }