Archives pour la catégorie Serveur

J’ai cherché pendant un moment la solution à cette requête SQL donc autant vous la faire partager.

Imaginons que vous ayez 3 tables sous MySQL :

  1. walk
  2. walk_photo
  3. photo

Dans votre table photo certaines photos n’ont pas de titre (title) ou celui-ci est en NULL. Vous voulez donc faire un UPDATE de la table photo en associant les titres de la table walk correspondant aux photos.

Problème : si vous n’aviez que 2 tables, cela ne poserait aucun problème car il suffirait de faire un UPDATE en joignant les 2 par un WHERE walk.id = photo.id . Or ici ce n’est pas possible car l’on a une table entre les deux (walk_photo) qui lie les 2 tables, les deux premières n’ayant pas de clé commune.

Donc voici la solution:

UPDATE photo
SET photo.title = walk.title
JOIN walk_photo ON walk_photo.photo = photo.id
JOIN walk ON walk.id = walk_photo.walk
WHERE photo.title IS NULL OR photo.title = ''

Je pense que la requête est assez claire pour être dispensé de commentaire, néanmoins pensez à mettre le SET avant la jointure! Sinon ça ne marchera pas! Au début j’avais commencé par faire ma jointure avant de faire le set et je ne comprenais pas pourquoi ça ne marchait pas….

mysql-workbench

Dans le cadre de mon stage on m’a montré un beau schéma de la base de donnée de l’un des sites internet de l’entreprise et ma première pensée, un tantinet primitive, fût: « Quoi??!! C’est possible de faire ça??!! Trop coooool!!!! :D  »

Ni une, ni deux, a peine rentré chez moi que je me mets à faire quelques recherche sur Google pour tomber sur MySQL Workbench. Aïe ça marche sous Linux ça?? Ben oui!!! :D

Après avoir installé le .deb MySQL Workbench 5.1.16 (i386) je me suis mis à faire un petit schéma d’une base sous Magento pour voir ce que ça donne (et c’est un joyeux bordel! :s).

Donc voici les explications en images une fois le paquet installé.

Tout d’abord se rendre dans: Applications => Programmation => MySQL Workbench

(Lire la suite…)

Dans le cadre de mon stage en tant qu’assistant chef de projet web on m’a demandé de me renseigner sur des solutions pour améliorer le système de cache du site. En effet celui-ci est sous Drupal et rencontre quelques lenteurs même avec Memcached. L’idée est d’avoir d’un coté un serveur web et de l’autre un serveur de cache. La solution semble se trouver du coté d’un Reverse Cache Proxy.

Fonctionnement d’un Reverse Cache Proxy:

revproxy2

(Lire la suite…)