PROJET AUTOBLOG


Planet-Libre

source: Planet-Libre

⇐ retour index

Progi1984 : MySQL : Comment savoir quand un champ a été mis à jour ?

lundi 16 décembre 2013 à 09:30

MySQL est une référence dans le monde de l’Open Source et de la base de données. Une de ces spécificités est le trigger. Mais qu’est ce donc ? Un trigger se déclenche avant ou après une requête (SELECT, INSERT, UPDATE et DELETE). Dans notre cas, nous allons utiliser les triggers pour savoir quand une ligne a été insérée ou mise à jour dans une table.

MySQL

MySQL : Avoir les bonnes colonnes

Pour cela il nous faut deux colonnes : l’une quand la ligne sera créée et l’autre quand la ligne sera mise à jour.
Je préfère définir ces deux colonnes dans le type : timestamp.

ALTER TABLE `matable` ADD `tbl_created` TIMESTAMP NULL DEFAULT NULL;
ALTER TABLE `matable` ADD `tbl_updated` TIMESTAMP NULL DEFAULT NULL;

Et voilà, votre table a deux colonnes vides.

MySQL : Définir les triggers

Le premier trigger interviendra au moment de la requête INSERT pour lui définir le contenu de colonne tbl_created.
Après insertion, la colonne tbl_created contiendra la date d’insertion, et NULL pour la colonne tbl_updated.

DELIMITER |
DROP TRIGGER IF EXISTS `matable_tbl_created`|
CREATE TRIGGER `matable_tbl_created` BEFORE INSERT ON `matable` FOR EACH ROW 
BEGIN 
    SET NEW.tbl_created = NOW(); 
END|
DELIMITER ;

Le second trigger interviendra au moment de la requête UPDATE pour lui définir le contenu de colonne tbl_updated.
Après mise à jour de la ligne, la colonne tbl_updated contiendra la date de mise à jour.

DELIMITER |
DROP TRIGGER IF EXISTS `matable_tbl_updated`|
CREATE TRIGGER `matable_tbl_updated` BEFORE UPDATE ON `matable` FOR EACH ROW 
BEGIN
    SET NEW.tbl_updated = NOW();
END|
DELIMITER ;

MySQL : Et si on testait ?

Voici la table au départ :
MySQL : Table au début

On y ajoute nos deux colonnes et les triggers :
MySQL : Table après les requêtes ALTER

Ensuite, j’insère une ligne :
MySQL : Table après les requêtes INSERT

PS : On voit bien que le champ tbl_created est rempli, mais pas le champ tbl_updated.

Ensuite, je mets à jour cette même ligne :
MySQL : Table après les requêtes UPDATE

PS : On voit que le champ tbl_created n’a pas bougé, mais que le champ tbl_updated a été mis à jour avec l’heure courante.

Conclusion

Désormais, vous saurez quand votre ligne aura été insérée et mise à jour. Je pense que certains de vos debugs vous remercieront.

Cet article MySQL : Comment savoir quand un champ a été mis à jour ? est apparu en premier sur RootsLabs.

Gravatar de Progi1984
Original post of Progi1984.Votez pour ce billet sur Planet Libre.

Nicolargo : Utilisation des CTags avec Sublime Text

lundi 16 décembre 2013 à 08:46

capture_147CTags est un outil pour les développeurs permettant de construire un index des fonctions et classes utilisées. Cela permet donc à un éditeur de texte compatible avec CTags de ce déplacer rapidement et sans "parsing" inutile dans l’arborescence de votre projet. On peut ainsi, à l'aide d'une simple combinaison de touches, aller directement à la définition d'une fonction.

Nous allons dans ce billet voir comment installer et configurer CTags avec l'éditeur de texte Sublime Text 3 dans un environnement Debian/Ubuntu.

Note: la procédure est grosso modo la même pour d'autres éditeurs comme Vim , Emacs ou GEdit.

Installation de CTags

CTags est disponible dans les dépôts de toutes les distributions. Sous Ubuntu, une simple ligne de commande:

sudo apt-get install ctags

devrait suffire pour installer une version stable de CTags.

Note: Pour installer CTags à partir des sources, toutes les informations se trouvent sur le site officiel.

Création de l'index pour votre projet

Il existe de nombreuses manières pour construire les fichiers index CTags. La plus simple est de se rendre dans le répertoire de votre projet (par exemple ~/dev/monprojet) puis de saisir la commande suivante:

cd ~/dev/monprojet
ctags -R -f .tags

On demande donc au logiciel ctags de générer le fichier index nommé .tags (option -f .tags) à effectuant un parsing récursif (option -R) de l'arborescence de votre projet.

Ce fichier doit être régénéré à chaque ajout de fonction ou de classe. Cela se fait par une combinaison de touche dans SublimeText mais peut aussi être automatisé par un hook après un commit Git.

Installation du plugin Ctags dans Sublime Text

Je pars sur le principe ou votre Sublime Text est installé avec le plugin Package Manager (si ce n'est pas le cas, suivre cette procédure).

Une fois Sublime Text lancé, on commence par appuyer sur la combinaison de touche SHIFT+CTRL+P puis de saisir le mot clé Install Package. La liste des plugins disponibles va se charger, on cherche ensuite le plugin CTags et on l'installe.

Utilisation de CTags dans Sublime Text

Au démarrage de Sublime Text dans le répertorie de votre projet (~/dev/monprojet) , le fichier index de Ctags (.tags)  va automatiquement être chargé. Il ne vous reste plus qu'à utiliser les combinaisons de touches suivantes pour naviguer dans les classes et fonctions de votre code source:

CommandeKey Binding
Générer / Re-générer le fichier index CtagsCTRL+r, CTRL+r
Aller à la définition de la fonction/classeCTRL+t, CTRL+t
Revenir en arrièreCRTL+t, CTRL+b
Affiche la liste des fonctions/classes (fichier en cours)ALT+s
Affiche la liste des fonctions/classes (tous les fichiers du projet)ALT+SHIFT+s

Conclusion

L'utilisation des CTags apporte un gain de productivité non négligeable lors du développement logiciel. Le fait d'avoir une base commune et ouverte (le fichier .tags étant à plat et au format texte) permet de passer d'un éditeur à un autre sans perte de fonctionnalité.

Utilisez-vous les Ctags ? Si oui comment.

Partagez cela avec nous !

Cet article Utilisation des CTags avec Sublime Text est apparu en premier sur Le blog de NicoLargo.

Gravatar de Nicolargo
Original post of Nicolargo.Votez pour ce billet sur Planet Libre.

Articles similaires

Tuxicoman : Installer Steam sur Debian Testing (Jessie)

dimanche 15 décembre 2013 à 23:11

Voici les commandes nécessaires pour installer Steam sur Debian Testing en utilisant le binaire officiel de Valve.

Les commandes sont à lancer en root.

# dpkg –add-architecture i386

# apt-get update

# apt-get install libc6:i386 libgl1-mesa-glx:i386

# wget http://media.steampowered.com/client/installer/steam.deb

# dpkg -i steam.deb

On peut ensuite lancer steam depuis le compte de son user:

$ steam

J’ai testé Dota2 avec ma carte graphique intégrée Intel HD4600 et c’est injouable en basse qualité alors que j’ai de bonne performances avec son concurrent HoN.

Related Posts:

(Visited 80 times, 19 visits today)

Gravatar de Tuxicoman
Original post of Tuxicoman.Votez pour ce billet sur Planet Libre.

Articles similaires

SckyzO : Codez vos scripts avec Sublime Text

dimanche 15 décembre 2013 à 21:39

S'il vous arrive de coder en php, python, faire du bash, alors ce programme est fait pour vous !

Sublime Text fait partie de la famille des éditeurs de code disponible sur plusieurs plate-formes (Mac,Windows, Linux), vous pouvez en connaître certains :

  1. Geany (Linux, Gnome),
  2. Kate (Linux, KDE),
  3. Notepad ++ (Windows),
  4. Scratch (Linux, Gnome).

Il supporte 44 langages de programmation différents et supporte l'ajout de plugins (en python) pour intégrer un plus grand nombre de langages. Une des petites features qui me plaît concerne la mini-map qui est affichée en haut à droite de l'application (elle est en plus interactive, vous pouvez vous rendre à une section plus rapidement, avec un simple clic).

Tout comme d'autres éditeurs, vous pouvez aussi y intégrer vos propres extraits de codes (appelés ici snippets). L'interface peut-être personnalisée comme les raccourcis par exemple, vous pouvez même passer en mode "Distraction Free" si vous souhaitez ne pas être dérangé durant vos sessions de Coding.

Sublime Text v3

Sublime est actuellement disponible en deux versions : la version stable 2.02 ainsi que la beta 3. Cette dernière dispose d'un package Deb disponible pour les architectures x86 et x64.

Cerise sur le gâteau, Devil505 a trouvé un skin pour intégrer Sublime Text à eOS, voici ce que cela donne :

Sublime version eOS

Si vous souhaitez savoir un peu plus sur la prise en main ce logiciel, j'ai trouvé un tutoriel disponible ici.

The post Codez vos scripts avec Sublime Text appeared first on elementary OS Fr.

Gravatar de SckyzO
Original post of SckyzO.Votez pour ce billet sur Planet Libre.

Nono : Nono's Vrac 101 - Dalmatiens

vendredi 13 décembre 2013 à 16:19

Pour ce 101ième Nono's Vrac, deux (micro) nouveautés, dont une visible et l'autre "invisible".

La première, c'est l'ajout d'un jeu de mot pourri au titre des Nono's Vrac (qui suivront pas des histoires ou fait en rapport avec le nombre).

La deuxième, c'est l'utilisation de ma nouvelle modification du hook de shaarli que j'utilise pour générer ces Nono's Vrac, que j'ai mis sur github. C'est moisi, mais à toute fin utile ...

Norway-Photograph-16

liste de lien du 01/11/2013 au 30/11/2013 :

Photo

---------

Les Nono's Vrac sont généré depuis mon petit hook de l'application shaarli, que j'utilise ici : shaarli.m0le.net

Gravatar de Nono
Original post of Nono.Votez pour ce billet sur Planet Libre.

Articles similaires