private function mark($version, $all = false) { if (!$this->configuration->hasVersion($version)) { throw MigrationException::unknownMigrationVersion($version); } $version = $this->configuration->getVersion($version); if ($this->markMigrated && $this->configuration->hasVersionMigrated($version)) { $marked = true; if (!$all) { throw new \InvalidArgumentException(sprintf('The version "%s" already exists in the version table.', $version)); } } if (!$this->markMigrated && !$this->configuration->hasVersionMigrated($version)) { $marked = false; if (!$all) { throw new \InvalidArgumentException(sprintf('The version "%s" does not exists in the version table.', $version)); } } if (!isset($marked)) { if ($this->markMigrated) { $version->markMigrated(); } else { $version->markNotMigrated(); } } }
public function hasVersion($version) { $this->doRegister(); return parent::hasVersion($version); }