mediawiki-extensions-AbuseF.../abusefilter.tables.sqlite.sql
Mark A. Hershberger f90dc2bcc9 Split AbuseFilter schema updates for SQLite out after briefly talking
with MaxSem about the desired course of action.  Perhaps later these
can be merged back, but this seemed to be the quickest way to get
AbuseFilter working with SQLite working for now.
2011-11-08 03:07:01 +00:00

70 lines
2.9 KiB
SQL

-- SQL tables for AbuseFilter extension
CREATE TABLE /*$wgDBprefix*/abuse_filter (
af_id BIGINT unsigned NOT NULL AUTO_INCREMENT,
af_pattern BLOB NOT NULL,
af_user BIGINT unsigned NOT NULL,
af_user_text varchar(255) binary NOT NULL,
af_timestamp binary(14) NOT NULL,
af_enabled tinyint(1) not null default 1,
af_comments BLOB,
af_public_comments TINYBLOB,
af_hidden tinyint(1) not null default 0,
af_hit_count bigint not null default 0,
af_throttled tinyint(1) NOT NULL default 0,
af_deleted tinyint(1) NOT NULL DEFAULT 0,
af_actions varchar(255) NOT NULL DEFAULT '',
af_global tinyint(1) NOT NULL DEFAULT 0
) /*$wgDBTableOptions*/;
CREATE INDEX af_user ON /*$wgDBprefix*/abuse_filter (af_user);
CREATE TABLE /*$wgDBprefix*/abuse_filter_action (
afa_filter BIGINT unsigned NOT NULL,
afa_consequence varchar(255) NOT NULL,
afa_parameters TINYBLOB NOT NULL,
PRIMARY KEY (afa_filter,afa_consequence)
) /*$wgDBTableOptions*/;
CREATE INDEX afa_consequence ON /*$wgDBprefix*/abuse_filter_action (afa_consequence);
CREATE TABLE /*$wgDBprefix*/abuse_filter_log (
afl_id BIGINT unsigned NOT NULL AUTO_INCREMENT,
afl_filter varchar(64) binary NOT NULL,
afl_user BIGINT unsigned NOT NULL,
afl_user_text varchar(255) binary NOT NULL,
afl_ip varchar(255) not null,
afl_action varbinary(255) not null,
afl_actions varbinary(255) not null,
afl_var_dump BLOB NOT NULL,
afl_timestamp binary(14) NOT NULL,
afl_namespace tinyint NOT NULL,
afl_title varchar(255) binary NOT NULL,
afl_wiki varchar(64) binary NULL,
afl_deleted tinyint(1) NOT NULL DEFAULT 0,
afl_patrolled_by int unsigned NULL
) /*$wgDBTableOptions*/;
CREATE INDEX afl_filter_timestamp ON /*$wgDBprefix*/abuse_filter_log (afl_filter,afl_timestamp);
CREATE INDEX afl_user_timestamp ON /*$wgDBprefix*/abuse_filter_log (afl_user,afl_user_text,afl_timestamp);
CREATE INDEX afl_timestamp ON /*$wgDBprefix*/abuse_filter_log (afl_timestamp);
CREATE INDEX afl_page_timestamp ON /*$wgDBprefix*/abuse_filter_log (afl_namespace, afl_title, afl_timestamp);
CREATE INDEX afl_ip_timestamp ON /*$wgDBprefix*/abuse_filter_log (afl_ip, afl_timestamp);
CREATE TABLE /*$wgDBprefix*/abuse_filter_history (
afh_id BIGINT unsigned NOT NULL AUTO_INCREMENT,
afh_filter BIGINT unsigned NOT NULL,
afh_user BIGINT unsigned NOT NULL,
afh_user_text varchar(255) binary NOT NULL,
afh_timestamp binary(14) NOT NULL,
afh_pattern BLOB NOT NULL,
afh_comments BLOB NOT NULL,
afh_flags TINYBLOB NOT NULL,
afh_public_comments TINYBLOB,
afh_actions BLOB,
afh_deleted tinyint(1) NOT NULL DEFAULT 0,
afh_changed_fields varchar(255) NOT NULL DEFAULT ''
) /*$wgDBTableOptions*/;
CREATE INDEX afh_filter ON /*$wgDBprefix*/abuse_filter_history (afh_filter);
CREATE INDEX afh_user ON /*$wgDBprefix*/abuse_filter_history (afh_user);
CREATE INDEX afh_user_text ON /*$wgDBprefix*/abuse_filter_history (afh_user_text);
CREATE INDEX afh_timestamp ON /*$wgDBprefix*/abuse_filter_history (afh_timestamp);