- Automatically prunes old migration files and their corresponding database entries just before running new Doctrine migrations.
- Designed to work in production; migration files should be absent, leaving only the database entries to be removed.
- Handles Doctrine migrations' multiple configurations.
- Prevents warnings about missing migration files if you manually removed them.
- MySQL
- Sqlite
- Requires Doctrine Migration Bundle.
- Tested on Symfony 6, but should work wherever Doctrine Migrations Bundle v3.* is compatible.
To install the Doctrine Migration Pruner Bundle, you can use composer:
composer require hackzilla/doctrine-migration-pruner-bundleAdd the following to your application's config:
hackzilla_doctrine_migration_pruner:
remove_migrations_before: '2007-05-01' # Can be null or a valid date-timeIt's advisable to start with an earlier date-time.
Run your Doctrine migrations as you normally would:
bin/console doctrine:migrations:migrateNote: The pruning operation will not execute if the --dry-run option has been specified.
There are currently no tests available.
However, you can use Doctrine Migration Pruner Repo to test the migration pruning.
See all contributors on GitHub.
Please report issues using GitHub's issue tracker: GitHub Repo
If you find this project useful, consider buying me a coffee.
This bundle is released under the MIT license. See the LICENSE file for details.