resolveVersionAlias() public method

Supported aliases are: - first: The very first version before any migrations have been run. - current: The current version. - prev: The version prior to the current version. - next: The version following the current version. - latest: The latest available version. If an existing version number is specified, it is returned verbatimly.
public resolveVersionAlias ( $alias ) : string | null
return string | null A version number, or null if the specified alias does not map to an existing version, e.g. if "next" is passed but the current version is already the latest.
 private function getFormattedVersionAlias($alias)
 {
     $version = $this->configuration->resolveVersionAlias($alias);
     //No version found
     if ($version === null) {
         if ($alias == 'next') {
             return 'Already at latest version';
         } elseif ($alias == 'prev') {
             return 'Already at first version';
         }
     }
     //Before first version "virtual" version number
     if ($version === '0') {
         return '<comment>0</comment>';
     }
     //Show normal version number
     return $this->configuration->getDateTime($version) . ' (<comment>' . $version . '</comment>)';
 }
 public function getMigrationsInfos()
 {
     $formattedVersions = [];
     foreach (['prev', 'current', 'next', 'latest'] as $alias) {
         $version = $this->configuration->resolveVersionAlias($alias);
         if ($version === null) {
             if ($alias == 'next') {
                 $formattedVersions[$alias] = 'Already at latest version';
             } elseif ($alias == 'prev') {
                 $formattedVersions[$alias] = 'Already at first version';
             }
         } elseif ($version === '0') {
             $formattedVersions[$alias] = '<comment>0</comment>';
         } else {
             $formattedVersions[$alias] = $this->configuration->getDateTime($version) . ' (<comment>' . $version . '</comment>)';
         }
     }
     $numExecutedUnavailableMigrations = count($this->executedUnavailableMigrations);
     $numNewMigrations = count(array_diff($this->availableMigrations, $this->executedMigrations));
     $infos = ['Name' => $this->configuration->getName() ? $this->configuration->getName() : 'Doctrine Database Migrations', 'Database Driver' => $this->configuration->getConnection()->getDriver()->getName(), 'Database Name' => $this->configuration->getConnection()->getDatabase(), 'Configuration Source' => $this->configuration instanceof AbstractFileConfiguration ? $this->configuration->getFile() : 'manually configured', 'Version Table Name' => $this->configuration->getMigrationsTableName(), 'Version Column Name' => $this->configuration->getMigrationsColumnName(), 'Migrations Namespace' => $this->configuration->getMigrationsNamespace(), 'Migrations Directory' => $this->configuration->getMigrationsDirectory(), 'Previous Version' => $formattedVersions['prev'], 'Current Version' => $formattedVersions['current'], 'Next Version' => $formattedVersions['next'], 'Latest Version' => $formattedVersions['latest'], 'Executed Migrations' => count($this->executedMigrations), 'Executed Unavailable Migrations' => $numExecutedUnavailableMigrations, 'Available Migrations' => count($this->availableMigrations), 'New Migrations' => $numNewMigrations];
     return $infos;
 }
 /**
  * @param string $versionAlias
  * @param OutputInterface $output
  * @param Configuration $configuration
  * @return bool|string
  */
 private function getVersionNameFromAlias($versionAlias, OutputInterface $output, Configuration $configuration)
 {
     $version = $configuration->resolveVersionAlias($versionAlias);
     if ($version === null) {
         if ($versionAlias == 'prev') {
             $output->writeln('<error>Already at first version.</error>');
             return false;
         }
         if ($versionAlias == 'next') {
             $output->writeln('<error>Already at latest version.</error>');
             return false;
         }
         $output->writeln(sprintf('<error>Unknown version: %s</error>', $output->getFormatter()->escape($versionAlias)));
         return false;
     }
     return $version;
 }
 /**
  * Returns a formatted version string for the alias.
  *
  * @param string $alias
  * @param Configuration $configuration
  * @return string
  */
 protected function getFormattedVersionAlias($alias, Configuration $configuration)
 {
     $version = $configuration->resolveVersionAlias($alias);
     if ($version === null) {
         if ($alias == 'next') {
             return 'Already at latest version';
         } elseif ($alias == 'prev') {
             return 'Already at first version';
         }
     }
     if ($version === '0') {
         return '<comment>0</comment>';
     }
     return $configuration->getDateTime($version) . ' (<comment>' . $version . '</comment>)';
 }