/** * @param Configuration $configuration * * @throws ExecutedUnavailableMigrationsException */ protected function checkIfNotExecutedUnavailableMigrations(Configuration $configuration) { $executedUnavailableMigrations = array_diff($configuration->getMigratedVersions(), $configuration->getAvailableVersions()); if (count($executedUnavailableMigrations) > 0) { throw new ExecutedUnavailableMigrationsException($executedUnavailableMigrations); } }
/** * @param array $migrations * @param Configuration $configuration */ protected function showVersions(array $migrations = [], Configuration $configuration) { $migratedVersions = $configuration->getMigratedVersions(); foreach ($migrations as $version) { $isMigrated = in_array($version->getVersion(), $migratedVersions); $status = $isMigrated ? '<info>migrated</info>' : '<error>not migrated</error>'; $migrationDescription = ''; if ($version->getMigration()->getDescription()) { $migrationDescription = str_repeat(' ', 5) . $version->getMigration()->getDescription(); } $formattedVersion = $configuration->getDateTime($version->getVersion()); $this->line(' <comment>>></comment> ' . $formattedVersion . ' (<comment>' . $version->getVersion() . '</comment>)' . str_repeat(' ', 49 - strlen($formattedVersion) - strlen($version->getVersion())) . $status . $migrationDescription); } }