/** * Get a list of all available migrations in a module, most recent * first, highlighting the current version. Each list entry * contains the version number and the migration description. */ protected function getMigrationsWithHighlight(MigrationRunner $runner, AbstractModule $module) { $available = $runner->getAllMigrations($module); $current_version = $runner->getCurrentVersion($module); $migrations = array_map(function ($migration) use($current_version) { if ($migration->getVersion() === $current_version) { return sprintf('<info>%s %s</info>', $migration->getVersion(), $migration->getDescription()); } return sprintf('%s %s', $migration->getVersion(), $migration->getDescription()); }, $available); $zero = ' 0 Revert all migrations'; if ($current_version === 0) { $zero = '<info>' . $zero . '</info>'; } $migrations = [$zero] + $migrations; return $migrations; }