vendor/doctrine/migrations/lib/Doctrine/Migrations/Version/CurrentMigrationStatusCalculator.php line 33

Open in your IDE?
  1. <?php
  2. declare(strict_types=1);
  3. namespace Doctrine\Migrations\Version;
  4. use Doctrine\Migrations\Metadata\AvailableMigrationsList;
  5. use Doctrine\Migrations\Metadata\ExecutedMigrationsList;
  6. use Doctrine\Migrations\Metadata\Storage\MetadataStorage;
  7. /**
  8.  * The MigrationPlanCalculator is responsible for calculating the plan for migrating from the current
  9.  * version to another version.
  10.  */
  11. final class CurrentMigrationStatusCalculator implements MigrationStatusCalculator
  12. {
  13.     /** @var MigrationPlanCalculator */
  14.     private $migrationPlanCalculator;
  15.     /** @var MetadataStorage */
  16.     private $metadataStorage;
  17.     public function __construct(
  18.         MigrationPlanCalculator $migrationPlanCalculator,
  19.         MetadataStorage $metadataStorage
  20.     ) {
  21.         $this->migrationPlanCalculator $migrationPlanCalculator;
  22.         $this->metadataStorage         $metadataStorage;
  23.     }
  24.     public function getExecutedUnavailableMigrations(): ExecutedMigrationsList
  25.     {
  26.         $executedMigrations $this->metadataStorage->getExecutedMigrations();
  27.         $availableMigration $this->migrationPlanCalculator->getMigrations();
  28.         return $executedMigrations->unavailableSubset($availableMigration);
  29.     }
  30.     public function getNewMigrations(): AvailableMigrationsList
  31.     {
  32.         $executedMigrations $this->metadataStorage->getExecutedMigrations();
  33.         $availableMigration $this->migrationPlanCalculator->getMigrations();
  34.         return $availableMigration->newSubset($executedMigrations);
  35.     }
  36. }