Doctrine\DBAL\Migrations\Configuration\Configuration::getMigrationsToExecute PHP Method

getMigrationsToExecute() public method

Returns the array of migrations to executed based on the given direction and target version number.
public getMigrationsToExecute ( string $direction, string $to ) : Version[]
$direction string The direction we are migrating.
$to string The version to migrate to.
return Doctrine\DBAL\Migrations\Version[] $migrations The array of migrations we can execute.
    public function getMigrationsToExecute($direction, $to)
    {
        if (empty($this->migrations)) {
            $this->registerMigrationsFromDirectory($this->getMigrationsDirectory());
        }
        if ($direction === Version::DIRECTION_DOWN) {
            if (count($this->migrations)) {
                $allVersions = array_reverse(array_keys($this->migrations));
                $classes = array_reverse(array_values($this->migrations));
                $allVersions = array_combine($allVersions, $classes);
            } else {
                $allVersions = [];
            }
        } else {
            $allVersions = $this->migrations;
        }
        $versions = [];
        $migrated = $this->getMigratedVersions();
        foreach ($allVersions as $version) {
            if ($this->shouldExecuteMigration($direction, $version, $to, $migrated)) {
                $versions[$version->getVersion()] = $version;
            }
        }
        return $versions;
    }

Usage Example

Example #1
0
 /**
  * {@inheritdoc}
  */
 public function getMigrationsToExecute($direction, $to)
 {
     $versions = parent::getMigrationsToExecute($direction, $to);
     foreach ($versions as $version) {
         $this->container->callInjects($version->getMigration());
     }
     return $versions;
 }
All Usage Examples Of Doctrine\DBAL\Migrations\Configuration\Configuration::getMigrationsToExecute