Drupal → Сложные фильтры в drush entity:save и entity:delete

02.04.2025

В Drush есть две команды управления сущностями — entity:save и entity:delete. Команды полезные, но у них очень ограниченная поддержка фильтров — по бандлу, идентификатору и статусу, чего зачастую мало. Выручить могут подкоманды, находящиеся внутри $(). Пример пересохранения нод только на английском языке:

vendor/bin/drush entity:save node \
  $(vendor/bin/drush sql:query "SELECT nid FROM node WHERE langcode='en'" | tr '\r\n' ',')

Здесь мы:

1. С помощью vendor/bin/drush sql:query "SELECT nid FROM node WHERE langcode='en'" получаем идентификаторы нужных нод.
2. С помощью ... | tr '\r\n' ',' объединяем их через запятую.
3. С помощью $(...) захватываем вывод подкоманды и передаём результат в основную команду.

Похожие записи

Комментарии

Аноним
02.04.2025, 09:28

А зачем сохранять ноды из консоли, можете пояснить?

@Аноним обновить computed данные, перегенерить синонимы и т.п.

Добавить комментарий