2 -- patch-ipblocks-drop-ipb_reason.sql
4 -- T166732. Drop old xx_comment fields, and defaults from xx_comment_id fields.
8 DROP TABLE IF EXISTS ipblocks_tmp
;
9 CREATE TABLE /*_*/ipblocks_tmp (
10 ipb_id
int NOT NULL PRIMARY KEY AUTO_INCREMENT
,
11 ipb_address tinyblob
NOT NULL,
12 ipb_user
int unsigned
NOT NULL default 0,
13 ipb_by
int unsigned
NOT NULL default 0,
14 ipb_by_text
varchar(255) binary NOT NULL default '',
15 ipb_by_actor
bigint unsigned
NOT NULL DEFAULT 0,
16 ipb_reason_id
bigint unsigned
NOT NULL,
17 ipb_timestamp
binary(14) NOT NULL default '',
18 ipb_auto bool
NOT NULL default 0,
19 ipb_anon_only bool
NOT NULL default 0,
20 ipb_create_account bool
NOT NULL default 1,
21 ipb_enable_autoblock bool
NOT NULL default '1',
22 ipb_expiry
varbinary(14) NOT NULL default '',
23 ipb_range_start tinyblob
NOT NULL,
24 ipb_range_end tinyblob
NOT NULL,
25 ipb_deleted bool
NOT NULL default 0,
26 ipb_block_email bool
NOT NULL default 0,
27 ipb_allow_usertalk bool
NOT NULL default 0,
28 ipb_parent_block_id
int default NULL,
29 ipb_sitewide bool
NOT NULL default 1
30 ) /*$wgDBTableOptions*/;
32 INSERT OR IGNORE INTO /*_*/ipblocks_tmp (
33 ipb_id
, ipb_address
, ipb_user
, ipb_by
, ipb_by_text
, ipb_by_actor
, ipb_reason_id
,
34 ipb_timestamp
, ipb_auto
, ipb_anon_only
, ipb_create_account
,
35 ipb_enable_autoblock
, ipb_expiry
, ipb_range_start
, ipb_range_end
,
36 ipb_deleted
, ipb_block_email
, ipb_allow_usertalk
, ipb_parent_block_id
, ipb_sitewide
38 ipb_id
, ipb_address
, ipb_user
, ipb_by
, ipb_by_text
, ipb_by_actor
, ipb_reason_id
,
39 ipb_timestamp
, ipb_auto
, ipb_anon_only
, ipb_create_account
,
40 ipb_enable_autoblock
, ipb_expiry
, ipb_range_start
, ipb_range_end
,
41 ipb_deleted
, ipb_block_email
, ipb_allow_usertalk
, ipb_parent_block_id
, ipb_sitewide
44 DROP TABLE /*_*/ipblocks
;
45 ALTER TABLE /*_*/ipblocks_tmp
RENAME TO /*_*/ipblocks
;
46 CREATE UNIQUE INDEX /*i*/ipb_address
ON /*_*/ipblocks (ipb_address(255), ipb_user
, ipb_auto
, ipb_anon_only
);
47 CREATE INDEX /*i*/ipb_user
ON /*_*/ipblocks (ipb_user
);
48 CREATE INDEX /*i*/ipb_range
ON /*_*/ipblocks (ipb_range_start(8), ipb_range_end(8));
49 CREATE INDEX /*i*/ipb_timestamp
ON /*_*/ipblocks (ipb_timestamp
);
50 CREATE INDEX /*i*/ipb_expiry
ON /*_*/ipblocks (ipb_expiry
);
51 CREATE INDEX /*i*/ipb_parent_block_id
ON /*_*/ipblocks (ipb_parent_block_id
);