Version:

    Package import using drush

    Overview

    The Site Studio Sync sub module provides two Drush commands that allow package imports. Single package import command for importing a package per command and a multi-package import command, that allows multiple package imports via single command.

    Single package import

    Single package import command allows importing a package from specified or default location. Both individual and full packages are supported:

    sitestudio:package:import


    This command has the following options:

    • --path[=PATH] - Specify path to a directory containing package files. If this option is omitted, command defaults to value set in $settings['site_studio_sync'].
    • --diff[=DIFF] - Show preview as a diff. If this option is provided, confirmation of changes will be required in order for import to complete, unless --yes is also used, to auto-confirm the changes.
    • --extra-validation - Import all configuration and files with default Drupal validation and perform data integrity validation on Site Studio configuration. This import takes more time and resources.

    Adding -h as option will output "Import Cohesion packages from sync." message and the list of available options.

    Package import command tracks what changes are being introduced and rebuilds relevant entities during the command process.

     

    Multi-package import

     

    Multi-package import command allows importing multiple packages based on a a list stored in YAML file. Command syntax is as follows:

    sitestudio:package:multi-import --path=<path/to/package_list.yml>
    

    This command has only one argument - --path. The argument is required and needs to point to a package list file located in accessible part of filesystem.

    Package list file needs to strictly follow specific formatting - it's a YAML format file, where each package is listed as element of an array. Each package definition needs to have package source type (`type`) and relevant metadata (`source`). A sample of what the content of such file could look like is this:

    -
      type: package
      source:
        path: web/sites/default/files/package_collection/blog_feature_package
      options:
        extra-validation: false
    -
      type: package
      source:
        path: web/sites/default/files/package_collection/hero_package
      options:
        extra-validation: true
    

     

    Package list file used in multi-import command is intended to be used with type property set to package. More information on the format of package list file is available here.

    Things to know:

    • No legacy package support - only new package format (introduced in Site Studio 6.8.0) is supported
    • Order matters - packages are imported in the order listed in the package list file, with the package at the top of the list being the first and the package at the bottom being the last.
    • Rebuild is optimised - a single rebuild process runs for all of the imported packages and only runs the least amount of rebuilding necessary.
    • There is  a PackageImportHandler (`cohesion_sync.package_import_handler`) service that allows leveraging this functionality via code.
    DX8 knowledge base icon

    Frequently asked questions

    Get instant answers to common questions. Available online 24/7.

    Find answers

    Raise a ticket icon

    Raise a support ticket

    To raise a ticket, sign into Acquia Cloud and select Help in the top menu.

    Raise support ticket

    Acquia

    Copyright © 2020 Acquia, Inc. All Rights Reserved. Drupal is a registered trademark of Dries Buytaert.