Страница 1 из 2

Очистка истории

Добавлено: Вт сен 07, 2021 4:50 pm
Jilber
Подскажите, как с помощью кода удалить историю какого-то конкретного свойства объекта ? И заодно второй вопрос: выставляю нужное мне время хранения истории свойства, но через какое-то время обнаруживаю, что время снова сбивается на 365 дней. При этом Majordomo вроде бы не обновляется каждую неделю (у меня не альфа).
СпойлерПоказать
История.jpg
История.jpg (49.56 КБ) 4970 просмотров

Re: Очистка истории

Добавлено: Вт сен 07, 2021 5:49 pm
Chainik
Тут нужен прямой запрос к БД.
Сам пока не научился, но примеры на форуме есть: https://mjdm.ru/forum/viewtopic.php?f=2 ... 9&start=54

Re: Очистка истории

Добавлено: Вт сен 07, 2021 6:08 pm
Jilber
Я так понимаю достаточно вручную посмотреть в БД ID нужного свойства и подставить его в следующий код вместо "$pvalue_id" ? Если само это свойство не удалять его ID ведь никогда не поменяется и нет опасности стереть из базы что-то другое ?

Код: Выделить всё

SQLExec("DELETE FROM phistory WHERE  VALUE_ID = $pvalue_id");

Re: Очистка истории

Добавлено: Вт сен 07, 2021 6:18 pm
fandaymon
Jilber писал(а):
Вт сен 07, 2021 6:08 pm
Я так понимаю достаточно вручную посмотреть в БД ID нужного свойства и подставить его в следующий код вместо "$pvalue_id" ? Если само это свойство не удалять его ID ведь никогда не поменяется и нет опасности стереть из базы что-то другое ?

Код: Выделить всё

SQLExec("DELETE FROM phistory WHERE  VALUE_ID = $pvalue_id");
При нормальной работе даже если и стереть свойство, то id это автоинкремент (т.е.оно всё время возрастает) и у новых свойств id будут другие

А ещё можно просто оптимайзером историю подчищать, без запросов к базе

Re: Очистка истории

Добавлено: Вт сен 07, 2021 6:45 pm
Jilber
Такое впечатление, что в Оптимайзере не сохраняется если пункт "хранить историю, дней" ставишь равным 0.
СпойлерПоказать
Оптимайзер.jpg
Оптимайзер.jpg (36.08 КБ) 4953 просмотра
Оптимайзер-2.jpg
Оптимайзер-2.jpg (25.28 КБ) 4953 просмотра
У другого свойства стоит 180 дней и видно, что сохранилось (причём, как я писал в первом сообщении, периодически само сбивается обратно на 365 дней).

Re: Очистка истории

Добавлено: Вт сен 07, 2021 8:40 pm
fandaymon
Jilber писал(а):
Вт сен 07, 2021 6:45 pm
Такое впечатление, что в Оптимайзере не сохраняется если пункт "хранить историю, дней" ставишь равным 0.
СпойлерПоказать
Оптимайзер.jpg
Оптимайзер-2.jpg
У другого свойства стоит 180 дней и видно, что сохранилось (причём, как я писал в первом сообщении, периодически само сбивается обратно на 365 дней).
Просто 0 в оптимизаторе означает хранить бесконечно

Re: Очистка истории

Добавлено: Ср сен 08, 2021 5:27 am
Logrus
Jilber писал(а):
Вт сен 07, 2021 6:08 pm
Я так понимаю достаточно вручную посмотреть в БД ID нужного свойства и подставить его в следующий код вместо "$pvalue_id" ? Если само это свойство не удалять его ID ведь никогда не поменяется и нет опасности стереть из базы что-то другое ?

Код: Выделить всё

SQLExec("DELETE FROM phistory WHERE  VALUE_ID = $pvalue_id");
$value_id = (int)getHistoryValueId($ot . '.' . $history_value); //имя об!екта и имя свтйства вызвавшего метод есть в параметрах, т.е. можно получить универсально в методе
но если включена сепарация истории, то нужно получить и имя таблички, что впрочем есть в ПУ счетчика
и выборку для удаления как бы по времени тоже ограничить

Re: Очистка истории

Добавлено: Ср сен 08, 2021 5:30 am
Logrus
Jilber писал(а):
Вт сен 07, 2021 6:45 pm
Такое впечатление, что в Оптимайзере не сохраняется если пункт "хранить историю, дней" ставишь равным 0.
СпойлерПоказать
Оптимайзер.jpg
Оптимайзер-2.jpg
У другого свойства стоит 180 дней и видно, что сохранилось (причём, как я писал в первом сообщении, периодически само сбивается обратно на 365 дней).
это ПУ, детка :lol:

Re: Очистка истории

Добавлено: Вт ноя 21, 2023 8:00 pm
OlegM
Добрый день. Не нашел другой темы по истории свойства объекта. Напишу здесь. Не знаю баг это или так задумано, но не понятно зачем по 2 раза записываются одинаковые подряд значения? И второе. Не правильно происходит оптимизация истории. Например есть две подряд записи с одним и тем-же значением. Если произвести оптимизацию, то удалится не второй показатель (который не нужен), а первый. Т.е. получается после оптимизации график показывает неверную историю с разницей второй одинаковой записи. Я так понимаю эти вопросы конкретно к Сергею, если он тут появляется.

Re: Очистка истории

Добавлено: Ср ноя 22, 2023 4:57 pm
Chainik
По первому вопросу (почему одинаковые значения записываются по 2 раза подряд), если я правильно понимаю, чтобы графики красивее выглядели. Например, фиксируется включение/выключение насоса. Сейчас на графике это выглядит красиво. А без дублирующего значения смотрелось бы не очень.
CropImage.png
CropImage.png (2.14 КБ) 3397 просмотров