Начиная с 50.25 (или чуть раньше) версии, многие данные из таблицы users мигрировали в специальную таблицу dopdata, которая, напомню, предназначена для хранения нефиксированных данных, т.е. тех, которые необходимы для идентификации клиента исходя из требований конкретной сети. Например, в разделе "адрес" можно добавить поле "город", "район","подъезд" либо удалить иное. При апдейте с предыдущих версий, данные по адресу переносятся. Однако, как оказалось, у многих была практика хранения определенных параметров клиента в полях, не предназначенных для таких данных. В частности, в поле контракт хранения мак-адреса.
Для переноса таких данных был создан скрипт mv2dopdata.pl.
Этот скрипт работает как плагин для админки. Необходимо зайти в раздел "настройки" -> "плагины админки" и в свободную строку добавить:
в первую колонку: mv2dopdata
во вторую: конвертер
Также необходимо кинуть файл mv2dopdata.pl в /usr/local/nodeny/web/, предварительно отредактировав его. Скрипту нужны всего 3 параметра:
$FIELD='contract'; # имя поля в таблице users
$ALIAS='_mac'; # алиас в таблице дополнительных данных
$ONLY_MAIN_ID=1; # 1 - обрабатывать только основные записи (без алиасов)
в данном примере значения поля contract будет перенесено в поле с алиасом _mac дополнительных данных.
Запускайте на выполнение ""Операции" -> "конвертер".
Внимание: все что было до этого в поле _mac теряется! В любом случае сделайте бекап БД как указано в документации к NoDeny.
Скрипт обрабатывает 3 ситуации:
- у клиента ни разу не редактировались данные в шаблоне, где находится поле "мак-адрес";
- у клиента есть данные в этом шаблоне, но нет данных по полю "мак-адрес";
- у клиента есть данные в поле "мак-адрес".
Отпишитесь как прошла конвертация.