namespace IlluminateDatabaseConsoleMigrations;
use IlluminateDatabaseMigrationsMigrator;
use SymfonyComponentConsoleInputInputOption;
class StatusCommand extends baseCommand
{
protected $name = 'migrate:status';
protected $description = 'Show the status of each migration';
protected $migrator;
public function __construct(Migrator $migrator)
{
parent::__construct();
$this->migrator = $migrator;
}
public function fire()
{
if (! $this->migrator->repositoryExists()) {
return $this->error('No migrations found.');
}
$this->migrator->setConnection($this->input->getOption('database'));
if (! is_null($path = $this->input->getOption('path'))) {
$path = $this->laravel->basePath().'/'.$path;
} else {
$path = $this->getMigrationPath();
}
$ran = $this->migrator->getRepository()->getRan();
$migrations = [];
foreach ($this->getAllMigrationFiles($path) as $migration) {
$migrations[] = in_array($migration, $ran) ? ['
}
if (count($migrations) > 0) {
$this->table(['Ran?', 'Migration'], $migrations);
} else {
$this->error('No migrations found');
}
}
protected function getAllMigrationFiles($path)
{
return $this->migrator->getMigrationFiles($path);
}
protected function getOptions()
{
return [
['database', null, InputOption::VALUE_OPTIONAL, 'The database connection to use.'],
['path', null, InputOption::VALUE_OPTIONAL, 'The path of migrations files to use.'],
];
}
}//same



