[Drush] Frequently used drush commands
As part of Drupal development project, we always use drush commands. Drush or Drupal shell refers to a command-line shell and scripting interface for Drupal. Drush enables developers to effectively manage and maintain their Drupal websites from the server command line. A few frequently used commands are listed below.
Download a module.
drush dl module-name
It will download the latest recommended module release from drupal site.
drush dl --select module-name
It will show all available versions. Then we can select the option that we want.
Enable a module.
drush en module-name
It will ask to download the module, if it's not found.
Disable a module.
drush dis module-name
Uninstall and Reinstall a module
drush dre module-name
Update a module.
drush up module-name
Run update.php
drush updb
Run tests.
drush test-run
This will run tests, if you use automated testing. Note that you must use the --uri option. URI of the drupal site to be used (only needed in multisite environments or when running on an alternate port).
Clear the cache.
drush cc all
To clear all cached data from site
drush cc css-js
To clear all css and js cache from site
Clear all the cache data, even if Drupal is broken.
drush sql-query "DELETE FROM cache"
sql-query command executes sql queries in the database where Drupal is installed.
Set a password for a user.
drush upwd --password="asdf" admin
To revert a custom feature, update the database to match the code.
drush fr feature_name
Run cron.
drush cron
Flush image styles.
drush image-flush all
Set a variable.
drush vset variable_name 'value'.
Get the value of a variable.
drush vget variable_name
Open a MySQL console logged in.
drush sql-cli
Export a backup of the database.
drush sql-dump | gzip --stdout > filename.sql.gz
Remove all database tables (empty the database).
drush sql-drop
This command is useful before importing a database backup of the site.
If you want to see all the main information and status of the site.
drush status
Create a user account.
drush user-create <user-name> --mail="[email protected]"
If you regularly use drush commands in drupal applications development, this will definitely help you a lot.