mittlerweile bin ich einigermaßen warm geworden und bekomme meinen Shop in SW6 ganz gut umgesetzt. Heute morgen ist mir jedoch aufgefallen, dass ich keine Produkte mehr löschen kann. Version ist 6.7.5.0 - es kommt in der GUI auch keine Fehlermeldung, es steht nichts im Log. Ich habe bereits alle Erweiterungen deaktiviert und es geht trotzdem nicht. Das Produkt bzw. die Produkte sind auch keinem Verkaufskanal mehr zugewiesen.
Hat das schonmal jemand gehabt? Es funktionieren weder “einfache” Produkte, noch Varianteprodukte oder einzelne Varianten.
Ich hab das gleiche Problem. Shopware 6.7.5.1 und MariaDB
request.CRITICAL: Uncaught PHP Exception Doctrine\DBAL\Exception\SyntaxErrorException: "An exception occurred while executing a query: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'pcs WHERE pcs.product_id IN ('?62?\001F?Mw?\0?\0013?\001E`?')
Ich habe deinen Fix noch gar nicht eingebaut, das es im Testshop auch ohne funktioniert. Im Liveshop kommt beim Löschen folgende Fehlermeldung:
Uncaught PHP Exception Doctrine\DBAL\Exception\SyntaxErrorException: „An exception occurred while executing a query: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ‚pcs WHERE pcs.product_id IN (‘\0001?+h\000B?qԞ?c?\0013\000C3`‚) AN…‘ at line 1“ at ExceptionConverter.php line 78 {„exception“:„[object] (Doctrine\\DBAL\\Exception\\SyntaxErrorException(code: 1064): An exception occurred while executing a query: SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ‚pcs\n WHERE pcs.product_id IN (‘\\0001?+h\\000B?qԞ?c?\\0013\\000C3`‚)\n AN…‘ at line 1 at /home/…/…/vendor/doctrine/dbal/src/Driver/API/MySQL/ExceptionConverter.php:78)\n[previous exception] [object] (Doctrine\\DBAL\\Driver\\PDO\\Exception(code: 1064): SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ‚pcs\n WHERE pcs.product_id IN (‘\\0001?+h\\000B?qԞ?c?\\0013\\000C3`‚)\n AN…‘ at line 1 at /home/…/…/vendor/doctrine/dbal/src/Driver/PDO/Exception.php:24)\n[previous exception] [object] (PDOException(code: 42000): SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ‚pcs\n WHERE pcs.product_id IN (‘\\0001?+h\\000B?qԞ?c?\\0013\\000C3`‚)\n AN…‘ at line 1 at /home/…/…/vendor/doctrine/dbal/src/Driver/PDO/Statement.php:55)“}
Was ich mittlerweile herausgefunden habe: In der aktuellen Version 6.7.5.1 gibt es “Produkteinheit”, dieses war vorher 6.6.10.5 nicht vorhanden. Die Produkteinheit habe ich zwar beim Artikel hinterlegt, lässt sich jedoch trotzdem nicht löschen. Auch bei neu angelegtem Artikel über das Backend
// Nur ausführen, wenn Binary-Array nicht leer ist
if (count($parentIdsBinary) === 0) {
return;
}
// Query ausführen: Verwaiste configurator_settings löschen
$this->connection->executeStatement(
‚DELETE FROM product_configurator_setting pcs
WHERE pcs.product_id IN (:parentIds)
AND pcs.product_version_id = :versionId
AND NOT EXISTS (
SELECT 1
FROM product_option po
INNER JOIN product p ON p.id = po.product_id AND p.version_id = po.product_version_id
WHERE p.parent_id = pcs.product_id
AND p.version_id = :versionId
AND po.property_group_option_id = pcs.property_group_option_id
AND po.product_version_id = :versionId
)‘,
[
‚parentIds‘ => $parentIdsBinary,
‚versionId‘ => $versionBytes,
],
[
‚parentIds‘ => ArrayParameterType::BINARY,
]
);
Leider komme ich gerade nicht ganz klar. Bei mir ist das Problem immer noch vorhanden.
SW 6.7.5.1
Alle Updates, die standardmäßig installiert werden, wurden installiert, aber das Problem erscheint immer noch.
Allerdings nutze ich für den Abgleich JTL-Wawi.