Mediawiki - Removendo Spam: mudanças entre as edições
(Criou página com '* [http://upload.wikimedia.org/wikipedia/commons/4/41/Mediawiki-database-schema.png Esquema do banco de dados]') |
Sem resumo de edição |
||
Linha 1: | Linha 1: | ||
O seguinte documentação funcionado da seguinte forma: | |||
* adicionar os usuários humanos no grupo "human" | |||
* Para isso vá em Páginas Especiais > Gesrior | |||
ou pela linha de comando no MySQL | |||
INSERT INTO mw_user_groups ( ug_user, ug_group ) VALUES ( 3, "human"); | |||
O conjunto queries usados foram: | |||
# | |||
remove o conteúdo de mw_categorylinks | |||
<source lang="mysql"> | |||
delete from mw_categorylinks where cl_from in (select pg.page_id from mw_page pg where pg.page_id in (select rev_page from `mw_revision` where `rev_user` not in(select ug_user from mw_user_groups) and `rev_timestamp` in (select MIN(`rev_timestamp`) from `mw_revision` group by rev_page))); | |||
</source> | |||
------mw_pagelinks | |||
delete from mw_pagelinks where pl_from in (select pg.page_id from mw_page pg where pg.page_id in (select rev_page from `mw_revision` where `rev_user` not in(select ug_user from mw_user_groups) and `rev_timestamp` in (select MIN(`rev_timestamp`) from `mw_revision` group by rev_page))); | |||
------mw_externallinks | |||
delete from mw_externallinks where el_from in (select pg.page_id from mw_page pg where pg.page_id in (select rev_page from `mw_revision` where `rev_user` not in(select ug_user from mw_user_groups) and `rev_timestamp` in (select MIN(`rev_timestamp`) from `mw_revision` group by rev_page))); | |||
------mw_imagelinks | |||
delete from mw_imagelinks where il_from in (select pg.page_id from mw_page pg where pg.page_id in(select rev_page from `mw_revision` where `rev_user` not in(select ug_user from mw_user_groups) and `rev_timestamp` in (select MIN(`rev_timestamp`) from `mw_revision` group by rev_page))); | |||
-----mw_user | |||
delete from mw_user where user_id not in(select ug_user from mw_user_groups); | |||
-----mw_recentchanges | |||
delete from mw_recentchanges where rc_user not in(select ug_user from mw_user_groups); | |||
-----mw_oldimage | |||
delete from mw_oldimage where oi_user not in(select ug_user from mw_user_groups); | |||
-----mw_logging | |||
delete from mw_logging where log_user not in(select ug_user from mw_user_groups); | |||
-----mw_image | |||
delete from mw_image where img_user not in(select ug_user from mw_user_groups); | |||
-----mw_archive | |||
delete from mw_archive where ar_user not in(select ug_user from mw_user_groups); | |||
delete from mw_page where page_id in (select rev_page from `mw_revision` where `rev_user` not in(select ug_user from mw_user_groups) and `rev_timestamp` in (select MIN(`rev_timestamp`) from `mw_revision` group by rev_page)); | |||
== Referências == | |||
* [[MediaWiki]] | |||
* [http://upload.wikimedia.org/wikipedia/commons/4/41/Mediawiki-database-schema.png Esquema do banco de dados] | * [http://upload.wikimedia.org/wikipedia/commons/4/41/Mediawiki-database-schema.png Esquema do banco de dados] |
Edição das 14h06min de 22 de agosto de 2013
O seguinte documentação funcionado da seguinte forma:
- adicionar os usuários humanos no grupo "human"
- Para isso vá em Páginas Especiais > Gesrior
ou pela linha de comando no MySQL
INSERT INTO mw_user_groups ( ug_user, ug_group ) VALUES ( 3, "human");
O conjunto queries usados foram:
remove o conteúdo de mw_categorylinks
<source lang="mysql">
delete from mw_categorylinks where cl_from in (select pg.page_id from mw_page pg where pg.page_id in (select rev_page from `mw_revision` where `rev_user` not in(select ug_user from mw_user_groups) and `rev_timestamp` in (select MIN(`rev_timestamp`) from `mw_revision` group by rev_page)));
</source>
mw_pagelinks
delete from mw_pagelinks where pl_from in (select pg.page_id from mw_page pg where pg.page_id in (select rev_page from `mw_revision` where `rev_user` not in(select ug_user from mw_user_groups) and `rev_timestamp` in (select MIN(`rev_timestamp`) from `mw_revision` group by rev_page)));
------mw_externallinks
delete from mw_externallinks where el_from in (select pg.page_id from mw_page pg where pg.page_id in (select rev_page from `mw_revision` where `rev_user` not in(select ug_user from mw_user_groups) and `rev_timestamp` in (select MIN(`rev_timestamp`) from `mw_revision` group by rev_page)));
------mw_imagelinks
delete from mw_imagelinks where il_from in (select pg.page_id from mw_page pg where pg.page_id in(select rev_page from `mw_revision` where `rev_user` not in(select ug_user from mw_user_groups) and `rev_timestamp` in (select MIN(`rev_timestamp`) from `mw_revision` group by rev_page)));
mw_user
delete from mw_user where user_id not in(select ug_user from mw_user_groups);
mw_recentchanges
delete from mw_recentchanges where rc_user not in(select ug_user from mw_user_groups);
mw_oldimage
delete from mw_oldimage where oi_user not in(select ug_user from mw_user_groups);
mw_logging
delete from mw_logging where log_user not in(select ug_user from mw_user_groups);
mw_image
delete from mw_image where img_user not in(select ug_user from mw_user_groups);
mw_archive
delete from mw_archive where ar_user not in(select ug_user from mw_user_groups);
delete from mw_page where page_id in (select rev_page from `mw_revision` where `rev_user` not in(select ug_user from mw_user_groups) and `rev_timestamp` in (select MIN(`rev_timestamp`) from `mw_revision` group by rev_page));