Pimcore 11 auf 12 migrieren – Lizenzgate zuerst, dann die Technik.
Der Sprung von Pimcore 11.5 auf 12 ist kein reines Composer-Update. Bevor der erste Befehl läuft, steht eine Lizenzentscheidung: Danach folgen Collation, DBAL und Generic Data Index in genau dieser Reihenfolge.
Ein 11-auf-12-Upgrade wird in den meisten Projektplänen wie ein technischer Zwischenschritt behandelt: ein paar Composer-Befehle, ein Deployment, fertig. In der Praxis ist die erste Hürde keine technische, sondern eine Lizenzentscheidung: Ab Pimcore 12 gilt für die Community Edition die POCL statt GPLv3, und ohne registrierten Product Key schlägt bereits der Build fehl. Wer diese Reihenfolge umdreht und erst technisch migriert, dann über die Lizenz nachdenkt, riskiert einen fertigen Migrationsplan, der am Ende an einer Frage scheitert, die von Anfang an hätte geklärt werden können.
Phase 0: das Lizenzgate, bevor der erste Composer-Befehl läuft
Vier Punkte gehören vor jede technische Planung: der Wechsel von GPLv3 zu POCL für die Community Edition, die seit 12.0 verpflichtende Produktregistrierung, ohne gültigen, unter license.pimcore.com registrierten Product Key startet kein Build –, die 1.480-Euro-Einmallizenz für die klassische Admin-UI auf Community, und die Tatsache, dass ee-ecommerce, ee-web-to-print und ee-personalization ab Version 12 ausschließlich im Enterprise-Abo verfügbar sind. Jeder dieser vier Punkte kann ein Projekt stoppen, wenn er erst mitten in der technischen Umsetzung auffällt statt am Anfang.
Die technischen Breaking Changes im Detail
Ausgangspunkt ist die letzte 11.5.x-Version (PHP 8.1–8.3, Symfony 6.4, DBAL 3), Ziel ist die 12.x-Linie (PHP rund 8.3/8.4, mit einer neu benötigten OpenSSL-PHP-Extension, Symfony weiterhin ^6.4, ab Version 12.3 zusätzlich dual mit ^7.3 steuerbar über ein eigenes Freeze-Bundle, DBAL ^4, ORM ^3). Der DBAL-3-zu-4-Wechsel bringt konkreten Code-Fallout: Eine zentrale Datenbank-Hilfsfunktion verliert einen ihrer Parameter, eine Upsert-Methode gibt jetzt die Last-Insert-ID zurück, und eine Listing-Zählmethode wurde überarbeitet. Wer Custom-Code hat, der direkt gegen diese APIs schreibt, sollte vor der Migration gezielt danach suchen, statt es erst beim ersten Fehler zu entdecken.
Die Collation-Falle: utf8mb4_unicode_520_ci
Pimcore 12 ändert die Standard-Datenbank-Collation von utf8mb4_general_ci auf utf8mb4_unicode_520_ci. Neue Tabellen bekommen automatisch die neue Collation, bestehende behalten die alte: Die Folge ist ein "Illegal mix of collations"-Fehler, sobald ein DataObject geöffnet wird, dessen Tabellen auf unterschiedlichen Collations liegen. Die Lösung ist, konsequent alle Tabellen zu konvertieren, mit den offiziellen SQL-Generator-Snippets. Als Orientierungswert aus der Praxis: rund 18 Minuten für 680 Tabellen. Das reicht, um ein Wartungsfenster einzuplanen, aber es bleibt ein Schritt, der bei größeren Datenbanken nicht übersprungen werden darf.
WYSIWYG-Wechsel: Quill statt TinyMCE
Ab 12.0 wird Quill als WYSIWYG-Editor empfohlen. TinyMCE läuft technisch weiter, gilt für die Community Edition aber als deprecated, ohne zugesagte Security-Updates. Wer TinyMCE nach dem Upgrade unverändert weiterbetreibt, sollte das als bewusste, zeitlich befristete Entscheidung treffen, nicht als "funktioniert ja noch" abtun.
Generic Data Index: die Reihenfolge, die niemand überspringen darf
Ein Detail, das in vielen Migrationsplänen fehlt: Die Indizes des Generic Data Index müssen bereits existieren, bevor die Datenbank-Migrationen laufen. Fehlen sie, bricht die Migration mit einem "index_not_found_exception"-Fehler ab, und im schlimmsten Fall bleibt eine korrupte Zwischenmigration zurück. Der GDI selbst braucht OpenSearch ab Version 2.7 oder Elasticsearch ab Version 8.0 sowie eigene Messenger-Worker, die vor dem eigentlichen Migrationslauf produktiv sein müssen.
Ein Detail, das leicht übersehen wird
Das Verschlüsselungs-Secret, das sich automatisiert per Kommandozeile erzeugen lässt, sollte früh generiert und in einem Secret-Manager gesichert werden, nicht nebenbei am Ende. Geht dieses Secret nach der Verschlüsselung verloren, sind die betroffenen Daten unwiederbringlich, unabhängig davon, wie sorgfältig der Rest der Migration verlief.
Die 11.5-LTS-Alternative: Bleiben ist auch eine gültige Antwort
Platform Version 2024.4 (Pimcore 11.5) läuft mit LTS-Support bis Dezember 2026, GPLv3, klassische Admin-UI, ohne Lizenzgate. Wer diese Zeit für die Lizenz- oder Studio-Entscheidung braucht, kann sie bewusst nutzen, statt ein Upgrade unter Zeitdruck durchzuziehen, mehr zur Pimcore-Migration im Überblick.
Praetorian-Winkel: Audit vor Composer-Befehl
Wir machen das Lizenzgate zur ersten Entscheidung eines jeden 11-auf-12-Projekts, nicht zur bösen Überraschung nach Projektstart. Ein Pimcore-Audit vorab deckt Bundle-Inventar, DBAL-4-Fundstellen im Custom-Code, den Collation-Plan und den nötigen GDI-Infra-Vorlauf ab, eingebettet in unsere Leistung Upgrades & Migration. Rescue-Fälle, in denen ein Vorgänger bereits am 11-auf-12-Upgrade gescheitert ist, übernehmen wir regelmäßig, meist, weil genau diese Reihenfolge nicht eingehalten wurde.
Häufige Fragen
Ist die Migration von Pimcore 11 auf 12 nur ein technisches Update?
Nein. Der erste Schritt ist eine Lizenzentscheidung (GPLv3 zu POCL) mit Produktregistrierungspflicht. Erst danach folgen die technischen Breaking Changes.
Was passiert, wenn ich TinyMCE nach dem Upgrade weiterbenutze?
Es läuft technisch weiter, gilt für die Community Edition aber als deprecated, ohne zugesagte Security-Updates. Ein Wechsel zu Quill ist die von Pimcore empfohlene Richtung ab Version 12.
Warum bricht meine Migration mit einem Collation-Fehler ab?
Weil Pimcore 12 die Standard-Collation auf utf8mb4_unicode_520_ci ändert und gemischte Collations zwischen alten und neuen Tabellen einen "Illegal mix of collations"-Fehler auslösen. Alle Tabellen müssen konvertiert werden.
Muss ich den Generic Data Index vor dem Upgrade einrichten?
Ja. Die GDI-Indizes müssen existieren, bevor die Datenbankmigration läuft. Sonst bricht sie mit einem "index_not_found_exception"-Fehler ab.
Kann ich auf Pimcore 11.5 bleiben, statt jetzt zu migrieren?
Ja, bis Dezember 2026 mit offiziellem LTS-Support. Das ist eine gültige Übergangslösung, um die Lizenz- oder Studio-Entscheidung in Ruhe zu treffen.
Was kostet ein 11-auf-12-Upgrade?
Das hängt von Umfang des Custom-Codes, Datenbankgröße und der GDI-Infrastruktur ab. Ein Audit macht diese Faktoren vorab sichtbar.
Was passiert mit dem Verschlüsselungs-Secret bei der Migration?
Es sollte vor der Migration generiert und im Secret-Manager gesichert werden. Geht es nach der Verschlüsselung verloren, sind die betroffenen Daten unwiederbringlich.
Lizenzgate zuerst klären?
Wir decken Bundle-Inventar, DBAL-4-Fallout und Collation-Plan vorab ab.
11-auf-12-Upgrade planen lassen