orisintel/laravel-online-migrator
Run Laravel migrations online with minimal downtime. This package helps apply schema changes to large production tables without long locks, keeping your application available while migrations complete through familiar Artisan commands and safer rollouts.
Architecture fit
Migrator, custom schema grammar, or a wrapping Artisan command) without touching application code. Replacing a blocking ALTER TABLE with Percona pt-online-schema-change (and possibly gh-ost) is the right shape of solution for large InnoDB tables in MySQL.ALTER is an outage, and an execution environment that can shell out to a binary. There is no meaningful path for PostgreSQL (different tooling: CREATE INDEX CONCURRENTLY, different locking model), SQL Server, or SQLite — so the value is zero on polyglot data layers.Integration feasibility
composer require and go. Prerequisites: pt-osc installed on whatever machine runs artisan, a DB user with privileges to create/drop triggers, create/drop the shadow table, and read replication status, plus a plan for when the binary version moves under you.doctrine/dbal, and 10/11/12 continued that direction; assume a compatibility fork is required before this runs on a current LTS. Budget a timeboxed spike to prove or kill that, not a delivery plan.Technical risk
down() to a safe inverse, multi-statement migrations, index-name collisions with existing ghost/trigger artifacts, and foreign keys (--alter-foreign-keys-method, --preserve-triggers)._table_new shadow table behind; MySQL has no transactional DDL, so "migration failed" can mean "schema is in an intermediate state."Key questions
doctrine/dbal path still required for current framework versions?migrate remain in use for small tables?down() handled, and exactly what residue does a failed cutover leave, plus how is it cleaned up?gh-ost a first-class driver or a stub? Are --dry-run and --no-drop-old-table styles of safeguards exposed?Stack fit
ALTER is a genuine outage (>~10–20M rows or a hot, heavily written table), and a deploy pipeline with a step that can reach the DB host.Migration path
migrate for everything else. Prove the runbook, not the tool.Compatibility
doctrine/dbal installed, since that changes the SQL the schema builder emits.UPDATE alongside DDL.Sequencing
Maintenance
Support
Scaling
Failure modes
migrations table but DDL never applied, or applied and not recorded. Needs an explicit reconciliation check, not trust.migrate and gets the blocking ALTER anyway. The tool must be the only path, enforced in the pipeline.Ramp-up
How can I help you explore Laravel packages today?