Modifier une entrée dans la base de donnée de isso avec SQLite
Je voulais enlever une évaluation négative à un commentaire sur mon serveur isso. Voici comment je m’y suis pris avec l’outil sqlite3
.
D’abord on se connecte au fichier de base de données.
sqlite> attach database '/home/_isso/philavelo.comments.db' as isso;
sqlite> .databases
main: "" r/w
isso: /home/_isso/philavelo.comments.db r/w
Pour afficher les tables.
sqlite> .tables
isso.comments isso.preferences isso.threads
Pour afficher les fils de discussions.
sqlite> select * from isso.threads;
1|/2022/tour-ile/|
2|/2022/cargo-enfants-integration/|
Pour afficher tous les commentaires.
sqlite> select * from isso.comments;
1|1||1659634295.97484||1|24.53.48.0|Très belles photos de famille|Véronique D|dupire.veronique@gmail.com||0|0||0
1|2|1|1659656728.46543||1|184.162.187.0|Merci Véro ! On pourrait faire le tour ensemble en 2023 !|Philippe|philippe.st-jacques@polymtl.ca||0|0||0
2|3||1665798493.88661||1|70.81.80.0|Wow, vous êtes magnifiques!
Quelle bonne idée de faire la promotion des velos cargos pour améliorer la vie quotidienne des personnes handicapées. Merci Philippe|Karine|kikari13@hotmail.com||0|1||1
2|4||1665849568.89773||1|129.222.207.0|Bonjour Karine, c'est un plaisir pour nous de laisser la voiture stationnée sur la rue. Les nouvelles pistes cyclables sécurisées comme le REV à Montréal nous encouragent davantage à sortir en vélo en famille. Aussi il y a maintenant plusieurs modèles de vélos cargos pour répondre aux besoins de chacun. Il suffit d'un peu de bricolage pour adapter le siège à son enfant.|Philippe|philippe.st-jacques@polymtl.ca|http://philavelo.com|0|0||1
Pour voir le schema de la table incluant les indices. Les indices nous sont essentiels pour les commandes suivantes et faires des modifications.
sqlite> .schema isso.comments
CREATE TABLE isso.comments ( tid REFERENCES threads(id), id INTEGER PRIMARY KEY, parent INTEGER, created FLOAT NOT NULL, modified FLOAT, mode INTEGER, remote_addr VARCHAR, text VARCHAR, author VARCHAR, email VARCHAR, website VARCHAR, likes INTEGER DEFAULT 0, dislikes INTEGER DEFAULT 0, voters BLOB NOT NULL, notification INTEGER DEFAULT 0);
CREATE TRIGGER isso.remove_stale_threads AFTER DELETE ON comments BEGIN DELETE FROM threads WHERE id NOT IN (SELECT tid FROM comments); END
Trouver le commentaire avec une évaluation négative.
sqlite> select tid,id,author,text,dislikes from isso.comments where dislikes=1;
2|3|Karine|Wow, vous êtes magnifiques!
Quelle bonne idée de faire la promotion des velos cargos pour améliorer la vie quotidienne des personnes handicapées. Merci Philippe|1
Retirer l’évaluation négative avec la clé id
.
sqlite> update isso.comments set dislikes=0 where id=3;
SQlite 3 fait un commit automatiquement par défaut donc nul besoin d’utiliser la commande commit
. On ferme la connection avec la base de données et on quitte SQLite.
sqlite> detach database isso;
sqlite> .quit
Et voilà la DB de ISSO a été modifiée et les valeurs sont à jours sur le site web. C’est pas plus compliqué que ça !
Liens utiles:
Par Philippe St-Jacques