Skip to main content
Last Reviewed: December 13, 2022

Prepare


Info:
Note

Follow the steps in the Composer Conversion Guide to ensure that your site is ready for upgrade to the latest version of Drupal.

Ensure Dependencies are Compatible

You must confirm that your site is compatible with the latest version of Drupal before you change the Drupal core version.

Review the steps below to confirm compatibility for your site's components.

  1. Update to the latest version of MariaDB in all environments.

  2. Use Upgrade Status to check the compatibility of all contributed modules and themes.

  3. Convert your site to Composer if you plan to use the Upgrade Status module to assist in your upgrade.

  4. Update all contributed projects and verify that they are compatible with the latest version of Drupal.

  5. Update your custom code to make it compatible with the latest version of Drupal.

  6. Update your core codebase to the latest version of Drupal.

  7. Run update.php to update your PHP version.

You can find step-by-step instructions on the above items in Drupal's Upgrade documentation.

Verify the Repository

  1. Check that your site has the Pantheon drupal-composer-managed repo in its upstream.

  2. Use Terminus to confirm the drupal-composer-managed upstream:

    terminus site:info $SITE 

    The following values indicate that a site is using the drupal-composer-managed upstream:

    • The Framework is drupal8

    • The Upstream includes https://github.com/pantheon-upstreams/drupal-composer-managed

      The following is an abridged example of the output for the terminus site:info $SITE command, if the site upstream is set to drupal-composer-managed:

      terminus site:info $SITE
      ------------------ -------------------------------------------------------------------------------------
      ID                 abdc3ea1-fe0b-1234-9c9f-3cxeAA123f88
      Name               anita-drupal
      Label              AnitaDrupal
      Created            2019-12-02 18:28:14
      Framework          drupal8
      ...
      Upstream           897fdf15-992e-4fa1-beab-89e2b5027e03: https://github.com/pantheon-upstreams/ drupal-composer-managed...
      ------------------ -------------------------------------------------------------------------------------

Prepare the Local Environment

  1. Review our documentation on Git, Composer, and Terminus, and install and configure them on your local computer. Pantheon requires Composer 2 at minimum.

    • Mac users can use Homebrew to install Git, Composer, and PHP, along with their required dependencies. Note: Terminus 3 should be used for PHP >= 8.0. Restart the shell or terminal environment after entering the following command:

      brew install git composer php
    • Windows users can install Composer and Git, and may need to install XAMPP or similar to satisfy some dependencies.

  2. Set the temporary variable $SITE in your terminal session to match the name of your site.

    This doc uses several commands that use the temporary command line alias, $SITE, to make entering command examples easier. Refer to the steps further in this doc to see which sites should be aliased (it may be more than one), then replace anita-drupal in this example:

    export SITE=anita-drupal && echo "New alias set as $SITE"
    How to Use Terminus to Find the Site Name

    Use terminus site:list for a list of sites you have access to:

    terminus site:list
    --------------------------- --------------------- ------------- ----------------------------------- -------------------- --------------------- ------------- ------------
    Name                        ID                    Plan          Framework          Region           Owner                Created               Memberships   Is Frozen?
    --------------------------- --------------------- ------------- ------------------- ---------------- -------------------- --------------------- ------------- ------------
    anita-drupal                abdc80ce-286c-1234-   Sandbox       drupal8             Canada           3374708c-987e-1234   2020-12-15 19:40:42   d3ecc20c-395a falseanita-wordpres              abdc9954-fab2-1234-   Sandbox       wordpress           United States    c96ddb25-336a-1234   2020-09-02 07:18:51   d3ecc20c-395a false

    The site name is listed under Name. In this example, the site name is anita-drupal.

  3. Create a new folder to use while working on the migration. This folder will contain two subdirectories that you'll create in the next sections, one for the site on the former platform, and one for the Pantheon site.

Apply All Available Upstream Updates

Update the site to the latest Pantheon Drupal Composer Managed Upstream and apply all available updates.

  1. Use Terminus to list all available updates:

    terminus upstream:updates:list $SITE.dev
    [warning] There are no available updates for this site.
  2. Run the following code to apply available updates:

    terminus upstream:updates:apply $SITE.dev --updatedb

You can also use the Pantheon Dashboard to apply upstream updates.