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.