Looking to hire Laravel developers? Try LaraJobs

laravel-mutex-migrations maintained by netsells

Description
Run mutually exclusive migrations from more than one server at a time
Authors
Last update
2025/03/07 17:48 (3.x-dev)
License
Links
Downloads
22 219

Comments
comments powered by Disqus

Mutex Migrations for Laravel

Run mutually exclusive migrations from more than one server at a time.

Using Laravel's functionality for Atomic Locks, this package extends the built-in MigrateCommand class to allow migrations to be run safely when there is the chance that they may be run concurrently against the same database.

Installation

Install the package with:

composer require netsells/laravel-mutex-migrations

Optionally publish the package config file:

php artisan vendor:publish --tag=mutex-migrations-config

Usage

Running a mutex migration using the default database store requires the existence of a table to store cache locks. If it does not exist the command will automatically fallback to a standard migration.

php artisan migrate --mutex

If two or more migrations happen to run concurrently, the first to acquire a lock will block the next one from running until it has finished, or until the lock times out - after 60 seconds, by default.

Testing

./vendor/bin/phpunit