Shopware 6.7 Migration: Der ultimative Leitfaden für 2026
Die Migration auf Shopware 6.7 bringt Vue 3, Vite und native PHP-Types. Erfahren Sie, welche Breaking Changes Sie erwarten und wie Sie die Migration erfolgreich meistern.
Shopware 6.7 ist ein Major Release: Mit dem Wechsel zu Vue 3, Vite und nativen PHP-Types tauscht Shopware Administration, Build und Core-Signaturen gleichzeitig aus. Eigene Plugins und Admin-Erweiterungen laufen deshalb nicht ohne Anpassung weiter. Dieser Leitfaden zeigt, was sich ändert, was Sie vor dem Update prüfen und in welcher Reihenfolge Sie migrieren.
Was ist neu in Shopware 6.7?
Die Änderungen betreffen Admin, Backend und Cache. Planen Sie für jeden Bereich Zeit ein:
Frontend: Vue 3 und Vite
Vue 3 Composition API: Die Administration nutzt jetzt die moderne Composition API statt der Options API
Pinia statt Vuex: Der State-Management-Store wurde komplett auf Pinia umgestellt
Vite Build-System: Webpack wurde durch Vite ersetzt - deutlich schnellere Builds
Meteor UI Komponenten: Neue CSS-Klassen (mt-* statt sw-*)
Backend: Native PHP-Types
Strikte Typisierung: Alle Core-Methoden nutzen jetzt native PHP-Types statt DocBlocks
PHP 8.2+ erforderlich: Mindestanforderung wurde angehoben
Entity Extensions: getDefinitionClass() statt getDefinition()
Caching: Komplett neues System
Das Cache-System wurde vollständig überarbeitet. Ein Opt-Out ist nicht möglich - alle Plugins müssen auf das neue System migriert werden.
Migrationscheckliste: Vor dem Update
1. Plugin-Kompatibilität prüfen
Der wichtigste Schritt: Prüfen Sie alle installierten Plugins auf 6.7-Kompatibilität.
# Alle installierten Plugins auflisten
bin/console plugin:list
# Auf verfügbare Updates prüfen
composer outdated 'store.shopware.com/*'Für Custom-Plugins gelten folgende Prüfpunkte:
EntityExtension-Klassen: getDefinitionClass() implementieren
Admin-Komponenten: Vue 3 Composition API migrieren
CSS-Selektoren: sw-* zu mt-* aktualisieren
Vuex-Stores: Zu Pinia migrieren
2. PHP-Code auf strikte Types anpassen
Alle überschriebenen Core-Methoden müssen die korrekten Return-Types haben:
// VORHER (6.6)
class MyEntityExtension extends EntityExtension
{
public function getDefinition()
{
return ProductDefinition::class;
}
}
// NACHHER (6.7)
class MyEntityExtension extends EntityExtension
{
public function getDefinitionClass(): string
{
return ProductDefinition::class;
}
}3. Admin-Komponenten migrieren
Die Migration von Vue 2 auf Vue 3 betrifft alle Admin-Erweiterungen:
// VORHER (Vue 2 Options API)
Component.register('my-component', {
data() {
return {
loading: false
};
},
computed: {
...mapState('myStore', ['items'])
},
methods: {
async loadData() {
this.loading = true;
// ...
}
}
});
// NACHHER (Vue 3 Composition API)
Component.register('my-component', {
setup() {
const loading = ref(false);
const myStore = useMyStore(); // Pinia
const items = computed(() => myStore.items);
async function loadData() {
loading.value = true;
// ...
}
return { loading, items, loadData };
}
});4. CSS-Selektoren aktualisieren
Alle sw-* Klassen wurden durch mt-* (Meteor UI) ersetzt:
/* VORHER */
.sw-card { ... }
.sw-button { ... }
.sw-switch-field { ... }
/* NACHHER */
.mt-card { ... }
.mt-button { ... }
.mt-switch { ... }Schritt-für-Schritt Migration
Schritt 1: Backup erstellen
# Datenbank-Backup
mysqldump -u USER -p DATABASE > backup_pre_67.sql
# Dateisystem-Backup
tar -czvf backup_files_pre_67.tar.gz /var/www/shopware/Schritt 2: Composer-Abhängigkeiten aktualisieren
# composer.json anpassen
composer require "shopware/core:~6.7.0" \
"shopware/administration:~6.7.0" \
"shopware/storefront:~6.7.0" \
"shopware/elasticsearch:~6.7.0" --update-with-dependenciesSchritt 3: Datenbank-Migration ausführen
bin/console database:migrate --all
bin/console dal:refresh:index
bin/console cache:clearSchritt 4: Admin-Build neu erstellen
# Vite Build statt Webpack
bin/console bundle:dump
bin/console theme:compile
npm --prefix vendor/shopware/administration/Resources/app/administration run buildHäufige Probleme und Lösungen
Problem: Cypress-Tests schlagen fehl
Shopware 6.7 lädt Admin-Seiten asynchron. Tests müssen auf den Content warten:
// Warten auf Page-Content statt nur URL
cy.get('.sw-page__content').should('exist');
cy.get('.mt-card').should('be.visible');Problem: DBAL-Fehler bei Queries
Shopware 6.7 nutzt DBAL 4 mit strikteren Types:
// VORHER
$connection->executeQuery('SELECT * FROM product WHERE id = ?', [$id]);
// NACHHER - explizite Type-Bindings
$connection->executeQuery(
'SELECT * FROM product WHERE id = ?',
[Uuid::fromHexToBytes($id)],
[ParameterType::BINARY]
);Performance-Vorteile nach der Migration
Die Migration lohnt sich - unsere Benchmarks zeigen deutliche Verbesserungen:
Admin-Build: 60% schneller dank Vite
Hot Module Replacement: Änderungen erscheinen in unter 100ms
Bundle-Größe: ~30% kleiner durch Tree-Shaking
PHP-Performance: Schnellere Type-Checks durch native Types
Fazit: Migration jetzt planen
Wer Plugins, Admin-Komponenten und Tests vorher durchgeht, hat das Update auf 6.7 je nach Anzahl eigener Erweiterungen in wenigen Tagen bis Wochen hinter sich.
Wir übernehmen das gern für Sie, von der Plugin-Prüfung über Tests auf einer Kopie des Live-Shops bis zum Rollout. Wie wir dabei vorgehen, steht auf unserer Seite zu Shopware Updates & Upgrades. Eine Aufwandsschätzung für Ihren Shop bekommen Sie im Erstgespräch.
Häufig gestellte Fragen (FAQ)
Wie lange dauert die Migration auf Shopware 6.7?
Das hängt von der Anzahl und Komplexität Ihrer Custom-Plugins ab. Shops ohne Custom-Entwicklung können in 1-2 Tagen migriert werden. Bei umfangreichen Anpassungen rechnen Sie mit 2-4 Wochen.
Muss ich alle Plugins neu schreiben?
Nein. Die meisten Backend-Plugins benötigen nur kleinere Anpassungen (Type-Hints, Method-Signatures). Admin-Erweiterungen mit Vue-Komponenten erfordern mehr Arbeit wegen der Vue 3 Migration.
Kann ich die Vue 3 Migration überspringen?
Nein. Shopware 6.7 unterstützt ausschließlich Vue 3. Die Migration ist zwingend erforderlich für alle Admin-Erweiterungen.
Wird Shopware 6.6 weiter unterstützt?
Ja, aber der Support für 6.6 endet planmäßig. Planen Sie die Migration zeitnah, um Sicherheitsupdates und neue Features nicht zu verpassen.