Nearly twelve years after the initial stable release of Drush, Drush 9.4.0 has been released. It is now possible to try out Drush 9 on the Pantheon platform by following the steps shown below.
Importing Configuration from Site Install
Prior to Drupal 8.6.0, Drush had its own feature for importing configuration. The site’s configuration would be stored in an external location and imported during the site-install command. For earlier versions of Drupal, this method can continue to be used. Starting with Drupal 8.6.0, though, the configuration should be placed in the sync folder and imported with the new Drupal-native feature. Add the --existing-config option to enable this feature.
The method for importing configuration during site install is summarized in the table below:
|Drupal 8.5.x and earlier||Drupal 8.6.0 and later|
|drush site:install --config-dir=path||drush site:install --existing-config|
Site Alias Location Filter and Refactor
Drush 9 made alias searching much faster than it was in Drush 8; however, this performance increase came at the expense of some of the flexibility offered by the earlier version of Drush. Now, in Drush 9.4.0, the “alias groups” feature has returned as the site alias “location filter” feature. This feature allows alias files to be placed in separate folders in order to differentiate sites with the same base alias name. This capability is very helpful for people migrating a site from one hosting provider to another. This new feature is described in more detail below.
Drush 9 Preview on Pantheon
It is now possible to use a “preview” release of Drush 9.4.0 on Pantheon. If you would like to try out Drush 9, follow the steps below:
- Install cgr on your local system
- Use cgr to install Drush 9 globally via: cgr drush-ops/drush:^9
- Install Terminus
- Install the Terminus Aliases Plugin
- Fetch all of your Pantheon aliases via: terminus alpha:aliases
- Optional, but recommended: remove the site-local Drush from any Composer-managed site you have via: composer remove drush/drush
Removing the site-local Drush from your Composer-managed sites will allow you to use either Drush 8 or Drush 9 extensions.
- If there is a site-local Drush in a Drupal site, that is the only one that can be used.
- The Drush Behat Extension has not been ported to Drush 9, so the Behat tests in the example-drops-8-composer project will not work.
- The archive-dump and archive-restore commands are not yet available in Drush 9; use Drush 8 to import new sites on Pantheon.
- The Site Audit extension has not been ported to Drush 9. The Pantheon platform will attempt to use Drush 8 when generating the Status Report on the dashboard; however, this will not work for Composer-managed sites unless you remove drush/drush as previously recommended.
The alpha:aliases command is a “preview” release that will write both Drush 8 and Drush 9 aliases for all of the Pantheon sites that you have access to. You will be able to run Drush operations on your remote Pantheon sites as follows:
drush @pantheon.mysite.dev status
That command will display the Drush status report for the dev environment of “mysite” on Pantheon. If you use Drush 8 locally, then Drush 8 will also be used on Pantheon; if you use a Drush 9 installation locally, then Drush 9 will also be used on Pantheon.
You can list all of your available aliases with the following command:
drush site:alias @pantheon --format=list
This will show all environments for all sites. If you want to see all of the environments for just one site, then replace the @pantheon parameter above with @pantheon.mysite. These commands work the same in Drush 8 and Drush 9.
Keep your eye on or subscribe to Pantheon’s Changelog for news on improvements to Drush 9 on the platform.Once any kinks are worked out, we will generally release Drush 9 on the platform.
More Information on Drush 9.4.0
For more information on the other minor enhancements and bug fixes in Drush 9.4.0, please see the release notes.
Photo credit: Shuttle landing in Space 1999.
You may also like:
Topics: Development, Drupal