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?
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();
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.
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