Переименование устройств
Добавлено: Пт авг 24, 2018 4:00 pm
Как всем известно, устройства в дереве объектов имеют имена. В основном их придумываешь сам, иногда их придумывают всякие простые устройства автоматом. И что делать, если нужно поменять имя устройства (MysensorsButton02 на что-то более осмысленное)? Простое переименование все сломает, ведь все обращения к объекту из пользовательского кода останутся со старым именем. Значит нужно просто их найти и поменять, ради чего был задуман модуль, переименовывающий объекты. Но все оказалось не так просто.
Поиском по базе находим все упоминания MysensorsButton02. Это просто хренова туча таблиц! Более того встречается такая совсем непонятная шняга как в таблице pvalues -
кроме логичных айди хранится еще PROPERTY_NAME = MysensorsButton02.linkedRoom текстом!! какую смысловую нагрузку оно несет? зачем хранить текст, есть есть айди?
Потом еще какое-то sdevice3 в таблице objects.
Пробовал переименовывать в таблицах руками - словил кучу непонятных глюков, которые даже описывать неохота.
А я то наивно думал, что в правильно организованной базе достаточно будет поменять только title объекта, и все будет хорошо.
Сломав на этом мозг, идею пока забросил, но сука незакрытый гештальт все время подрывает меня продолжить изыскания и таки дописать модуль)
Посему вопросы к гуру - зачем нужны эти странные текстовые метки, и какие еще могут быть скрытые подводные камни переименования?
Поиском по базе находим все упоминания 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
Потом еще какое-то sdevice3 в таблице objects.
Пробовал переименовывать в таблицах руками - словил кучу непонятных глюков, которые даже описывать неохота.
А я то наивно думал, что в правильно организованной базе достаточно будет поменять только title объекта, и все будет хорошо.
Сломав на этом мозг, идею пока забросил, но сука незакрытый гештальт все время подрывает меня продолжить изыскания и таки дописать модуль)
Посему вопросы к гуру - зачем нужны эти странные текстовые метки, и какие еще могут быть скрытые подводные камни переименования?