/** * @param array $aggregates * @param Version $version * * @throws DuplicateVersionException */ public function registerMigration(array $aggregates, Version $version) { if ($this->migrationsInFile->containsKey($version->__toString())) { throw new \RuntimeException(sprintf('Migration version %s already registered.', $version->__toString())); } $this->migrationsInFile->set($version->__toString(), new Migration($aggregates, $version, new \DateTime())); }
/** * @param Version $applicationVersion * * @return string */ protected function getApplicationKey(Version $applicationVersion) { return str_replace('.', '_', $applicationVersion->__toString()); }
/** * @param Version $version * * @return bool */ public function hasMigration(Version $version) { return $this->store->containsKey($version->__toString()); }
/** * @param Version $version * * @return string */ protected function versionToDirectory(Version $version) { return sprintf('V%s', str_replace('.', '_', $version->__toString())); }