Drush Integration

Last updated on
27 January 2026

Overview

The Menu Migration module provides seven Drush commands for managing menu exports, imports, and cloning operations:

  1. Export menus - Execute a Menu Export configuration entity
  2. List exports - Display all available Menu Export configuration entities
  3. Import menus - Execute a Menu Import configuration entity
  4. List imports - Display all available Menu Import configuration entities
  5. Quick export - Export menus directly by menu ID without requiring a Menu Export configuration entity
  6. Quick import - Import menus directly by menu ID without requiring a Menu Import configuration entity
  7. Quick clone - Clone menu items from one menu to another without requiring configuration entities

Important: The export and import commands (1 & 3) require a Menu Export or Menu Import configuration entity that supports Drush execution. You can verify Drush support in the Drush command column of the Menu Exports and Menu Imports listing tables, or by using the listing commands (2 & 4). The quick commands (5, 6 & 7) operate independently and do not require configuration entities.

Finding IDs: The MENU_EXPORT_ID and MENU_IMPORT_ID can be found in the ID column of the Menu Exports and Menu Imports listing tables. You can also copy the complete Drush command directly from the Drush command column.

Tip: Use drush menu_migration to list all available Menu Migration commands.

Export Command

Executes a Menu Export configuration entity to export menu structures.

  • Command: drush menu_migration:export MENU_EXPORT_ID
  • Alias: drush mme MENU_EXPORT_ID

Examples:

# Export the Menu Export with ID my_export_id
drush menu_migration:export my_export_id

# Export the Menu Export with ID my_export_id and skip confirmation
drush menu_migration:export my_export_id -y

# Using the alias
drush mme my_export_id -y

Export List Command

Lists all available Menu Export configuration entities.

  • Command: drush menu_migration:export-list
  • Alias: drush mmel
# List all available export entities (full command)
drush menu_migration:export-list

# List all available export entities (alias)
drush mmel

Import Command

Executes a Menu Import configuration entity to import menu structures.

  • Command: drush menu_migration:import MENU_IMPORT_ID
  • Alias: drush mmi MENU_IMPORT_ID

Examples:

# Import the Menu Import with ID my_import_id
drush menu_migration:import my_import_id

# Import the Menu Import with ID my_import_id and skip confirmation
drush menu_migration:import my_import_id -y

# Using the alias
drush mmi my_import_id -y

Import List Command

Lists all available Menu Import configuration entities.

  • Command: drush menu_migration:import-list
  • Alias: drush mmil
# List all available import entities (full command)
drush menu_migration:import-list

# List all available import entities (alias)
drush mmil

Quick Export Command

Exports menus directly by specifying menu IDs, without requiring a Menu Export configuration entity. The export destination and format are controlled by the Quick Action Settings.

  • Command: drush menu_migration:quick-export MENU_IDS
  • Alias: drush mmqe MENU_IDS

Note: This command provides the same functionality as the pre-version 4.0 export command.

Examples:

# Export the main menu
drush menu_migration:quick-export main

# Export the main menu and override the format
drush menu_migration:quick-export main --format=yaml

# Export multiple menus
drush menu_migration:quick-export main,footer,custom_menu

# Export multiple menus and skip confirmation
drush menu_migration:quick-export main,footer,custom_menu -y

# Using the alias
drush mmqe main --format=yaml

Quick Import Command

Imports menus directly by specifying menu IDs, without requiring a Menu Import configuration entity. The import source and format are controlled by the Quick Action Settings.

  • Command: drush menu_migration:quick-import MENU_IDS
  • Alias: drush mmqi MENU_IDS

Note: This command provides the same functionality as the pre-version 4.0 import command.

Examples:

# Import the main menu
drush menu_migration:quick-import main

# Import the main menu and override the format
drush menu_migration:quick-import main --format=yaml

# Import multiple menus
drush menu_migration:quick-import main,footer,custom_menu

# Import multiple menus and skip confirmation
drush menu_migration:quick-import main,footer,custom_menu -y

# Using the alias
drush mmqi main --format=yaml

Quick Clone Command

Clones menu items from a source menu to a target menu, without requiring Menu Export or Menu Import configuration entities. This command was added in version 4.1.0.

  • Command: drush menu_migration:quick-clone SOURCE_MENU TARGET_MENU
  • Alias: drush mmqc SOURCE_MENU TARGET_MENU

Tip: Use the --create-target option to automatically create the target menu if it doesn't exist. Without this option, the target menu must already exist.

Examples:

# Clone menu items from main menu to clone_main menu
drush menu_migration:quick-clone main clone_main

# Clone to a new menu, creating it if it doesn't exist
drush menu_migration:quick-clone main new_menu --create-target

# Clone menu items and skip confirmation
drush menu_migration:quick-clone main clone_main -y

# Using the alias with both options
drush mmqc main new_menu --create-target -y

Help improve this page

Page status: No known problems

You can: