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

Переименование устройств

Добавлено: Пт авг 24, 2018 4:00 pm
nightwind
Как всем известно, устройства в дереве объектов имеют имена. В основном их придумываешь сам, иногда их придумывают всякие простые устройства автоматом. И что делать, если нужно поменять имя устройства (MysensorsButton02 на что-то более осмысленное)? Простое переименование все сломает, ведь все обращения к объекту из пользовательского кода останутся со старым именем. Значит нужно просто их найти и поменять, ради чего был задуман модуль, переименовывающий объекты. Но все оказалось не так просто.
Поиском по базе находим все упоминания MysensorsButton02. Это просто хренова туча таблиц! Более того встречается такая совсем непонятная шняга как в таблице pvalues -

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

 ID , PROPERTY_ID, 	OBJECT_ID, 	VALUE, 	UPDATED, 	PROPERTY_NAME ,	LINKED_MODULES, 	SOURCE, = 	447 	490 	119 	Corridor 	2017-06-11 21:52:08 	MysensorsButton02.linkedRoom 		
кроме логичных айди хранится еще PROPERTY_NAME = MysensorsButton02.linkedRoom текстом!! какую смысловую нагрузку оно несет? зачем хранить текст, есть есть айди?
Потом еще какое-то sdevice3 в таблице objects.
Пробовал переименовывать в таблицах руками - словил кучу непонятных глюков, которые даже описывать неохота.
А я то наивно думал, что в правильно организованной базе достаточно будет поменять только title объекта, и все будет хорошо.
Сломав на этом мозг, идею пока забросил, но сука незакрытый гештальт все время подрывает меня продолжить изыскания и таки дописать модуль)
Посему вопросы к гуру - зачем нужны эти странные текстовые метки, и какие еще могут быть скрытые подводные камни переименования?

Re: Переименование устройств

Добавлено: Сб авг 25, 2018 9:52 am
tarasfrompir
в пу используется всего несколько таблиц так что ничего там страшного нет.... и все там со связями нормально - проверял лично... :roll:
лично я лишних связей не нашел ...

Re: Переименование устройств

Добавлено: Сб авг 25, 2018 8:59 pm
nightwind
tarasfrompir1 писал(а):
Сб авг 25, 2018 9:52 am
в пу используется всего несколько таблиц так что ничего там страшного нет.... и все там со связями нормально - проверял лично... :roll:
лично я лишних связей не нашел ...
хорошо, что проверял лично)
1. может ты знаешь, что такое sdevice3 в таблице objects?
2. на что влияет и как используется (по всем понятиям лишнее) текстовое поле с имя_объекта.имя_свойства втаблице pvalues? может и не нужно но совсем?
Страшного ничего нет. нужно полностью понимать логику системы, чтобы допилить что-то качественное

Re: Переименование устройств

Добавлено: Вс авг 26, 2018 8:37 am
tarasfrompir
по поводу первого - такого у меня нет и в помине... (может лишняя запись?)
по поводу второго тоже согласен - НО, так же проще строить таблицу обьектов , взял одну таблицу и все получил, а так надо строить дополнительные запросы при постройке таблицы обьектов...
ПС
Да и лишнее поле это не проблема...
Вы же базу пошерстили уже немного.....
Какое количество лишних записей вы уже нашли ?
Я тут в одном модуле писал мусороуборщик...
Так только после текущего модуля мусора на 70 файлов и больше 200 записей в бд... И это не предел..
На одно простое устройство приходится в среднем 50 записей только в базу.
Тут бы базоочиститель какой написать ВОТ БЫЛА БЫ РЕАЛЬНО КРУТАЯ ШТУКА