Split down patch-actor-table.sql
[lhc/web/wiklou.git] / maintenance / sqlite / archives / patch-ipblocks-ipb_by_actor.sql
1 BEGIN;
2
3 DROP TABLE IF EXISTS ipblocks_tmp;
4 CREATE TABLE /*_*/ipblocks_tmp (
5 ipb_id int NOT NULL PRIMARY KEY AUTO_INCREMENT,
6 ipb_address tinyblob NOT NULL,
7 ipb_user int unsigned NOT NULL default 0,
8 ipb_by int unsigned NOT NULL default 0,
9 ipb_by_text varchar(255) binary NOT NULL default '',
10 ipb_by_actor bigint unsigned NOT NULL DEFAULT 0,
11 ipb_reason varbinary(767) NOT NULL default '',
12 ipb_reason_id bigint unsigned NOT NULL DEFAULT 0,
13 ipb_timestamp binary(14) NOT NULL default '',
14 ipb_auto bool NOT NULL default 0,
15 ipb_anon_only bool NOT NULL default 0,
16 ipb_create_account bool NOT NULL default 1,
17 ipb_enable_autoblock bool NOT NULL default '1',
18 ipb_expiry varbinary(14) NOT NULL default '',
19 ipb_range_start tinyblob NOT NULL,
20 ipb_range_end tinyblob NOT NULL,
21 ipb_deleted bool NOT NULL default 0,
22 ipb_block_email bool NOT NULL default 0,
23 ipb_allow_usertalk bool NOT NULL default 0,
24 ipb_parent_block_id int default NULL
25 ) /*$wgDBTableOptions*/;
26
27 INSERT OR IGNORE INTO /*_*/ipblocks_tmp (
28 ipb_id, ipb_address, ipb_user, ipb_by, ipb_by_text, ipb_reason,
29 ipb_timestamp, ipb_auto, ipb_anon_only, ipb_create_account,
30 ipb_enable_autoblock, ipb_expiry, ipb_range_start, ipb_range_end,
31 ipb_deleted, ipb_block_email, ipb_allow_usertalk, ipb_parent_block_id)
32 SELECT
33 ipb_id, ipb_address, ipb_user, ipb_by, ipb_by_text, ipb_reason,
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
37 FROM /*_*/ipblocks;
38
39 DROP TABLE /*_*/ipblocks;
40 ALTER TABLE /*_*/ipblocks_tmp RENAME TO /*_*/ipblocks;
41 CREATE UNIQUE INDEX /*i*/ipb_address ON /*_*/ipblocks (ipb_address(255), ipb_user, ipb_auto, ipb_anon_only);
42 CREATE INDEX /*i*/ipb_user ON /*_*/ipblocks (ipb_user);
43 CREATE INDEX /*i*/ipb_range ON /*_*/ipblocks (ipb_range_start(8), ipb_range_end(8));
44 CREATE INDEX /*i*/ipb_timestamp ON /*_*/ipblocks (ipb_timestamp);
45 CREATE INDEX /*i*/ipb_expiry ON /*_*/ipblocks (ipb_expiry);
46 CREATE INDEX /*i*/ipb_parent_block_id ON /*_*/ipblocks (ipb_parent_block_id);
47
48 COMMIT;