public function execute(InputInterface $input, OutputInterface $output)
{
$configuration = $this->getMigrationConfiguration($input, $output);
$infos = new MigrationStatusInfosHelper($configuration);
$output->writeln("\n <info>==</info> Configuration\n");
foreach ($infos->getMigrationsInfos() as $name => $value) {
if ($name == 'New Migrations') {
$value = $value > 0 ? '<question>' . $value . '</question>' : 0;
}
if ($name == 'Executed Unavailable Migrations') {
$value = $value > 0 ? '<error>' . $value . '</error>' : 0;
}
$this->writeStatusInfosLineAligned($output, $name, $value);
}
if ($input->getOption('show-versions')) {
if ($migrations = $configuration->getMigrations()) {
$output->writeln("\n <info>==</info> Available Migration Versions\n");
$this->showVersions($migrations, $configuration, $output);
}
if (count($infos->getExecutedUnavailableMigrations())) {
$output->writeln("\n <info>==</info> Previously Executed Unavailable Migration Versions\n");
foreach ($infos->getExecutedUnavailableMigrations() as $executedUnavailableMigration) {
$output->writeln(' <comment>>></comment> ' . $configuration->getDateTime($executedUnavailableMigration) . ' (<comment>' . $executedUnavailableMigration . '</comment>)');
}
}
}
}