如何在Drush 9中使用Drush 8网站别名?


11

在Drush 8中,我的网站别名已从正确加载~/.drush/mysite.aliases.drushrc.php

例如

$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,
  ),
);

但是,这些别名未在Drush 9中加载。

$ drush site-alias
{  }

如何在Drush 9中定义网站别名?有迁移过程吗?

Answers:


14

现在,YAML文件中提供了别名。根据示例Drush 9的别名文件

要将旧别名(*.aliases.drushrc.php)转换为yml,请运行site:alias-convert命令。

因此,运行命令:

drush site:alias-convert

应该可以。


1
还要注意的是别名发现的地点更在默认情况下在9限制
摩西·韦茨曼

更新的链接,github.com/drush
ops/

运行此命令会生成yml文件,但由于某些原因它们为空。
罗尼

1
这是使drush 9别名正常工作所需步骤的详细分类。drupal.stackexchange.com/questions/252751/...
TheRealWebGuy

1
不知道原始的aliases.drushrc.php对这个有多大影响。我的里面有三个别名(dev,staging,production),它生成了三个文件,这些文件只与本地有关,但是一个拥有所有这三个文件。然后根据我的三个版本将它们拆分,然后删除其余部分,现在一切正常。
karolus

2

Clive的答案是一个开始,但是正如TheRealWebGuy所指出的,您还必须采取另外的步骤。

我正在从drush 8升级到drush 9,我的别名在运行后仍然无法使用 drush site:alias-convert。为了使新别名文件正常工作,我还需要执行另一个步骤drush init。我在用户主目录中运行它;我不知道这是否重要。

希望这可以为将来的用户节省一些额外的单击和搜索。


drush init将本地(项目)配置复制到您的全局(机器)导出配置~/.drush。如果要全局别名,请执行此操作。
wranvaud
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.