sergejey / majordomo

Home automation platform
MIT License
388 stars 157 forks source link

increasing the cache value limit #1122

Closed Anisan closed 5 months ago

sergejey commented 5 months ago

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

Anisan commented 5 months ago

а dbInstall в objects.class.php в какой момент вызывается? да пожалуй не пересоздаст, надо удалять, или может лучше добавить ALTER TABLE cached_values CHANGE COLUMN DATAVALUE DATAVALUE VARCHAR(2048) NOT NULL DEFAULT '';

sergejey commented 5 months ago

Он вызывается в момент установки модуля и при обновлении. Т.е. эта функция будет вызывана, но изменения структуры применится только для новых полей -- изменение формата не затрагивает уже существующие поля в базе. Для изменения структуры существующих полей нужно либо принудительно это делать через SQLExec и там прописывать ALTER или "дропать" таблицу чтобы новая структура взялась из описания -- там так раньше делалось, но зачем-то было закомментировано (сейчас не вспомню зачем). В любом случае, изменения со структурой надо хорошо тестировать на предмет того, что переход со старого на новое происходит корректно.

ai91 commented 5 months ago

О, вещь нужная. Я уже уткнулся в лимиты - пришлось перекраивать свои скрипты чтобы сбрасывать аккумулятор хранящийся в кэше не раз в минуту, а дважды. Иначе переполнялся.