Мой Топ-10 drush команд

Многие друпал разработчики наверняка каждый день пользуются drush - утилитой с интерфейсом командной строки, созданной для управления и администрирования Drupal сайтов.
Кто то его использует для работы с друпал проектами : для их скачивания, включения, выключения и деинсталляции.
Также его используют для обновления друпала , для работы с features, для очистки кеша при разработке модулей и тем для друпала, для создания файловых бекапов и бекапов базы данных, а также для многих других целей.

У каждого друпал разработчика есть набор drush команд, который он использует практически каждодневно и знает их вместе со всеми параметрами наизусть. Недавно Blair Wadman на сайте BeFused.com опубликовал статью My top 10 Drush commands, в которой перечислил десять drush команд, которые лично он использует чаще всего и которые наиболее значимы для каждого друпал разработчика как начинающего , так и уже имеющего большой опыт друпал разработки.

В своей же статье я хочу описать десять drush команд, которые лично я использую чаще всего.
Вполне естественно, что список моих команд будет пересекаться со списком Blair Wadman. Но в моем топе также есть и значительные отличия.

Некоторые команды я решил объединить,так как они выполняют функционал близких друг к другу задач.


Итак, вот мой Топ-10 drush команд:

1. pm-download (dl) & pm-enable (en) & pm-disable (dis) & pm-uninstall

Эти команды нужны для работы с друпал проектами(модулями и темами):

pm-download - загружает проект или список проектов
pm-enable - включает проект или список проектов
pm-disable - выключает проект или список проектов
pm-uninstall - деинсталлирует проект или список проектов


$ drush dl project_name
$ drush en project_name
$ drush dis project_name
$ drush pm-uninstall project_name

2. cache-clear (cc) & core-cron (cron)

cache-clear - очищает кеш с указанием типа кеша
Полезен при разработке модулей и тем.
Возможные значения типов: theme-registry, menu, css-js, block, module-list, theme-list, registry, token, views или all - очищает весь кеш.

core-cron - запускает выполнение крона


$ drush cache-clear all
$ drush cron

3. site-install (si)

Выполняет инсталляцию друпала с возможностью указания профиля установки, логина и пароля user:uid:1, параметров подключения к БД.
Значительно ускоряет и упрощяет процесс инсталляции по сравнению с инсталляцией через веб-интерфейс.


$ drush site-install standard --account-name=admin --account-pass=pass --db-url=mysql://root:pass@localhost:port/dbname

4. archive-dump (ard) & archive-restore (arr) (sql-dump & sql-cli (sqlc))

Эти команды нужны для создания и восстановления бекапов файлов и базы данных.

archive-dump - делает бекап файлов и базы данных
archive-restore - восстанавливает файлы и базу данных из ранее созданного бекапа
sql-dump - делает бекап базы данных
sql-cli - имортирует базу данных из бекапа


$ drush archive-dump default --destination=/backups/mysite.tar
$ drush archive-restore ./example.tar.gz
$ drush sql-dump > ~/my-sql-dump-file-name.sql
$ drush sql-cli < ~/my-sql-dump-file-name.sql

5. fn-hook (fnh, hook) & fn-view (fnv)

fn-hook - выводит список имплементаций указанного хука и показывает исходный код выбранного
Принимает параметром имя хука , показывает список модулей, имплементирующих указанный хук, и при выборе модуля показывает код функции-имплементации хука.

fn-view - показывает исходный код функции


$ drush fnh form_alter
$ drush fnv drupal_set_breadcrumb

6. pm-update (up) (= pm-updatecode (upc) + updatedb (updb))

Обновляет файлы друпал установки(pm-updatecode) и выполняет обновления для базы данных(updatedb).
Возможно обновление только указанных проектов или обновление модулей, не обновляя ядро.


$ drush up 
$ drush up views ctools token
$ drush up --no-core

7. user-password (upwd) & user-login (uli)

Эти команды служат для восстановления пароля от аккаунта администратора.

user-password - устанавливает новый пароль для указанного пользователя
user-login - генерирует и отображает временную ссылку для восстановления указанного аккаунта


$ drush upwd --password="givememypasswordback" admin
$ drush user-login admin

8. variable_get (vget) & variable_set (vset)

Данные команды необходимы для работы с переменными сайта(variables), которые хранятся в базе данных и нужны для конфигурирования сайта.

variable_get - получает значение переменой по ее имени
variable_set - устанавливает значение для указанной переменной


$ drush vget theme_default
$ drush vset theme_default bartik‎

9. sql-query (sqlq)

Выполняет SQL запрос передаваемый в параметр


$ drush sql-query "SELECT * FROM users WHERE uid=1"

10. user-create (ucrt) & user-add-role (urol) & user-information (uinf)

Эти команды нужны для удобного управления пользователями.

user-create - создает нового пользователя
user-add-role - добавляет роль указанному пользователю
user-information - показывает информацию о пользователе


$ drush user-create newuser --mail="person@example.com" --password="letmein"
$ drush user-add-role role_name newuser
$ drush user-information newuser

Если среди перечисленных мною команд нету тех, которыми Вы привыкли часто пользоваться , то пишите их в комментариях.
С удовольствием послушаю о ваших предпочтениях, тем более что я описал только команды используемые для ядра друпала и модулей ядра.
Быть может у кого-нибудь есть предпочтительные команды для работы с контрибными модулями.

Ссылки по теме: Онлайн справочник drush команд