В 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. С помощью $(...) захватываем вывод подкоманды и передаём результат в основную команду.
Похожие записи
- Актуальный способ создания своей drush команды
- Производительность EntityStorageInterface::load() vs EntityStorageInterface::loadMultiple()
- Отличие методов BaseFieldDefinition::setDefaultValue() и BaseFieldDefinition::setInitialValue()
- Проблема работы с Drush 13.3+ в Cygwin BASH
- Препроцессинг настроек форматтера перед сохранением
Комментарии
А зачем сохранять ноды из консоли, можете пояснить?
@Аноним обновить computed данные, перегенерить синонимы и т.п.
Добавить комментарий