Nwidart\Modules\Migrations\Migrator::rollback PHP Method

rollback() public method

Rollback migration.
public rollback ( ) : array
return array
    public function rollback()
    {
        $migrations = $this->getLast($this->getMigrations(true));
        $this->requireFiles($migrations->toArray());
        $migrated = [];
        foreach ($migrations as $migration) {
            $data = $this->find($migration);
            if ($data->count()) {
                $migrated[] = $migration;
                $this->down($migration);
                $data->delete();
            }
        }
        return $migrated;
    }

Usage Example

 /**
  * Rollback migration from the specified module.
  *
  * @param $module
  */
 public function rollback($module)
 {
     if (is_string($module)) {
         $module = $this->module->findOrFail($module);
     }
     $migrator = new Migrator($module);
     $database = $this->option('database');
     if (!empty($database)) {
         $migrator->setDatabase($database);
     }
     $migrated = $migrator->rollback();
     if (count($migrated)) {
         foreach ($migrated as $migration) {
             $this->line("Rollback: <info>{$migration}</info>");
         }
         return;
     }
     $this->comment('Nothing to rollback.');
 }