Удаление клиента

Материал из ISPWiki
Перейти к: навигация, поиск

Удаление клиентов, не совершавших оплату, не имеющих ненулевых расходов и активных услуг, доступно из интерфейса, во всех остальных случаях удаление можно произвести напрямую в базе данных:

set @account_id = КОД_КЛИЕНТА;
DELETE FROM expense WHERE subaccount IN (SELECT id FROM subaccount WHERE account = @account_id);
DELETE FROM payment WHERE subaccount IN (SELECT id FROM subaccount WHERE account = @account_id);
DELETE FROM billorder WHERE subaccount IN (SELECT id FROM subaccount WHERE account = @account_id);
UPDATE ip SET item = NULL WHERE item IN (SELECT id FROM item WHERE account = @account_id OR parent IN (SELECT id FROM item WHERE account = @account_id));
DELETE FROM item WHERE parent IN (SELECT id FROM (SELECT id FROM item WHERE account = @account_id) itm);
DELETE FROM item WHERE account = @account_id;
DELETE FROM service_profile WHERE account = @account_id;
DELETE FROM invoice WHERE customer IN (SELECT id FROM profile WHERE account = @account_id);
DELETE FROM profile WHERE account = @account_id;
DELETE FROM ticket WHERE account_client = @account_id;
DELETE FROM user WHERE account = @account_id;
DELETE FROM affiliatereward WHERE account = @account_id OR referal = @account_id;
DELETE FROM account WHERE id = @account_id;

После выполнения запросов необходимо перезапустить BILLmanager:

killall core

При этом теряется вся история взаимоотношений с клиентом, его финансовая информация и запросы в поддержку. Сохраняются файлы конфигурации пользователей, аватары и файлы загруженные в запросах.