The Shopware Migration Assistant establishes a connection between a data source and Shopware 6 and guides you step by step through the migration process.
It supports migrating numerous datasets (products, manufacturers, customers, …) and updating them at any time. Before a migration starts, the assistant runs a data check and supports creating “mappings” to resolve missing/unassignable data (for example: assign missing manufacturers to a default manufacturer) to avoid data loss.
- Documentation
- Shopware 5
- Requirements
- Installation
- Developer setup
- Common workflows
- Release notes / upgrades
- License
- User documentation: Shopware Migration docs
- Developer documentation: Migration Assistant developer docs
When migrating from Shopware 5, you can migrate locally or connect via the “Migration Connector” plugin from the Shopware Store:
- Migration Connector: Shopware Store listing
The connector provides API endpoints so Shopware 6 can establish a secure connection to the Shopware 5 shop. Keep it enabled as long as you need updates/delta migrations.
- Shopware:
shopware/core(see version herecomposer.json) - Node.js / npm: required for administration and JS tooling (lint/unit/acceptance)
- MySQL client: required for importing Shopware 5 fixture data (optional)
Expected path (relative to your Shopware 6 project root) for the plugin:
custom/plugins/SwagMigrationAssistant
From the shopware root directory:
bin/console plugin:refresh
bin/console plugin:install -a -c SwagMigrationAssistantAlternatively, use the provided shortcut:
composer setup- Install JS dependencies (administration + Jest + Playwright project):
composer npm:init- Install git pre-commit hook (optional):
./bin/setup.shRun everything (PHP + admin):
composer lintRun individual parts:
composer ecs
composer phpstan
composer phpunit
composer admin:lint # eslint
composer admin:format # prettier- PHPUnit:
composer phpunit- Administration unit tests (Jest):
composer admin:unit- Acceptance tests (Playwright):
composer admin:acceptanceMore details (including Playwright install steps) can be found in the acceptance tests README.
Visual regression tests compare screenshots against baseline images. When UI changes are intentional, update the snapshots via CI to ensure consistency across environments:
- Go to Actions > Acceptance workflow
- Click Run workflow
- Check Update snapshots
- Run the workflow and wait for completion
- Download the
visual-snapshots-trunkartifact - Extract and replace
tests/acceptance/snapshots/with the downloaded files - Commit the updated snapshots to your branch
This imports tests/_fixtures/database/shopware55.sql into the database configured in your Shopware root .env via DATABASE_URL.
composer install5db- Changelog:
CHANGELOG.md - Breaking changes:
UPGRADE.md
MIT See LICENSE.