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

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

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".

1 « J'aime »

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

1 « J'aime »

… via un scénario ?

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