Suppression de tous les historiques

Bonjour,

Je cherche la possibilité de supprimer, depuis un scénario via un bloc code, tous les historiques de Analyse → Historique, plus vieux que « maintenant ».

J’ai déjà créé un ticket à ce sujet, mais il a été fermé. (Suppression de tous les historiques de Analyse -> Historique)

J’ai testé ceci :

$db = new PDO('mysql:host=localhost;dbname=jeedom', 'jeedom', 'xxxxxxxxxxxxxxx');
$result = $db->query("DELETE FROM historyArch WHERE datetime < NOW()");
$scenario->setLog('Return: '.print_r($result));

Log :
Return : 1

L’historique n’est pas purgé.

Un membre de cette communauté peut-il m’aider ?

Par avance, merci.

historyArch c les historiques archivés, history pour les non archivés

Bonjour kiboost,

J’ai déjà testé avec history, c’est pareil, ça ne fonctionne pas.

Si c’est vraiment les plus vieux que maintenant, donc tous, en administration osdb, database et DELETE * FROM history puis DELETE * FROM historyArch

Merci kiboost,

Je dois donc tester :

$db = new PDO('mysql:host=localhost;dbname=jeedom', 'jeedom', 'xxxxxxxxxxxxxxx');
$result = $db->query("DELETE FROM history");
$result2 = $db->query("DELETE FROM historyArch");
$scenario->setLog('Return history : '.print_r($result));
$scenario->setLog('Return historyArch : '.print_r($result2));

Ça fonctionne.

Pourquoi chaque return vaut systématiquement 1 et non pas le nombre de commandes historisées supprimées ?

Comment obtenir le nombre de commandes historisées supprimées ?

Généralement, c’est jamais bon de taper directement dans la BDD. Il vaut mieux utiliser le core.

Regarde du côté de API Documentation

et history::removes($_cmd_id, $_startTime, $_endTime);

Il te reste à lister tes cmd infos historisées et faire un "foreach".

Merci Jeandhom pour ton intervention, et effectivement, ta solution est une bonne alternative.

Si une âme charitable pourrait me fournir le bout de code, ce serait très sympa !

Bonne soirée.

Dans ce cas, pourquoi ne pas directement limiter l’historique dans les paramètres de Jeedom ?

1 J'aime

Bonsoir Fabrice,

Pour garder la main sur la gestion des historiques.

… via un scénario ?

Pas besoin de réponse, je ne savais pas si vous saviez qu’il y avait des options pour cela.

Je tiens malgré tout à vous remercier pour votre intervention, c’est ce qui fait vivre la communauté.

Je vous souhaite une bonne soirée.

1 J'aime