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: