mirror of
https://github.com/YunoHost-Apps/mediawiki_ynh.git
synced 2024-09-03 19:46:05 +02:00
44 lines
1.9 KiB
SQL
44 lines
1.9 KiB
SQL
-- Add extra option fields to the ipblocks table, add some extra indexes,
|
|
-- convert infinity values in ipb_expiry to something that sorts better,
|
|
-- extend ipb_address and range fields, add a unique index for block conflict
|
|
-- detection.
|
|
|
|
-- Conflicts in the new unique index can be handled by creating a new
|
|
-- table and inserting into it instead of doing an ALTER TABLE.
|
|
|
|
|
|
DROP TABLE IF EXISTS /*$wgDBprefix*/ipblocks_newunique;
|
|
|
|
CREATE TABLE /*$wgDBprefix*/ipblocks_newunique (
|
|
ipb_id int NOT NULL auto_increment,
|
|
ipb_address tinyblob NOT NULL,
|
|
ipb_user int unsigned NOT NULL default '0',
|
|
ipb_by int unsigned NOT NULL default '0',
|
|
ipb_reason tinyblob NOT NULL,
|
|
ipb_timestamp binary(14) NOT NULL default '',
|
|
ipb_auto bool NOT NULL default 0,
|
|
ipb_anon_only bool NOT NULL default 0,
|
|
ipb_create_account bool NOT NULL default 1,
|
|
ipb_expiry varbinary(14) NOT NULL default '',
|
|
ipb_range_start tinyblob NOT NULL,
|
|
ipb_range_end tinyblob NOT NULL,
|
|
|
|
PRIMARY KEY ipb_id (ipb_id),
|
|
UNIQUE INDEX ipb_address_unique (ipb_address(255), ipb_user, ipb_auto),
|
|
INDEX ipb_user (ipb_user),
|
|
INDEX ipb_range (ipb_range_start(8), ipb_range_end(8)),
|
|
INDEX ipb_timestamp (ipb_timestamp),
|
|
INDEX ipb_expiry (ipb_expiry)
|
|
|
|
) /*$wgDBTableOptions*/;
|
|
|
|
INSERT IGNORE INTO /*$wgDBprefix*/ipblocks_newunique
|
|
(ipb_id, ipb_address, ipb_user, ipb_by, ipb_reason, ipb_timestamp, ipb_auto, ipb_expiry, ipb_range_start, ipb_range_end, ipb_anon_only, ipb_create_account)
|
|
SELECT ipb_id, ipb_address, ipb_user, ipb_by, ipb_reason, ipb_timestamp, ipb_auto, ipb_expiry, ipb_range_start, ipb_range_end, 0 , ipb_user=0
|
|
FROM /*$wgDBprefix*/ipblocks;
|
|
|
|
DROP TABLE IF EXISTS /*$wgDBprefix*/ipblocks_old;
|
|
RENAME TABLE /*$wgDBprefix*/ipblocks TO /*$wgDBprefix*/ipblocks_old;
|
|
RENAME TABLE /*$wgDBprefix*/ipblocks_newunique TO /*$wgDBprefix*/ipblocks;
|
|
|
|
UPDATE /*$wgDBprefix*/ipblocks SET ipb_expiry='infinity' WHERE ipb_expiry='';
|