Comment utiliser les alias de site Drush 8 dans Drush 9?

11

Dans Drush 8, les alias de mon site sont chargés correctement à partir de ~/.drush/mysite.aliases.drushrc.php.

Par exemple

$aliases['dev'] = array(
  'root' => '/var/www/html/mysite.dev/docroot',
  'uri' => 'mysite.prod.acquia-sites.com',
  'remote-host' => 'mysite.ssh.acquia-sites.com',
  'remote-user' => 'mysite.dev',
  'path-aliases' => array(
    '%drush-script' => 'drush' . $drush_major_version,
  ),
);

Cependant, ces alias ne sont pas chargés dans Drush 9.

$ drush site-alias
{  }

Comment définir des alias de site dans Drush 9? Existe-t-il un processus de migration?

Kenorb
la source

Réponses:

14

Les alias sont désormais fournis dans les fichiers YAML. Selon l' exemple de fichier d'alias pour Drush 9 :

Pour convertir l'ancien alias ( *.aliases.drushrc.php) en yml, exécutez la commande site: alias-convert.

Donc, exécutez la commande:

drush site:alias-convert

devrait faire l'affaire.

Clive
la source
1
Notez également que les emplacements de découverte d'alias sont plus limités par défaut en 9.
moshe weitzman
son exécution a généré les fichiers yml, mais ils sont vides pour une raison quelconque.
Ronnie
1
Voici une ventilation un peu plus détaillée des étapes nécessaires au fonctionnement de 9 alias drush. drupal.stackexchange.com/questions/252751/...
TheRealWebGuy
1
Je ne sais pas dans quelle mesure le fichier aliases.drushrc.php d'origine influence cela. Le mien avait trois alias (développement, mise en scène, production), ce qui a généré trois fichiers, qui ne concernaient que le local, mais un avait les trois. Je les ai ensuite divisés en fonction de mes trois versions et j'ai supprimé le reste, qui fonctionne désormais correctement.
Karolus
2

La réponse de Clive est un début, mais comme le note TheRealWebGuy, il y a une autre étape que vous devez prendre.

Je passais de drush 8 à drush 9, et mes alias ne fonctionnaient toujours pas après l'exécution drush site:alias-convert. Une étape supplémentaire que je devais prendre pour que mes nouveaux fichiers d'alias fonctionnent était de s'exécuter drush init. Je l'ai exécuté dans mon répertoire personnel; Je ne sais pas si ça compte.

J'espère que cela permettra aux futurs utilisateurs d'économiser des clics et des recherches supplémentaires.

user1359
la source
drush initcopie les configurations locales (projet) dans vos configurations globales (machine) de drush sur ~/.drush. Faites cela si vous voulez des alias globaux.
wranvaud