You are here

public function MigrateToolsCommands::resetStatus in Migrate Tools 8.5

Same name and namespace in other branches
  1. 8.4 src/Commands/MigrateToolsCommands.php \Drupal\migrate_tools\Commands\MigrateToolsCommands::resetStatus()

Reset a active migration's status to idle.

@command migrate:reset-status

@validate-module-enabled migrate_tools @aliases mrs, migrate-reset-status

Parameters

string $migration_id: ID of migration to reset.

File

src/Commands/MigrateToolsCommands.php, line 593

Class

MigrateToolsCommands
Migrate Tools drush commands.

Namespace

Drupal\migrate_tools\Commands

Code

public function resetStatus($migration_id = '') {

  /** @var \Drupal\migrate\Plugin\MigrationInterface $migration */
  $migration = $this->migrationPluginManager
    ->createInstance($migration_id);
  if ($migration) {
    $status = $migration
      ->getStatus();
    if ($status == MigrationInterface::STATUS_IDLE) {
      $this
        ->logger()
        ->warning(dt('Migration @id is already Idle', [
        '@id' => $migration_id,
      ]));
    }
    else {
      $migration
        ->setStatus(MigrationInterface::STATUS_IDLE);
      $this
        ->logger()
        ->notice(dt('Migration @id reset to Idle', [
        '@id' => $migration_id,
      ]));
    }
  }
  else {
    $error = dt('Migration @id does not exist', [
      '@id' => $migration_id,
    ]);
    $this
      ->logger()
      ->error($error);
    throw new \Exception($error);
  }
}