LaravelPackages.net
Acme Inc.
Toggle sidebar
lawrence/fast-migrate

Migrate even faster!

55
3
v1.2
About lawrence/fast-migrate

lawrence/fast-migrate is a Laravel package for migrate even faster!. It currently has 3 GitHub stars and 55 downloads on Packagist (latest version v1.2). Install it with composer require lawrence/fast-migrate. Discover more Laravel packages by lawrence or browse all Laravel packages to compare alternatives.

Last updated

FastMigrate

Migrate even faster with FastMigrate! FastMigrate is essentially a wrapper around Laravels migration class. FastMigrate aims to make creating tables easier and faster.

FastMigrate requires Laravel >= 5.0

Installation

To install, simply composer require lawrence/fast-migrate:dev-master

Example

An example of FastMigrate in use is shown below.

<?php

use FastMigrate\FastMigrator;
use Schema;

class ExampleMigration extends FastMigrator
{

    public function up()
    {
        $I = $this;
        $I->wantATable('users')
            ->withStrings('username', 'password');

        $I->wantATable('roles')
            ->withStrings('description');

        $I->wantATable('posts')
            ->withStrings('title', 'content')
            ->withIntegers('score');

        $I->want('users')
            ->toHaveMany('posts');
        $I->want('users')
            ->toHaveOne('roles');

        $I->amReadyForMigration();
    }

    public function down()
    {
        Schema::dropIfExists('users');
        Schema::dropIfExists('posts');
        Schema::dropIfExists('roles');
    }
}

Running the above migration will generate three tables as follows:

users:
    - id
    - created_at
    - updated_at
    - username
    - password
    - role_id

roles:
    - id
    - created_at
    - updated_at
    - description

posts:
    - id
    - created_at
    - updated_at
    - title
    - content
    - score
    - user_id
Comments