Revision of Drush Alias - 進階 Drush 技巧 from Tue, 2011-09-27 11:55

當一部機器有很多 Drupal installation 的時候,
你便會經常:

cd /var/www/site1
drush en -y views

cd /var/www/site2
drush en -y views

再加上測試環境:
cd /var/www/site1_uat
drush en -y views

cd /var/www/site2_uat
drush en -y views

就變得很難維護

使用了 drush alias 之後, 你可以:

//site 1
drush @site1.uat en -y views
drush @site1.live en -y views
//site 2
drush @site2.uat en -y views
drush @site2.live en -y views

在你的 drush folder 內有一個 example folder,
內有一個 example.aliases.drushrc.php
將它抄到 drush folder 內, 改成 site1.aliases.drushrc.php
增加內容:

<?php
 $aliases
['uat'] = array(
  
'root' => '/var/www/site1_uat',
  
'uri' => 'uat.joetsuihk.com',
 );
 
$aliases['live'] = array(
  
'root' => '/var/www/site1',
  
'uri' => 'uat.joetsuihk.com',
 );
?>

site2.aliases.drushrc.php

<?php
 $aliases
['uat'] = array(
  
'root' => '/var/www/site2_uat',
  
'uri' => 'uat.drinkingdrupal.com',
 );
 
$aliases['live'] = array(
  
'root' => '/var/www/site2',
  
'uri' => 'uat.drinkingdrupal.com',
 );
?>

檔名前端是代號, 使用 domain 很合適 (site1, site2 其實不適合)
$aliases 的 key 則應該使用環境代號, 例如 dev, uat, live 等
而 example.aliases.drushrc.php 內有更多例子,
可以使用 ssh 連線到另一台電腦的 drush,
指定資料庫路徑, 然後用 sql-sync 實現 deployment 等等

Google