[Alleen PaaS]{class="badge informative" title="Is alleen van toepassing op Adobe Commerce op Cloud-projecten (door Adobe beheerde PaaS-infrastructuur) en op projecten in het veld."}

ACSD-68064: dubbele vermeldingen die zijn gemaakt tijdens geplande updates in omgevingen met diep geneste categorieën

De ACSD-68064-patch verhelpt het probleem dat het maken van geplande updates in omgevingen met een groot aantal geneste categorieën leidt tot dubbele vermeldingen en dat het opslaan van categorieën wordt voorkomen. Deze patch is beschikbaar wanneer Quality Patches Tool (QPT) 1.1.72 wordt geïnstalleerd. De patch-id is ACSD-68064. Dit probleem wordt volgens de planning opgelost in Adobe Commerce 2.4.9.

Betrokken producten en versies

het flard wordt gecreeerd voor de versie van Adobe Commerce:

  • Adobe Commerce (alle implementatiemethoden) 2.4.7-p6

Compatibel met de versies van Adobe Commerce:

  • Adobe Commerce (alle implementatiemethoden) 2.4.7 - 2.4.7-p7
NOTE
De patch kan van toepassing worden op andere versies met nieuwe Quality Patches Tool versies. Om te controleren of de patch compatibel is met uw Adobe Commerce-versie, werkt u het magento/quality-patches -pakket bij naar de meest recente versie en controleert u de compatibiliteit op de Quality Patches Tool : zoek naar patches op de pagina ​ . Gebruik de patch-id als een zoekwoord om de patch te zoeken.

Probleem

Het maken van geplande updates in omgevingen met een groot aantal geneste categorieën leidt tot dubbele vermeldingen, wat leidt tot fouten en het niet opslaan van de categorie.

Stappen om te reproduceren:

  1. Installeer een schone instantie.

  2. Wijzig het bestand met prestatiecorrecties (small.xml) om het volgende op te nemen:

    1. Categories: 2500
    2. Products: 250.000
  3. Genereer de gegevens met de opdracht:

    code language-none
    bin/magento setup:performance:generate-fixtures var/performance-toolkit/profiles/ce/small.xml
    
  4. Nadat u producten en categorieën hebt gemaakt, controleert u of alle categorieën als ankers zijn ingesteld door de volgende query uit te voeren:

    code language-none
    UPDATE catalog_category_entity_int set value = 1 where attribute_id = (select attribute_id from eav_attribute where attribute_code = 'is_anchor');
    
  5. De gegevens opnieuw indexeren.

  6. Meld u aan bij het deelvenster Beheer en ga naar Catalog > Categories .

  7. Verplaats Categorie 2 onder Categorie 1 om een meer genestelde structuur tot stand te brengen.

  8. Ga naar een diep genestelde categorie, bijvoorbeeld, Categorie 2.1.1.

  9. Maak een Scheduled Update .

  10. Klik op Save.

Verwachte resultaten :

De categorie is opgeslagen.

Ware resultaten :

Er treedt een fout op en de categorie kan niet worden opgeslagen. var/log/exception.log bevat dezelfde fout als:

Exception #0 (Magento\Framework\DB\Adapter\DuplicateException): SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '229-255' for key 'temp_category_descendants_619aaaaaaaaaa.PRIMARY', query was: INSERT INTO `temp_category_descendants_619aaaaaaaaaa` (`category_id`, `descendant_id`) SELECT `ce`.`entity_id` AS `category_id`, `ce2`.`entity_id` AS `descendant_id` FROM `catalog_category_entity` AS `ce`
 INNER JOIN `catalog_category_entity` AS `ce2` ON ce2.path LIKE CONCAT(ce.path, '/%') OR ce2.entity_id = ce.entity_id AND (ce2.created_in <= '1750287600' AND ce2.updated_in > '1750287600') WHERE ((ce.entity_id IN (4, 6, 7, 8, 10, 24, 25, 27, 30, 33, 34, 35, 36, 37, 40, 41, 42, 43, 44, 48, 51, 54, 56, 57, 59, 60, 63, 64, 65, 66, 67 .......

De patch toepassen

Om individuele flarden toe te passen, gebruik de volgende verbindingen afhankelijk van uw plaatsingsmethode:

Gerelateerde lezing

Meer informatie over Quality Patches Tool vindt u in:

recommendation-more-help
c2d96e17-5179-455c-ad3a-e1697bb4e8c3