PHPackages                             mreycode/laravel-db-migrator - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Database &amp; ORM](/categories/database)
4. /
5. mreycode/laravel-db-migrator

ActiveLibrary[Database &amp; ORM](/categories/database)

mreycode/laravel-db-migrator
============================

A production-grade Laravel package for complex, large-scale database migrations with resumable, monitored, and batch-aware processing.

v2.1.1(3mo ago)149—0%MITPHPPHP ^8.2

Since Feb 16Pushed 3mo agoCompare

[ Source](https://github.com/jonreygalera/mreycode-laravel-db-migrator)[ Packagist](https://packagist.org/packages/mreycode/laravel-db-migrator)[ RSS](/packages/mreycode-laravel-db-migrator/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (7)Dependencies (10)Versions (9)Used By (0)

[![Mreycode Logo](https://raw.githubusercontent.com/jonreygalera/mreydocs/refs/heads/main/assets/logo.png)](https://jonreygalera.vercel.app)

[![Latest Version on Packagist](https://camo.githubusercontent.com/a50083209f6d4a27107c6a5b40114adcdb0ebd8010c494988f723a4685839f85/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6d726579636f64652f6c61726176656c2d64622d6d69677261746f722e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/mreycode/laravel-db-migrator)[![Total Downloads](https://camo.githubusercontent.com/bd125b1cba20448d12ff6b3cae5638446c59f62726e7d6efff5530d493f6c71e/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f6d726579636f64652f6c61726176656c2d64622d6d69677261746f722e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/mreycode/laravel-db-migrator)[![PHP Version](https://camo.githubusercontent.com/a0244a1d3f25818892b44b2e0554aa1e0e503094808a0d63a54a2e03089b80a9/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f7068702d762f6d726579636f64652f6c61726176656c2d64622d6d69677261746f722e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/mreycode/laravel-db-migrator)

Laravel Db Migrator
===================

[](#laravel-db-migrator)

A production-grade Laravel package for complex, large-scale database migrations with resumable, monitored, and batch-aware processing.

Documentation
-------------

[](#documentation)

For full documentation, please visit [**Mreycode Docs - Laravel Db Migrator**](https://github.com/jonreygalera/mreydocs/blob/main/laravel-db-migrator/README.md).

Introduction
------------

[](#introduction)

Laravel Db Migrator transforms the often-chaotic process of data ETL (Extract, Transform, Load) into a manageable, monitored, and resumable workflow. Unlike standard schema migrations, this package is designed specifically for high-volume data movement between connections.

Installation
------------

[](#installation)

You can install the package via composer:

```
composer require mreycode/laravel-db-migrator
```

You should publish the configuration and system migrations using:

```
php artisan vendor:publish --tag=db-migrator-config
php artisan vendor:publish --tag=db-migrator-migrations
php artisan migrate
```

Quick Start
-----------

[](#quick-start)

Generate a new migrator class:

```
php artisan make:db-migrator UserMigrator
```

Implement your migration logic:

```
namespace App\DbMigrators;

use Mreycode\DbMigrator\AbstractDbMigrator;
use App\Models\User;

class UserMigrator extends AbstractDbMigrator
{
    /** @var string The column name representing the unique ID in the source data */
    public $migratorSourceId = 'source_id';

    /** @var string The column name representing the unique ID in the target table */
    public $migratorTargetId = 'id';

    /** @var bool Set to true to store the source-to-target ID mapping in the history table */
    public bool $recordMigratorHistory = false;

    public function sourceData()
    {
        return $this->getSourceConnection()
            ->table('legacy_users')
            ->offset($this->getOptions()['offset'])
            ->limit($this->getOptions()['limit'])
            ->get();
    }

    public function handle($params = null)
    {
        foreach ($params['sourceData'] as $row) {
            User::create([
                'name'  => $row->full_name,
                'email' => $row->email,
            ]);
        }
    }
}
```

Run your migration via the interactive dashboard:

```
php artisan mreycode:db-migrate -i
```

Contributing
------------

[](#contributing)

Please see [CONTRIBUTING](CONTRIBUTING.md) for details.

Security
--------

[](#security)

If you discover any security-related issues, please email  instead of using the issue tracker.

License
-------

[](#license)

The MIT License (MIT). Please see [License File](LICENSE.md) for more information.

###  Health Score

41

—

FairBetter than 89% of packages

Maintenance82

Actively maintained with recent releases

Popularity13

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity52

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~0 days

Total

8

Last Release

90d ago

Major Versions

v1.1.2 → v2.0.02026-02-18

### Community

Maintainers

![](https://www.gravatar.com/avatar/a631d964b4b61b72ce8f6adf88bc0dfbe39bfaa0b9f3555c976b4d29924ba0ee?d=identicon)[jonreygalera](/maintainers/jonreygalera)

---

Top Contributors

[![jonreygalera](https://avatars.githubusercontent.com/u/55083108?v=4)](https://github.com/jonreygalera "jonreygalera (11 commits)")

---

Tags

laravelmigrationdatabasequeueworkerbatch processingresumable

###  Code Quality

TestsPest

Static AnalysisPHPStan

Code StyleLaravel Pint

Type Coverage Yes

### Embed Badge

![Health badge](/badges/mreycode-laravel-db-migrator/health.svg)

```
[![Health](https://phpackages.com/badges/mreycode-laravel-db-migrator/health.svg)](https://phpackages.com/packages/mreycode-laravel-db-migrator)
```

###  Alternatives

[cybercog/laravel-clickhouse

ClickHouse migrations for Laravel

163166.8k](/packages/cybercog-laravel-clickhouse)[clickbar/laravel-magellan

This package provides functionality for working with the postgis extension in Laravel.

423715.4k1](/packages/clickbar-laravel-magellan)[toponepercent/baum

Baum is an implementation of the Nested Set pattern for Eloquent models.

3154.7k](/packages/toponepercent-baum)[dragon-code/laravel-data-dumper

Adding data from certain tables when executing the `php artisan schema:dump` console command

3418.6k](/packages/dragon-code-laravel-data-dumper)[dragon-code/migrate-db

Easy data transfer from one database to another

15717.4k](/packages/dragon-code-migrate-db)[ytake/laravel-couchbase

Couchbase providers for Laravel

3051.9k](/packages/ytake-laravel-couchbase)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
