-- Temporarily "disable" all users by changing their username
-- Choose and check if prefix exists (choose another if any matches found)
select count(1) from auth_user where username 'DIS_%';
-- "DISABLE" all users temporarily (be aware that long usernames would get truncated)
update auth_user set username = concat('DIS_', username) where LENGTH(username) <= 25;
-- "ENABLE" affected users
update auth_user set username = substring(username, 5) where username like 'DIS_%';
-- Log out users currently logged in
update django_session set expire_date = NOW() where expire_date < NOW();
Tive de ajudar um cliente que estava muito atrasado em seus pagamentos. “Sua última fatura não está vencida”, “Suas contas dos últimos 3 meses estão vencidas” não surtiram o efeito desejado. Nem a ameaça “Pague ou fecharemos os servidores”. Sabendo que eles ainda usavam o serviço e que eventualmente pagariam se perdessem o acesso, eu não queria encerrar o serviço e que encerrar o serviço não era realmente uma opção por motivos .
Nota: “Dica profissional” pode não ser o melhor título aqui, mas eu só queria armazenar essa dica para a posteridade, caso eu precise dela novamente.