Migration Assistant in Shopware 6.5 nicht aktualisierbar

Wie der Titel es bereits erwähnt, wurde auf 6.5 aktualisiert.

Allerdings können wir den Migration Assistant nun nicht aktualisieren,
welchen wir aber immer noch benötigen um die letzte Migration durchführen zu können.

Keine Ahnung ob das hier überhaupt mal getestet wurde, aber „Shopware 6.5 compatibility“ stell ich mir anders vor.

Liegt offenbar viel mehr an dem Profil für den Migration Assistant names SwagMigrationMagento

Hi, genau dieser Migrations-Assistent sorgt nach Update auf 6.5.0 für einen 500er Internal Server Error. Wollte das Plugin aktualisieren, um den Assistenten zum laufen zu bringen. Ergebnis: alles tot, Shop-Admin ist auch nicht mehr erreichbar, stattdessen nur ein schwarzer Screen und als Text wird das hier ausgegeben:

{„errors“:[{„code“:„0“,„status“:„500“,„title“:„Internal Server Error“,„detail“:„[Semantical Error] The annotation \u0022@Shopware\Core\Framework\Routing\Annotation\RouteScope\u0022 in class SwagExtensionStore\Controller\DataController was never imported. Did you maybe forget to add a \u0022use\u0022 statement for this annotation? in /home/vopunixu/www/fairpreis24.ch/custom/plugins/SwagExtensionStore/src/Controller/DataController.php (which is being imported from \u0022/home/vopunixu/www/fairpreis24.ch/custom/plugins/SwagExtensionStore/src/Resources/config/routes.yaml\u0022). Make sure there is a loader supporting the \u0022annotation\u0022 type.“}]}

Hat jemand eine Idee, wie man das beheben kann?

OK, habe jetzt mal die im Fehler genannte Datei angesehen, habe aber keine Idee, wohin man den betreffenden Passus setzen soll (muss man das überhaupt?). Das hier ist die genannte DataController.php im erwähnten Verzeichnis:

<?php declare(strict_types=1);

namespace SwagExtensionStore\Controller;

use Shopware\Core\Framework\Context;
use Shopware\Core\Framework\Routing\Annotation\Acl;
use Shopware\Core\Framework\Routing\Annotation\RouteScope;
use Shopware\Core\Framework\Routing\Annotation\Since;
use Shopware\Core\Framework\Store\Search\ExtensionCriteria;
use SwagExtensionStore\Services\StoreDataProvider;
use Symfony\Component\HttpFoundation\JsonResponse;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;

/**
 * @internal
 * @RouteScope(scopes={"api"})
 * @Acl({"system.plugin_maintain"})
 */
class DataController
{
    private StoreDataProvider $dataProvider;

    public function __construct(StoreDataProvider $dataProvider)
    {
        $this->dataProvider = $dataProvider;
    }

    /**
     * @Since("6.4.0.0")
     * @Route("/api/_action/extension-store/list", name="api.extension.list", methods={"POST", "GET"})
     */
    public function getExtensionList(Request $request, Context $context): Response
    {
        if ($request->getMethod() === Request::METHOD_POST) {
            $criteria = ExtensionCriteria::fromArray($request->request->all());
        } else {
            $criteria = ExtensionCriteria::fromArray($request->query->all());
        }

        $listing = $this->dataProvider->getListing($criteria, $context);

        return new JsonResponse([
            'data' => $listing,
            'meta' => [
                'total' => $listing->getTotal(),
            ],
        ]);
    }

    /**
     * @Since("6.4.0.0")
     * @Route("/api/_action/extension-store/detail/{id}", name="api.extension.detail", methods={"GET"})
     */
    public function detail(int $id, Context $context): Response
    {
        return new JsonResponse($this->dataProvider->getExtensionDetails($id, $context));
    }

    /**
     * @Since("6.4.0.0")
     * @Route("/api/_action/extension-store/{id}/reviews", name="api.extension.reviews", methods={"GET"})
     */
    public function reviews(int $id, Request $request, Context $context): Response
    {
        $criteria = ExtensionCriteria::fromArray($request->query->all());

        return new JsonResponse($this->dataProvider->getReviews($id, $criteria, $context));
    }

    /**
     * @Since("6.4.0.0")
     * @Route("/api/_action/extension-store/store-filters", name="api.extension.store_filters", methods={"GET"})
     */
    public function listingFilters(Request $request, Context $context): JsonResponse
    {
        return new JsonResponse(
            $this->dataProvider->getListingFilters($request->query->all(), $context)
        );
    }
}

OK danke für die Tipps. Ich bin eben kein Entwickler, sondern Shopbetreiber :wink: und daher nur sehr eingeschränkt kommandozeilentauglich.

Bei mir war es doch nicht der Migration Assistant, sondern der Extension Store, und den habe ich auf Github nicht gefunden (kann an mir liegen).

Aber dazwischen gibt es ja noch PHPmyadmin, und hier hab ich das entsprechende Plugin einfach deaktiviert. Ergebnis: Front- und auch Backend wieder erreichbar.

Dann das deaktivierte Plugin erstmal aktualisiert (sollte er vorher schon getan haben), dann erst aktiviert, und jetzt funzt wieder alles. Auch wenn ein Backup vorhanden ist, macht das wenig Freude, jedesmal den ganzen Shop zu reaktivieren.

Hast mich auf den richtigen Dreh gebracht, danke dafür! Top-Hilfe!

Freut mich helfen zu können!

1 „Gefällt mir“

Hi
Ich habe das selber Problem. Magnete-Migration-Profil kann ich gar nicht installieren. Weil es noch nicht mit 6.5 kompatible ist.
Kann jemand von magentop schreiben, wann es update bekommt?

Mit freundlichen Grüßen
Eker

Das Magento Profil wird von Shopware gepflegt. Daher muss Shopware hier nachbessern.

Ja genau, Tippfehler von mir. Ich meinte natürlich Shopware…

1 „Gefällt mir“

Ist keine Kollegen von Shopware unterwegs hier?

@Moritz_Naczenski & @marco.steinhaeuser sind eigentlich sehr aktiv. Aber nicht jeden Beitrag sofort an die beiden eskalieren, ist ja schließlich ein Community-Forum. Und am besten auch gleich/vorher ein Issue-Ticket erstellen: https://issues.shopware.com/

1 „Gefällt mir“

@eker Kleiner Tipp: Am besten die Issue-Tickets immer auf englisch erstellen (wenn es geht) und da kannst du auch auf Grußformeln wie Hi, Vielen Dank und MfG verzichten, da ist eine klare Beschreibung des Bugs essenziell.

Und ganz wichtig, das Issue-Ticket hier im dazugehörigen Beitrag im Forum verlinken, damit andere mit dem selben Problem das Ticket auch finden und voten können: Shopware Issuetracker

Danke

Hier:

1 „Gefällt mir“

@tom_prok Vielen Dank für den Hinweis. Aber ist schon faszinierend dass weder hier im Forum, noch im Issue Tracker das Problem ernstgenommen wird.

Mit dem Update 6.5 wurde etwas essentielles vergessen, und sind jetzt bereits 14 Tage vergangen ohne eine Änderung.

Da muss ich Shopware jetzt mal ausnahmsweise etwas in Schutz nehmen…

Das „Magento-Migration-Profil“-Plugin ist einfach noch nicht kompatibel mit der neusten Version, ich denke nicht das es vergessen wurde. Bei einem Major release wie in dem Fall 6.5 kann das schonmal ein bisschen dauern bis alle Plugins von Shopware mit der neusten Version kompatibel sind, im Store sind z.B. erst 6 der 22 Shopware AG Plugins mit 6.5 kompatibel: shopware AG | Shopware Store

Da liegt die Verantwortung beim Entwickler bzw. Shopbetreiber das Update erst zu machen, wenn alle Plugins kompatibel sind, oder inkompatible Plugins zu deaktivieren.

1 „Gefällt mir“

@tom_prok Wenn man ein Minor Release mit Major (Breaking) Changes raushaut, den Migration Assistant anpasst, aber die notwendigen Profile (Magento) dafür nicht anpasst, ohne dem der Assistant einen nichts nützt, dann wurde schlichtweg es vergessen.

Bei einem solchen Release sollte das Kernsystem und seine eigene Tools (Migration Assistant) direkt nutzbar sein.

Alles andere ist Schönrederei.

Angenommen ein Neukunde will jetzt auf Shopware wechseln und muss Daten migrieren. Dann steht er vor einem halbfunktionalen Shopsystem so wie wir.

Das kann doch keiner ernsthaft okay finden ?!

In der aktuellen Version funktioniert der Migration Assistant doch trotzdem um z.B. Daten aus SW5 zu SW6.5 zu migrieren, nur das Magento Profil ist halt noch nicht mit 6.5 kompatibel, da müssen wir uns halt noch etwas gedulden.

Bei einem solchen Release sollte das Kernsystem und seine eigene Tools (Migration Assistant) direkt nutzbar sein.

Sehe ich ganz anders, die alternative wäre ja gewesen, mit dem Release von 6.5 noch zu warten bis alle Plugins angepasst wurden und kompatibel sind, das wäre doch zum Nachteil für alle die diese Plugins nicht benötigen/nutzen.

Wenn ein Neukunde jetzt von Magento zu Shopware wechseln will, muss er halt 6.4 nutzen, das Update auf 6.5 ist doch kein MUSS.

Ich verstehe die Negativität gegenüber Shopware bezüglich der neuen Preise, wichtige Funktionen nur für die Paid-Pläne und teilweise auch den Umgang mit Issue-Tickets/Foren-Beiträgen, aber hier haben sie meiner Meinung nach wirklich nichts falsch gemacht.

@tom_prok Warum ist das Update welches Sicherheitslücken schließt kein MUSS ?

Und woher soll der Kunde denn das Wissen das er aktuell 6.4 (mit Sicherheitslücken) nutzen sollte?
Auf shopware.de bekommt man ja genau diese aktuelle Version.

Aber red es dir ruhig weiterhin schön. Wenn was falsch ist, sollte man das kritisieren dürfen und ein Release Plan hätte definitiv geholfen.

Weil dann hätte man alles notwendige zeitgleich parat gehabt.

Hi @vertic4l,

welche der 343 Änderungen im Changelog für 6.5.0 ist den ein relevantes Sicherheitsupdate? Shopware Changelog | Shopware

Dafür gibt es doch extra ausgewiesene Sicherheitsupdates (auch für 6.4):

Und woher soll der Kunde denn das Wissen das er aktuell 6.4 (mit Sicherheitslücken) nutzen sollte?

Wenn der Neukunde schon Probleme hat die richtige Version zu wählen, wünsche ich ihm viel Glück bei der weiteren Einrichtung seines neuen Shopware 6 Shops, ohne sich da richtig einzuarbeiten und grundlegende Programmierkenntnisse kommt man in Shopware 6 meiner Meinung nach nicht weit, oder es wird sehr teuer, mit unzähligen Plugins und dann sind wir wieder beim Thema der Kompatibilität. Wer Plug-and-Play sucht, kommt hier vielleicht weiter: Starte und expandiere dein E-Commerce-Business – 3-tägiger kostenloser Test - Shopify Deutschland :wink:

Release Plan hätte definitiv geholfen.

Gebe ich dir recht, ist ein grundsätzliches Problem mit der Kommunikation bei Shopware. Vielleicht ein kleiner Hinweis auf der Seite im Store wann das Update für die neue Version geplant ist, da reicht ja ein ungefährer Zeitraum, z.B. 6.5 kompatibel 07/08 2023.

Viele Grüße
Tom

Ich habe gemerkt, dass auch Shopware Migration nicht funktioniert.
Migration Plugin wird installiert aber sobald man Verbindung anlegen möchte, zeigt es diesen Fehler an:

Leider wurde kein enstprechendes Formular für dieses Profil gefunden

Also nicht mal von Shopware zu Shopware wird hier migriert. Obwohl da steht Compatible bis 6.5.2.1

@Moritz_Naczenski