fervo/release-phase-migrations-bundle
A Symfony bundle for Doctrine migrations that adds release phases, letting you group schema and data changes and run them in a controlled order during deployment. Tag migrations by phase, run the right set per release, and keep deployments predictable across environments.
GET_LOCK is a different contract, and SQLite/others have nothing comparable).Look elsewhere — or write ~50 lines yourself — when:
php artisan migrate --force.Job with a lease, a dedicated migration pipeline stage). Prefer the platform primitive over an in-process lock.To executives: This is a small utility that prevents a specific, recurring class of deployment failure — two servers starting at once and both trying to alter the same table. The idea is sound and cheap to reproduce. The package itself is a five-star, unmaintained, zero-adopter project last touched in 2021, so I do not recommend taking it as a dependency. Recommendation: adopt the pattern (serialize migrations behind a database lock during the release phase) and implement it in-house in under a day. Net effect is fewer failed deploys and no new supply-chain risk.
To engineering: It wraps Doctrine Migrations in a PostgreSQL advisory lock during the release phase, so concurrent pods contend for the lock instead of racing on DDL. Correct instinct, thin implementation. We are Symfony-adjacent only if we go that route — for our Laravel services the equivalent is a guarded artisan migrate in a dedicated job. Either way, the durable design is: migrations run in exactly one place, gated by a lock with a timeout, and the app never migrates itself on boot. Treat this repo as the spec, not the dependency.
How can I help you explore Laravel packages today?