marein / symfony-lock-doctrine-migrations-bundle
Perform concurrent doctrine migrations safely.
Package info
github.com/marein/symfony-lock-doctrine-migrations-bundle
Type:symfony-bundle
pkg:composer/marein/symfony-lock-doctrine-migrations-bundle
Requires
- php: ^8.0
- doctrine/dbal: ^2.12 || ^3.0 || ^4.0
- doctrine/doctrine-bundle: ^2.2 || ^3.0
- doctrine/doctrine-migrations-bundle: ^3.0 || ^4.0
- symfony/config: ^5.2 || ^6.0 || ^7.0 || ^8.0
- symfony/console: ^5.2 || ^6.0 || ^7.0 || ^8.0
- symfony/dependency-injection: ^5.2 || ^6.0 || ^7.0 || ^8.0
- symfony/http-foundation: ^5.2 || ^6.0 || ^7.0 || ^8.0
- symfony/http-kernel: ^5.2 || ^6.0 || ^7.0 || ^8.0
Requires (Dev)
- phpstan/phpstan: 2.2.2
- phpunit/phpunit: ^9.5
- squizlabs/php_codesniffer: 3.13.5
- symfony/framework-bundle: ^5.2 || ^6.0 || ^7.0 || ^8.0
Suggests
None
Provides
None
Conflicts
None
Replaces
None
README
Table of contents
Overview
Perform concurrent doctrine migrations safely.
How it works?
It hooks into Symfony's event system and listens for the doctrine:migrations:migrate command to be executed.
The command must be executed with the --conn option so that this bundle knows which connection to use.
If the platform of the selected connection is supported, the operation is performed inside a distributed lock.
Supported platforms:
- MySQL
- PostgreSQL
Installation and requirements
Add the bundle to your project.
composer require marein/symfony-lock-doctrine-migrations-bundle
Add the bundle in the kernel. This can be different for your setup.
public function registerBundles() { return [ // ... new \Marein\LockDoctrineMigrationsBundle\MareinLockDoctrineMigrationsBundle(), // ... ]; }
Configuration
This is an example of all configurations in yaml format.
marein_lock_doctrine_migrations: # Define a prefix for the name of the lock. # # Type: string # Default: migrate__ lock_name_prefix: custom__
Public api
Only the bundle configuration is part of the public api. Everything else can change and is not considered a breaking change. Please don't use classes or services directly.