¿Puedo eliminar nodos de un tipo de contenido determinado con Drush?

Pregunta:

Me pregunto si Drush es capaz de eliminar nodos de un tipo de contenido determinado.

Algo como: $ drush delete-node --type=MyContentType

Si no es posible, ¿puedo crear un método como ese?

Respuesta:

Podría crear una función como la siguiente:

function MYMODULE_delete_all_the_things() {
  $query = new EntityFieldQuery;

  $result = $query->entityCondition('entity_type', 'node')
    ->propertyCondition('type', 'YOUR-CONTENT-TYPE')
    ->execute();

  if (isset($result['node']) && count($result['node'])) {

    $node_ids = array_keys($result['node']);

    node_delete_multiple($node_ids);
  }
}

Nota: también puede usar una consulta SELECT simple, pero dado que está trabajando con entidades, parece más sensato / práctica común usar EntityFieldQuery .

Esto también debería ser bastante fácil de cambiar o agregar argumentos. También puede ponerlo en un comando de Drush con bastante facilidad; hay un ejemplo de cómo hacer esto en el repositorio de Drush (consulte la sección Comandos cerca de la parte inferior).

Leave a Comment

Your email address will not be published.

Scroll to Top

istanbul avukat

-

web tasarım