Удаление тарифа
Перед удалением тарифа система проверяет возможность его удаления:
- количество обычных пользователей в этом тарифе должно быть равно нулю
- количество замороженных пользователей в этом тарифе должно быть равно нулю
- количество отключённых пользователей в этом тарифе должно быть равно нулю
- количество удалённых пользователей в этом тарифе должно быть равно нулю
- это должен быть не последний тариф в системе
- на этом тарифе не должно висеть пользователей в онлайне
Типичные ошибки
Зачем сделаны такие проверки? Для того, чтоб пользователи системы MikBiLL после неправильного взаимодействия с системой не говорили, что "не работает" и "не показывает онлайн".
Вот типичные методы, как этого (не работающего онлайна) можно добиться:
- Изменить в базе у пользователей всех групп gid, но не пере подключить их.
Отчёты
Логируются как попытки удаления тарифов, так и сам процесс удаления.
Отчёты → логи:
- CHECK DEL - проверка на удаление
- DELETE - само удаление
Debug
Как найти причину через базу данных.
Поочередно выполнить запросы в БД MySQL, где :gid заменить на id удаляемого тарифа
SELECT count(uid) as count FROM `users` where gid=:gid; SELECT count(uid) as count FROM `usersblok` where gid=:gid; SELECT count(uid) as count FROM `usersdel` where gid=:gid; SELECT count(uid) as count FROM `usersfreeze` where gid=:gid; SELECT count(uid) as `count` FROM `radacctbras` WHERE gid=:gid;
Запрос в котором count > 0 сообщает нам место из за которого проблема