35
Renato Vasconcellos Gomes [email protected] Drush O poder do Drupal na linha de comando

Drush - O poder do Drupal na linha de comando

Embed Size (px)

Citation preview

Renato Vasconcellos [email protected]

DrushO 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 interfacede linha de comando

para o Drupal.

drush.org

PORQUE USAR?

Aumento de Produtividade

Drush: More beer, less effortvimeo.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

Oficialdrush.org

Comunidadedrushcommands.com

IRC

#drushfreenode.org

COMANDOSBÁ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”

COMANDOSPERSONALIZADOS

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 Genovadrupal.org/project/genova

MóduloDrush Clone

drupal.org/project/drush_clone

MóduloDrush Entity

drupal.org/project/drush_entity

MóduloDrush Issue

Queue Commandsdrupal.org/project/drush_iq

E NO DRUPAL 8?

DRUPAL CONSOLEdrupalconsole.com

● @revagomes

● about.me/revagomes

[email protected]

Obrigado!