예제 #1
0
 /**
  * Reset the migration.
  *
  * @param Migration $migration
  */
 public function reset(Migration $migration)
 {
     $this->input->read($migration);
     foreach ($migration->getFields() as $field) {
         if ($field = $this->fields->findBySlugAndNamespace($field['slug'], $field['namespace'])) {
             $this->fields->delete($field);
         }
     }
 }
 /**
  * Handle the command.
  *
  * @param RollbackFields $command
  */
 public function handle(RollbackFields $command)
 {
     $migration = $command->getMigration();
     $addon = $migration->getAddon();
     $namespace = $migration->getNamespace();
     foreach ($migration->getFields() as $slug => $field) {
         $namespace = array_get($field, 'namespace', $namespace ?: ($addon ? $addon->getSlug() : null));
         if ($field = $this->fields->findBySlugAndNamespace($slug, $namespace)) {
             $this->fields->delete($field);
         }
     }
 }