Renato Vasconcellos Gomes
renato@taller.net.br
Drush
O poder do Drupal
na linha de comando
O que vem pela frente?
● O que é Drush
● Instalação
● Documentação
● Links interessantes
● Comandos basicos
● Comandos Personalizados
● Drush make
● Drush para Devs
● Extras
O QUE É DRUSH?
Drush é uma interface
de linha de comando
para o Drupal.
drush.org
PORQUE USAR?
Aumento de
Produtividade
Drush: More beer, less effort
vimeo.com/5207683
● Executar consultas SQL
● Migrações de banco de dados
● Backups
● Recuperar/redefinir senhas
● Execução da cron
● Automação de rotinas
● Comandos personalizados
● Etc
Algumas possibilidades...
Instalação
$ cd $HOME
$ curl -sS https://getcomposer.org/installer | php
$ sudo mv composer.phar /usr/local/bin/composer
Composer
$ composer global require drush/drush:7.*
$ sed -i '1i export PATH="$HOME/.composer/vendor/bin:$PATH"'
$HOME/.bashrc
$ source $HOME/.bashrc
Drush via Composer
Documentação
Oficial
drush.org
Comunidade
drushcommands.com
IRC
#drush
freenode.org
COMANDOS
BÁSICO
$ drush si standard --db-url=mysql://root:pass@host/db
$ drush ucrt user_name --password=123456
$ drush urol administrator --name=user_name
$ drush arquive-dump default
$ drush sqlq “select * from system”
COMANDOS
PERSONALIZADOS
function my_module_drush_command() {
$items = array();
$items['custom-command'] = array(
‘description’ => ‘My custom command’,
‘alias’ => array(‘ccm’),
);
return $items;
}
function drush_custom_command() {
/* Your code here */
}
my_module.drush.inc
DRUSH MAKE
DRUPAL 7
# Drush make example - Install Drupal 7
core = 7.x
api = 2
projects[] = drupal
https://raw.githubusercontent.com/drush-ops/drush/master/examples/example.make
COMO USAR
$ cd path/to/drupal
$ drush make path/to/file/file_name.make
Site Aliases
$aliases[local] = array(
'uri' => 'example.local',
'root' => str_replace('drush/aliases', 'docroot', dirname
(__FILE__)),
);
$aliases['stage'] = array(
'uri' => 'stage.example.com',
'root' => '/var/www/stage.example.com/docroot',
'remote-host' => 'example.com',
'remote-user' => 'user',
);
project.aliases.drushrc.php
COMO USAR
$ cd path/to/drupal
# Limpar todos os caches de Stage remotamente.
$ drush @project.stage cc all
# importar DB de Stage para Local.
$ drush sql-sync @project.stage @project.local
Módulos
Complementares
Módulo
Módule builder
drupal.org/project/module_builder
Módulo Genova
drupal.org/project/genova
Módulo
Drush Clone
drupal.org/project/drush_clone
Módulo
Drush Entity
drupal.org/project/drush_entity
Módulo
Drush Issue
Queue Commands
drupal.org/project/drush_iq
E NO DRUPAL 8?
DRUPAL CONSOLE
drupalconsole.com
drupalconsole.com
● @revagomes
● about.me/revagomes
● renato@taller.net.br
Obrigado!

Drush - O poder do Drupal na linha de comando