articles:informatique:nettoyage_de_la_base_de_donnee_de_pleroma
Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| articles:informatique:nettoyage_de_la_base_de_donnee_de_pleroma [25/04/2020 20:52] – [Ceux qui n'ont aucun followers et ne suivent personnes] antoineve | articles:informatique:nettoyage_de_la_base_de_donnee_de_pleroma [25/04/2020 22:04] (Version actuelle) – [En tenant compte des personnes suivies] antoineve | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| - | ====== Suppressions des activités | + | ====== Suppressions des activités |
| + | ===== Sans tenir compte des personnes suivies ===== | ||
| <code sql> | <code sql> | ||
| + | -- Il est important de d' | ||
| + | -- puisqu' | ||
| + | -- de lien avec cette table. | ||
| + | -- | ||
| + | -- 1ère partie pour la table activities | ||
| + | -- | ||
| DELETE FROM activities | DELETE FROM activities | ||
| WHERE local = false | WHERE local = false | ||
| + | AND updated_at < (CURRENT_DATE - INTERVAL '90 days' | ||
| + | -- | ||
| + | -- 2ème partie pour la table objects | ||
| + | -- | ||
| + | DELETE FROM objects | ||
| + | WHERE id NOT IN (SELECT CAST(data->>' | ||
| + | AND data->>' | ||
| AND updated_at < (CURRENT_DATE - INTERVAL '90 days' | AND updated_at < (CURRENT_DATE - INTERVAL '90 days' | ||
| </ | </ | ||
| - | ====== Suppresions des objects anciens qui ne sont pas locaux ====== | ||
| - | |||
| - | ===== Suppression sans tenir compte des personnes suivies ===== | ||
| + | ===== En tenant compte des personnes suivies ===== | ||
| + | Seul la première partie de la commande change : | ||
| <code sql> | <code sql> | ||
| + | -- Il est important de d' | ||
| + | -- puisqu' | ||
| + | -- de lien avec cette table. | ||
| + | -- | ||
| + | -- 1ère partie pour la table activities | ||
| + | -- | ||
| + | DELETE FROM activities | ||
| + | WHERE local = false | ||
| + | AND updated_at < (CURRENT_DATE - INTERVAL '90 days') -- Ici 90 jours, à ajuster si besoin | ||
| + | AND data->>' | ||
| + | NOT IN ( | ||
| + | SELECT ap_id FROM users WHERE id IN ( | ||
| + | SELECT following_id FROM following_relationships WHERE follower_id IN ( | ||
| + | SELECT id FROM users WHERE ap_id LIKE ' | ||
| + | AND nickname IS NOT NULL AND nickname NOT LIKE ' | ||
| + | -- | ||
| + | -- 2ème partie pour la table objects | ||
| + | -- | ||
| DELETE FROM objects | DELETE FROM objects | ||
| WHERE id NOT IN (SELECT CAST(data->>' | WHERE id NOT IN (SELECT CAST(data->>' | ||
| Ligne 17: | Ligne 47: | ||
| </ | </ | ||
| - | ===== Suppression, | + | |
| - | ====== Suppressions | + | ====== Suppressions |
| ===== Ceux qui n'ont aucun lien avec les activités ou les objets ===== | ===== Ceux qui n'ont aucun lien avec les activités ou les objets ===== | ||
| Ligne 25: | Ligne 55: | ||
| WHERE ap_id NOT IN ( | WHERE ap_id NOT IN ( | ||
| SELECT data->>' | SELECT data->>' | ||
| - | WHERE data->>' | + | WHERE data->>' |
| AND ap_id NOT IN ( | AND ap_id NOT IN ( | ||
| SELECT actor FROM activities GROUP BY actor HAVING COUNT(*) > 1) | SELECT actor FROM activities GROUP BY actor HAVING COUNT(*) > 1) | ||
| - | ; | + | AND ( |
| + | ap_id LIKE ' | ||
| + | OR ap_id LIKE ' | ||
| + | OR ap_id LIKE ' | ||
| + | OR ap_id LIKE ' | ||
| + | OR ap_id LIKE ' | ||
| </ | </ | ||
| ===== Ceux qui n'ont aucun followers et ne suivent personnes ===== | ===== Ceux qui n'ont aucun followers et ne suivent personnes ===== | ||
articles/informatique/nettoyage_de_la_base_de_donnee_de_pleroma.1587847960.txt · Dernière modification : de antoineve
