orchestral / transporter by crynobone

Migration Toolkit: Creating ORM Compatible Structure from Legacy Database
138
2
3
Package Data
Maintainer Username: crynobone
Maintainer Contact: crynobone@gmail.com (Mior Muhammad Zaki)
Package Create Date: 2015-08-13
Package Last Update: 2016-07-31
Home Page:
Language: PHP
License: MIT
Last Refreshed: 2024-04-29 15:05:01
Package Statistics
Total Downloads: 138
Monthly Downloads: 0
Daily Downloads: 0
Total Stars: 2
Total Watchers: 3
Total Forks: 0
Total Open Issues: 2

Migration Toolkit: Creating ORM Compatible Structure from Legacy Database

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) {
    $blueprint->connection('legacy')
        ->key('member_id')
        ->filter(function (Builder $query) {
            $query->where('active', '=', 1);
        })->transport(function ($data) {
            return new User([
                'email' => $data->u_email,
                'password' => $data->u_password,
            ]);
        });
})->start();

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

Installation

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"

Setup

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