migrator = $migrator;
}
/**
* Execute the console command.
*
* @return void
*/
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) ? ['Y', $migration] : ['N', $migration];
}
if (count($migrations) > 0) {
$this->table(['Ran?', 'Migration'], $migrations);
} else {
$this->error('No migrations found');
}
}
/**
* Get all of the migration files.
*
* @param string $path
* @return array
*/
protected function getAllMigrationFiles($path)
{
return $this->migrator->getMigrationFiles($path);
}
/**
* Get the console command options.
*
* @return array
*/
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.'],
];
}
}