Maintenance
Corriger des données en masse, testé d’abord sur une copie de test
Une erreur de données en masse est corrigée en une passe, testée sur une copie de test avant la boutique en ligne.
ProVersion payante
Ce que cela remplace: 2 à 4 h pour préparer, tester et exécuter une correction en base de données
sur la préprod : compte les produits avec un poids à 0 qui ont un poids dans la table de références du fournisseur, montre 10 exemples, puis prépare la mise à jour. après que j’ai vérifié la préprod, fais la même chose en production
Ce que fait le chat
- Le chat compte et montre les produits concernés.
- Il montre la modification prévue et le nombre de produits touchés.
- Il garde les anciennes valeurs pour que la modification puisse être annulée.
- Il l’exécute d’abord sur la copie de test, puis sur la boutique en ligne après une nouvelle validation.
Le problème
Un import a mis le poids de 1 200 produits à 0 : les frais de livraison sont faux. Le back office ne permet pas de corriger cela en masse.
Ce que vous obtenez
Les poids des produits sont corrigés en une passe, testés avant la production.
Vous gardez le contrôle
Vous voyez chaque modification avant son enregistrement, et rien ne se passe sans votre accord. Cette réparation en profondeur ne fonctionne que lorsque l’interrupteur Maintenance est activé (il se coupe tout seul après 3 heures) et garde une copie de chaque fichier ou enregistrement modifié.
Cas d’usage similaires
Pour les développeurs
- Domaine
- 5 · Maintenance
- Dans TellMyShop Free
- non, version payante uniquement
- Pour
- Développeur, Agence / freelance
- Outils
- ps_db_query, ps_db_execute, ps_revert_change, ps_clear_cache
Étape par étape
- Compte et échantillonne les lignes concernées avec ps_db_query sur la copie de préproduction.
- Prépare un UPDATE de la seule table product, sans JOIN, pour que la sauvegarde des lignes s’applique (valeurs prises dans la table du fournisseur, par exemple via une sous-requête dans SET), et montre l’aperçu de ps_db_execute : nombre de lignes et échantillon.
- Exécute dans une transaction avec max_rows (1000 maximum par appel : les 1 200 produits passent donc en deux lots par plage d’ID) ; les anciennes valeurs de chaque ligne sont conservées pour ps_revert_change.
- Vous vérifiez la préproduction ; puis la même chose en production, avec un nouvel aperçu et une nouvelle validation.
- Une modification directe en base de données contourne les hooks des modules et les caches : le chat propose donc de vider le cache et de revérifier les frais de livraison dans le panier.
Sécurité
Les travaux de maintenance (fichiers, base de données, réglages) ne fonctionnent que lorsque l’interrupteur Maintenance est activé ; il se coupe tout seul après 3 heures, et le propriétaire reçoit un e-mail quand il est activé. ps_db_execute exécute une seule requête INSERT/UPDATE/DELETE/REPLACE dans une transaction ; l’aperçu montre le nombre de lignes et un échantillon, et la modification est annulée si plus de lignes que max_rows (1000 maximum) devaient changer. Un UPDATE ou un DELETE sur une seule table, sans JOIN, garde une copie de chaque ligne modifiée : ps_revert_change peut donc l’annuler. Un UPDATE/DELETE sans WHERE exige all_rows=true ; ALTER/CREATE/DROP/TRUNCATE exigent allow_ddl=true et ne peuvent pas être annulés. Une modification directe de la base contourne les hooks des modules et les caches, donc un outil standard est utilisé à la place dès qu’il existe.
Dernière mise à jour: 2026-10-25