481 shaares
4 résultats
taggé
BDD
Un analyseur de bdd postgresql
[merci à Ana du projet Plume pour m'avoir expliqué tout ça, c'est un copié-collé de ses messages]
- pour sqlite : sqlite3 plume.db
- pour postgres : sudo su postgres -c psql, puis \c plume (si ta bdd s'appelle plume)
ensuite, il faut que tu récupères l'id de la personne que tu veux ajouter au blog :
SELECT id FROM users WHERE fqn = 'NomDUtilisateur';
et l'id du blog:
SELECT id FROM blogs WHERE fqn = 'SlugDuBlog';
après, il faut ajouter un nouveau "lien" entre les deux, avec :
INSERT INTO blog_authors (blog_id, author_id) VALUES (IdDuBlog, IdDeLaPersonne);
après si tu veux qu'elle ait accès à un article dans ce blog pour pouvoir le modifier avec toi (parce que là elle peut juste en écrire d'autres, et son nom apparaît sur ~/Blog/ mais c'est tout), il faut aussi l'ajouter en auteur de l'article
d'abord tu récup l'ID de l'article :
SELECT id FROM posts WHERE slug = 'Slug';
(le slug c'est la dernière partie de l'url, qui se base sur le titre)
et tu ajoute le lien :
INSERT INTO post_authors (post_id, author_id) VALUES (IdDuPost, IdDeLaPersonne);
- pour sqlite : sqlite3 plume.db
- pour postgres : sudo su postgres -c psql, puis \c plume (si ta bdd s'appelle plume)
ensuite, il faut que tu récupères l'id de la personne que tu veux ajouter au blog :
SELECT id FROM users WHERE fqn = 'NomDUtilisateur';
et l'id du blog:
SELECT id FROM blogs WHERE fqn = 'SlugDuBlog';
après, il faut ajouter un nouveau "lien" entre les deux, avec :
INSERT INTO blog_authors (blog_id, author_id) VALUES (IdDuBlog, IdDeLaPersonne);
après si tu veux qu'elle ait accès à un article dans ce blog pour pouvoir le modifier avec toi (parce que là elle peut juste en écrire d'autres, et son nom apparaît sur ~/Blog/ mais c'est tout), il faut aussi l'ajouter en auteur de l'article
d'abord tu récup l'ID de l'article :
SELECT id FROM posts WHERE slug = 'Slug';
(le slug c'est la dernière partie de l'url, qui se base sur le titre)
et tu ajoute le lien :
INSERT INTO post_authors (post_id, author_id) VALUES (IdDuPost, IdDeLaPersonne);
Dans le cas d'une instance précédemment fédérée et maintenant bloquée et ayant énormément de contenu, il est possible de facilité la suppression de tous les statuts et les comptes fédérés en interagissant directement avec la base de donnée.
Connexion à la base de donnée pleroma (ce connecter avec l'user pleroma)
pleroma $ psql
Suppression des statuts et des comptes de la base de données
pleroma=> BEGIN;
pleroma=> DELETE FROM activities WHERE actor LIKE 'https://instancevisée.ndl/%';
pleroma=> DELETE FROM objects WHERE data ->> 'id' LIKE 'https://instancevisée.ndl/%';
pleroma=> DELETE FROM users WHERE ap_id LIKE 'https://instancevisée.ndl/%';
pleroma=> COMMIT;
Connexion à la base de donnée pleroma (ce connecter avec l'user pleroma)
pleroma $ psql
Suppression des statuts et des comptes de la base de données
pleroma=> BEGIN;
pleroma=> DELETE FROM activities WHERE actor LIKE 'https://instancevisée.ndl/%';
pleroma=> DELETE FROM objects WHERE data ->> 'id' LIKE 'https://instancevisée.ndl/%';
pleroma=> DELETE FROM users WHERE ap_id LIKE 'https://instancevisée.ndl/%';
pleroma=> COMMIT;