PHPackages                             sylius-labs/doctrine-migrations-extra-bundle - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Database &amp; ORM](/categories/database)
4. /
5. sylius-labs/doctrine-migrations-extra-bundle

ActiveBundle[Database &amp; ORM](/categories/database)

sylius-labs/doctrine-migrations-extra-bundle
============================================

v0.3.0(3mo ago)226.6M—7.9%8[2 issues](https://github.com/SyliusLabs/DoctrineMigrationsExtraBundle/issues)6MITPHPPHP ^8.1CI passing

Since Aug 6Pushed 3mo agoCompare

[ Source](https://github.com/SyliusLabs/DoctrineMigrationsExtraBundle)[ Packagist](https://packagist.org/packages/sylius-labs/doctrine-migrations-extra-bundle)[ RSS](/packages/sylius-labs-doctrine-migrations-extra-bundle/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (7)Dependencies (9)Versions (10)Used By (6)

 [ ![](https://camo.githubusercontent.com/1567208cc7c8ec53cf6e2af4f54449a9bb3ab0dee7916998de4e3ce9b7f79015/68747470733a2f2f64656d6f2e73796c6975732e636f6d2f6173736574732f73686f702f696d672f6c6f676f2e706e67) ](https://sylius.com)

DoctrineMigrationsExtraBundle
=============================

[](#doctrinemigrationsextrabundle)

Adding a topological sorter and container injection to DoctrineMigrationsBundle.

Installation
------------

[](#installation)

1. Require this package in your project:

```
composer require sylius-labs/doctrine-migrations-extra-bundle
```

2. Add this bundle to `config/bundles.php`:

```
return [
    // ...
    SyliusLabs\DoctrineMigrationsExtraBundle\SyliusLabsDoctrineMigrationsExtraBundle::class => ['all' => true],
];
```

3. Replace original Doctrine migrations services with the ones from this bundle by adding the following config in `config/packages/doctrine_migrations.yaml`:

```
doctrine_migrations:
    services:
        'Doctrine\Migrations\Version\MigrationFactory': 'SyliusLabs\DoctrineMigrationsExtraBundle\Factory\ContainerAwareVersionFactory'
        'Doctrine\Migrations\Version\Comparator': 'SyliusLabs\DoctrineMigrationsExtraBundle\Comparator\TopologicalVersionComparator'
```

Usage
-----

[](#usage)

### In an application

[](#in-an-application)

In order to define the topology of migrations, configure it in `config/packages/sylius_labs_doctrine_migrations_extra.yaml`:

```
sylius_labs_doctrine_migrations_extra:
    migrations:
        'Core\Migrations': ~
        'PluginDependingOnCommonPlugin\Migrations': ['Core\Migrations', 'CommonPlugin\Migrations']
        'CommonPlugin\Migrations': ['Core\Migrations']
        'PluginDependingOnCore\Migrations': ['Core\Migrations']
```

The following configuration will result in the following order:

- `Core\Migrations`
- `CommonPlugin\Migrations`
- `PluginDependingOnCommonPlugin\Migrations`
- `PluginDependingOnCore\Migrations`

### In a bundle

[](#in-a-bundle)

If you want to make your bundle define its dependencies on it own, prepend the configuration in your bundle's extension:

```
use Symfony\Component\DependencyInjection\Extension\Extension;
use Symfony\Component\DependencyInjection\Extension\PrependExtensionInterface;

final class AcmeExtension extends Extension implements PrependExtensionInterface
{
    // ...

    public function prepend(ContainerBuilder $container): void
    {
        if (!$container->hasExtension('doctrine_migrations') || !$container->hasExtension('sylius_labs_doctrine_migrations_extra')) {
            return;
        }

        $container->prependExtensionConfig('doctrine_migrations', [
            'migrations_paths' => [
                'Acme\AcmeBundle\Migrations' => '@AcmeBundle/Migrations',
            ],
        ]);

        $container->prependExtensionConfig('sylius_labs_doctrine_migrations_extra', [
            'migrations' => [
                'Acme\AcmeBundle\Migrations' => ['Core\Migrations'],
            ],
        ]);
    }
}
```

Generating new diff
-------------------

[](#generating-new-diff)

Cause this bundle will dynamically change the configuration of Doctrine Migrations, you may need to specify your own namespace like:

```
# config/packages/doctrine_migrations.yaml
doctrine_migrations:
  migrations_paths:
    'App\Migrations': "%kernel.project_dir%/src/Migrations"

# config/packages/sylius_labs_doctrine_migrations_extra.yaml
sylius_labs_doctrine_migrations_extra:
  migrations:
    'App\Migrations': ~
```

After that you will be able to generate again your own migration by calling:

```
bin/console doctrine:migrations:diff --namespace=App\\Migrations
```

Versioning and release cycle
----------------------------

[](#versioning-and-release-cycle)

This package follows [semantic versioning](https://semver.org/).

Next major releases are not planned yet. Minor and patch releases will be published as needed.

Bug fixes will be provided only for the most recent minor release. Security fixes will be provided for one year since the release of subsequent minor release.

License
-------

[](#license)

This extension is completely free and released under permissive [MIT license](LICENSE).

Authors
-------

[](#authors)

It is originally created by [Kamil Kokot](https://github.com/pamil). See the list of [all contributors](https://github.com/SyliusLabs/DoctrineMigrationsExtraBundle/graphs/contributors).

###  Health Score

57

—

FairBetter than 98% of packages

Maintenance79

Regular maintenance activity

Popularity54

Moderate usage in the ecosystem

Community25

Small or concentrated contributor base

Maturity59

Maturing project, gaining track record

 Bus Factor2

2 contributors hold 50%+ of commits

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~251 days

Recently: every ~457 days

Total

9

Last Release

101d ago

PHP version history (4 changes)v0.1.0PHP ^7.3

v0.1.4PHP ^7.3 || ^8.0

v0.2.0PHP ^8.0

v0.2.2PHP ^8.1

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/719423?v=4)[Sylius eCommerce](/maintainers/sylius)[@Sylius](https://github.com/Sylius)

![](https://www.gravatar.com/avatar/4b4a5a1a9293502aa8573551fab020963a9050c5cca4524433b6d94214d3b480?d=identicon)[GSadee](/maintainers/GSadee)

---

Top Contributors

[![pamil](https://avatars.githubusercontent.com/u/1897953?v=4)](https://github.com/pamil "pamil (15 commits)")[![loic425](https://avatars.githubusercontent.com/u/8329789?v=4)](https://github.com/loic425 "loic425 (11 commits)")[![Rafikooo](https://avatars.githubusercontent.com/u/40125720?v=4)](https://github.com/Rafikooo "Rafikooo (5 commits)")[![lchrusciel](https://avatars.githubusercontent.com/u/6213903?v=4)](https://github.com/lchrusciel "lchrusciel (2 commits)")[![stloyd](https://avatars.githubusercontent.com/u/67402?v=4)](https://github.com/stloyd "stloyd (2 commits)")[![coldic3](https://avatars.githubusercontent.com/u/13316080?v=4)](https://github.com/coldic3 "coldic3 (1 commits)")[![Zales0123](https://avatars.githubusercontent.com/u/6212718?v=4)](https://github.com/Zales0123 "Zales0123 (1 commits)")

###  Code Quality

TestsPHPUnit

Static AnalysisPHPStan

Type Coverage Yes

### Embed Badge

![Health badge](/badges/sylius-labs-doctrine-migrations-extra-bundle/health.svg)

```
[![Health](https://phpackages.com/badges/sylius-labs-doctrine-migrations-extra-bundle/health.svg)](https://phpackages.com/packages/sylius-labs-doctrine-migrations-extra-bundle)
```

###  Alternatives

[sylius/sylius

E-Commerce platform for PHP, based on Symfony framework.

8.4k5.6M651](/packages/sylius-sylius)[kimai/kimai

Kimai - Time Tracking

4.6k7.4k1](/packages/kimai-kimai)[bolt/core

🧿 Bolt Core

585142.5k54](/packages/bolt-core)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
