Un peu par hasard j’ai vu que Prestashop proposait une nouvelle option dans sa dernière version de Prestashop 1.6.0.11, il s’agit là du gestionnaire SQL ! Mais à quoi ça sert ce nouvel outil ? Nous allons le découvrir ensemble.
Une nouvelle options dans les listes
Dans les listings du back-office de la boutique, vous avez à présent à droite deux nouveaux boutons « Voir la requête SQL » et « Exporter vers le gestionnaire SQL ». Ces fonctionnalités se retrouvent partout dans votre back-office Prestashop, à chaque emplacement où vous avez un listing d’éléments.
A quoi ça sert ?
Le premier bouton vous permet de visualiser la requête qui provoque l’affichage de cette liste, cela vous donnera donc l’information sur la manière dont sont sélectionnés les informations affichées. Cela peut aussi vous aider à établir une requête fonctionnelle si vous êtes un développeur (par ex. pour le développement d’un module).
Si on utilise le deuxième bouton pour exporter vers le gestionnaire, celui-ci conduire vers un formulaire en copiant la requête que nous venons de voir ensemble. Ici par exemple il s’agit de la requête du formulaire Catalogue->Produits.
Ensuite, dans le gestionnaire SQL (qui se trouve sous les paramètres avancés), vous pourrez retrouver la liste des requêtes que vous aurez sauvées. Dans le cas présent on en a une seule, qu’on peut par exemple exporter vers un CSV, afin de pouvoir exploiter les données.
Quel intérêt à cette fonctionnalité ?
Si vous êtes doué en SQL vous pourrez réaliser facilement un export basé sur une requête complexe. L’avantage aussi c’est de pouvoir mettre en place des exports pour les clients, sans devoir installer un module additionnel (quand cela est possible). Cela peut aussi faciliter l’accès aux données, au lieu de toujours demander par exemple au webmaster de devoir exporter les informations de tables spécifiques dans la base de données.
Bilan
Bien sûr que ça ne changera pas la vie du webmaster ! Par contre, pour le marchand, ça peut-être une ouverture sur l’exploitation de nouvelles données, sans craintes de faire crasher la base en passant par PHPmyAdmin. L’export fonctionne pour des besoins classiques, s’il faut apporter des traitements supplémentaires sur les données exportées, cela nécessitera dans tous les cas de passer via un export sur mesure.
Pour le complément d’info, le gestionnaire SQL de PrestaShop a fait son apparition en… v1.5.0.1 (novembre 2011, donc). 🙂
Hello,
Oui heu… ahah… j’ai essayé de faire du neuf avec du vieux 😉 ! En fait les raccourcis + intégration automatique de la requête dans le gestionnaire SQL c’est nouveau.
Le gestionnaire SQL lui-même était déjà dedans, mais moins mis en avant… car il n’y avait pas ces boutons d’action…
Merci d’avoir fait la remarque 😀 !
J’aime bien les précisions, comme pour les Helpers qui étaient déjà bien présents mais moins mis en avant.
Et cela ne retire en rien le contenu de ton article, qui est intéressant. En effet, c’est de plus en plus mis en avant avec ces fonctionnalités d’export/requête SQL. Attention, toutefois, il y a aussi le mode DEV a activé pour obtenir certaines vues.
Yes!! Ça fait des mois que je fais du presta et je suis toujours passé à coté de cette fonctionnalité. Du coup je vous fais partager ma nouvelle requête que j’effectuai auparavant dans phpmyadmin. elle permet de récupérer les inscrits à la newsletter :
SELECT email, newsletter_date_add
FROM `ps_customer`
WHERE `newsletter` =1
UNION
SELECT email, newsletter_date_add
FROM `ps_newsletter`
WHERE active =1
Merci pour cette article
Bonjour,
Ah voilà typiquement un très bon exemple de cas concret, pour ce genre de requête le gestionnaire SQL est donc idéal.
Merci pour votre contribution !
Un petit partage aussi. J’avais besoin de voir les commentaires laissés par les visiteurs de manière « globale ». N’ayant pas de module spécifique et/ou ne sachant pas comment faire, j’ai fait cette petire query :
SELECT
DBName_product_comment.id_product AS ID,
DBName_product_lang.name AS Nom,
DBName_product_comment.date_add AS Date,
DBName_product_comment.content AS Commentaires
FROM
DBName_product_comment
INNER JOIN
DBName_product_lang
ON
DBName_product_comment.id_product = DBName_product_lang.id_product
DBName est à remplacer par le nom de votre base. Ca fonction en 1.6.x.
Hello,
Merci pour ce partage qui aidera certainement un prochain lecteur de cette page.
A bientôt !
Bonjour
Merci pout tous les tutos
Est ce que le gestionnaire SQL peut récupère les table en SQL et qui permet faire les requêtes pour crée automatiquement des produits
Merci
Hello,
Vu la complexité de l’import / export, il est préférable de se servir de Store Commander pour les importations de produits. Le gestionnaire SQL est pratique pour faire des scripts d’exportation de données pour du reporting.
A bientôt !
Hello !
Je cherche a savoir si il y un moyen pour automatiser un export SQL réalisé par le gestionnaire SQL de Prestashop 1.6, comme avec un CRON par exemple, et de pouvoir déposer ce fichier par mail ou ftp ?
Je cherche a extraire de manière planifié un champ custom de ma bdd, ainsi que le total ttc des commandes.
Merci pour votre avis et aide !
Hello,
Selon mon expérience je ne crois pas que le gestionnaire SQL permet de faire une tâche CRON (cela reste exécutable en interne)… mais vous m’avez donné une idée pour un futur tutoriel pour l’extraction de données.
A bientôt !
Bonsoir,
J’ai fais cette requête toute simple :
qui permet d’afficher l’id, le nom et le fournisseur des produits.
Cette requête fonctionne sans souci directement dans phpMyAdmin mais n’est pas acceptée dans le requêteur de Prestashop.
Si vous avez une idée, je suis preneur…
Merci
Bonjour,
Essayez peut-être de le faire en retirant tous les retour à la ligne et en les remplaçant par des espaces.
A bientôt !
Bonjour,
Allez, hop, une petite requête
Liste les produits présents sur la page d’accueil qui chez moi, a la valeur 2.
Vous pouvez afficher la liste des produits pour la catégorie choisie cette valeur.
Merci pour votre contribution de requête Prestashop 😉 !
Je reviens sur mon précédent message du 25/01 sur une requête récalcitrante. En fait, il suffit de mettre des parenthèses pour les jointures. Astuce donnée par Eolia sur les forum Prestashop. Ce qui donne :
Have fun.
Merci pour la précieuse contribution !