Время изменения свойства

Использование системы в различных ситуациях, вопросы программирования сценариев.

Модератор: immortal

Аватара пользователя
Bagir
Сообщения: 1601
Зарегистрирован: Вт сен 17, 2013 6:46 pm
Откуда: Ярославская область город Углич
Благодарил (а): 203 раза
Поблагодарили: 367 раз

Re: Время изменения свойства

Сообщение Bagir » Ср авг 17, 2022 6:24 pm

Logrus писал(а):
Ср авг 17, 2022 5:24 pm
принципы реляционных бд, вот такая избыточность для упрощения запросов допускается
Тут, как говориться, пляшем от того что есть.
Logrus писал(а):
Ср авг 17, 2022 5:24 pm
у нас одно и то же в нескольких местах, что б не было ошибок оно должно быть актуальным!
Если это про время, и возможную небольшую разницу во времени свойства объекта UPDATED и колонки UPDATED в SQL у некого свойства. Так я не лазаю своей функцией к объектам, у которых есть штатные свойства UPDATED. Только в те, у которых такого нет. Так что актуальность обеспечена. А если про актуальные данные в колонке PROPERTY_NAME, то на данный момент мы уже знаем ситуацию, при которой там может не быть данных. Поэтому я и оставил длинный альтернативный вариант, если по быстрому не прокатило.
Logrus писал(а):
Ср авг 17, 2022 5:24 pm
цепочка там несколько больше, не только поле пропнейм в пвалюес, но и ключ р: в кеш_валюес
Хм, а я думал, что уже во всём разобрался. Но про кеш даже и не подумал. Посмотрю, спасибо. Но на сколько я понимаю структуру db, id всегда создаются, и альтернативному способу и без кеша можно работать.
Windows 10, HTTP, MegaD, Z-Wave, 1-Wire, CONNECT
Logrus
Сообщения: 1933
Зарегистрирован: Пт апр 07, 2017 12:20 pm
Благодарил (а): 305 раз
Поблагодарили: 415 раз

Re: Время изменения свойства

Сообщение Logrus » Ср авг 17, 2022 6:32 pm

когда все в одном месте разные функции при чтении читая из оного не приведут к ошибкам
когда это продублировано и может отличаться от оригинала, пропнейм или ид в кеш валуес на пропертуес не удалился старый
то разные функции при селектах могут как прочитать ид из пропертуес где оригинал, так и из кеш валуес где копия и она должна соответствовать оригиналу
если разнятся то будут траблы

нарушение принципов о чем говорил ксор сделано для ускорения работы и уменьшении нагрузки на мскл
с одной стороны полезно, но есть и минусы, об одном из них про несоответствие этих данных и куча последних постов
За это сообщение автора Logrus поблагодарил:
Bagir (Ср авг 17, 2022 6:47 pm)
Рейтинг: 1.18%
Telegram | Блог
Raspberry Pi3, с образа от Сергея 3.31, PHP 7, флешка 16 Гб работает с 10.09.2017
Почти всё время уходит на исправление ошибок, оставшееся - на их повторение. (с) ))) Спасибо
Аватара пользователя
Bagir
Сообщения: 1601
Зарегистрирован: Вт сен 17, 2013 6:46 pm
Откуда: Ярославская область город Углич
Благодарил (а): 203 раза
Поблагодарили: 367 раз

Re: Время изменения свойства

Сообщение Bagir » Пт авг 19, 2022 3:00 pm

Logrus писал(а):
Ср авг 17, 2022 6:32 pm
когда все в одном месте разные функции при чтении читая из оного не приведут к ошибкам
Вчера я всё же решился навести порядок в именах объектов комнат и реле. За эти годы там такой бардак в именах накопился. Просто в начале у меня ещё и никакого стиля не было. Многое попало под переименование. Ну и как следствие полный беспредел в колонке PROPERTY_NAME. Смотрю так:

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

SELECT * 
FROM pvalues
JOIN objects ON pvalues.OBJECT_ID = objects.id
JOIN properties ON pvalues.PROPERTY_ID = properties.id
WHERE pvalues.PROPERTY_NAME != CONCAT_WS(  '.', objects.TITLE, properties.TITLE ) 
Правлю всё разом так:

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

UPDATE  `pvalues` SET  `PROPERTY_NAME` = CONCAT( (
SELECT title
FROM  `objects` 
WHERE pvalues.OBJECT_ID = objects.id
),  '.', (

SELECT title
FROM  `properties` 
WHERE pvalues.PROPERTY_ID = properties.id
) )
Вроде бы сейчас всё хорошо. Но вот ещё одна причина ошибок. Старайтесь не переименовывать объекты без необходимости. Лучше создать новый. Мне просто было историю свойств жаль терять. Покою теперь только кеш не дает. Я до сих пор не знаю структуру кеша. И какие методы изначально его используют. Как нибудь в непогоду займусь изучением. Что то мне подсказывает, что его можно просто грохнуть. И даже не можно, а нужно. Подскажите что почистить?
Что мне будет за то, если грохну все записи в таблице cached_values? Не саму таблицу разумеется. Или нужно использовать условия? и всё удалять не стоит? Тип таблицы MEMORY, всё равно же очистится при перезагрузке, или это не так?
Windows 10, HTTP, MegaD, Z-Wave, 1-Wire, CONNECT
Logrus
Сообщения: 1933
Зарегистрирован: Пт апр 07, 2017 12:20 pm
Благодарил (а): 305 раз
Поблагодарили: 415 раз

Re: Время изменения свойства

Сообщение Logrus » Пт авг 19, 2022 3:21 pm

просто в модулях класс, объект нужно доработать едит.пхп
Telegram | Блог
Raspberry Pi3, с образа от Сергея 3.31, PHP 7, флешка 16 Гб работает с 10.09.2017
Почти всё время уходит на исправление ошибок, оставшееся - на их повторение. (с) ))) Спасибо
Аватара пользователя
Bagir
Сообщения: 1601
Зарегистрирован: Вт сен 17, 2013 6:46 pm
Откуда: Ярославская область город Углич
Благодарил (а): 203 раза
Поблагодарили: 367 раз

Re: Время изменения свойства

Сообщение Bagir » Пт авг 19, 2022 3:25 pm

Logrus писал(а):
Пт авг 19, 2022 3:21 pm
просто в модулях класс, объект нужно доработать едит.пхп
Ничего не понял, но очень интересно. Что за хитрость такая?
Windows 10, HTTP, MegaD, Z-Wave, 1-Wire, CONNECT
Logrus
Сообщения: 1933
Зарегистрирован: Пт апр 07, 2017 12:20 pm
Благодарил (а): 305 раз
Поблагодарили: 415 раз

Re: Время изменения свойства

Сообщение Logrus » Пт авг 19, 2022 3:48 pm

Bagir писал(а):
Пт авг 19, 2022 3:25 pm
Logrus писал(а):
Пт авг 19, 2022 3:21 pm
просто в модулях класс, объект нужно доработать едит.пхп
Ничего не понял, но очень интересно. Что за хитрость такая?
https://github.com/sergejey/majordomo/b ... nc.php#L75
ну вот здесь обновление успешное классового свойства

значит надо обновить пропнейм в пвалюес, поменяли если

п.с. чуть выше, проблема до конца не решена ¯\_(ツ)_/¯
За это сообщение автора Logrus поблагодарил:
Bagir (Пт авг 19, 2022 3:58 pm)
Рейтинг: 1.18%
Telegram | Блог
Raspberry Pi3, с образа от Сергея 3.31, PHP 7, флешка 16 Гб работает с 10.09.2017
Почти всё время уходит на исправление ошибок, оставшееся - на их повторение. (с) ))) Спасибо
Ответить