Migration Toolkit: Creating ORM Compatible Structure from Legacy Database

v3.2.0 2015-11-24 14:08 UTC


Join the chat at https://gitter.im/orchestral/platform/components

Have you ever taken a project that had a messy, unstructured database design? Have you ever wish you can transform those project to become more Eloquent friendly?

Latest Stable Version Total Downloads MIT License Build Status Coverage Status Scrutinizer Quality Score

use App\User;
use Illuminate\Database\Query\Builder;
use Orchestra\Transporter\Blueprint;
use Orchestra\Transporter\Schema;

Schema::table('member', function (Blueprint $blueprint) {
        ->filter(function (Builder $query) {
            $query->where('active', '=', 1);
        })->transport(function ($data) {
            return new User([
                'email' => $data->u_email,
                'password' => $data->u_password,

Version Compatibility

Laravel Transporter
5.1.x 3.1.x
5.2.x 3.2.x
5.3.x 3.3.x@dev
5.4.x 3.4.x@dev


To install through composer, simply put the following in your composer.json file:

    "require": {
        "orchestra/transporter": "~3.1"

And then run composer install to fetch the package.

Quick Installation

You could also simplify the above code by using the following command:

composer require "orchestra/transporter=~3.1"


For simplicity, Transporter Component doesn't include any service provider. You can simply run the migration via:

php artisan migrate --path=vendor/orchestra/transporter/resources/database/migrations