code: protected function migrateToVersion($version)
      {
          $originalVersion = $version;
  
          // try migrate up
          $migrations = $this->getNewMigrations();
          foreach ($migrations as $i => $migration) {
              if (strpos($migration, $version) === 0) {
                  $this->actionUp($i + 1);
  
                  return ExitCode::OK;
              }
          }
  
          // try migrate down
          $migrations = array_keys($this->getMigrationHistory(null));
          foreach ($migrations as $i => $migration) {
              if (strpos($migration, $version) === 0) {
                  if ($i === 0) {
                      $this->stdout("Already at '$originalVersion'. Nothing needs to be done.\n", Console::FG_YELLOW);
                  } else {
                      $this->actionDown($i);
                  }
  
                  return ExitCode::OK;
              }
          }
  
          throw new Exception("Unable to find the version '$originalVersion'.");
      }
docs: Migrates to the certain version.
  @param string $version name in the full format.
  @return int CLI exit code
  @throws Exception if the provided version cannot be found.