netsells/laravel-mutex-migrations
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
Related Packages
A Laravel package to help organise migration files.
Improved version of Laravel 5's Migrator. Adds better error messaging and suppor...
Version History
| Version | Released | PHP | Laravel | License |
|---|---|---|---|---|
| v3.0.0 | ^8.2 | ^10.0 | | MIT | |
| v2.0.0 | ^8.2 | ^10.0| | MIT | |
| v1.1.0 | ^8.1 | ^9.3 | | MIT | |
| v1.0.0 | ^8.1 | ^9.3 | MIT |