Magento – Changer le moteur de la table « oauth_nonce » de MyISAM à INNODB
Votez !

Mémo pour modifier le moteur de la table « oauth_nonce » de MyISAM à INNODB.

Suite à des problèmes de réplication de bases MySQL Magento Enterprise 1.14.x, la solution a été de modifier le moteur utilisé pour la table « oauth_nonce ».

Malheureusement, un changement en utilisant cette requête ne suffit pas :

La table doit être supprimée puis recréée.
Comme c’est le cas de la table « catalog_category_product_index_tmp » dans Magento 2 :
Voir le code de la fonction « recreateCatalogCategoryProductIndexTmpTable » à la ligne 598 ici : https://github.com/magento/magento2/blob/321278b5027077b346e16ad4cac5407d65c918fd/app/code/Magento/Catalog/Setup/UpgradeSchema.php

Etape 1 – Récupérer la requête de création de la table « oauth_nonce »

Requête à exécuter :

Résultat :

Etape 2 – Supprimer la table

Etape 3 – Créer la table avec le nouveau moteur

Remplacer MyISAM par INNODB dans la requête récupérée à l’étape 1 :