Fix SQLite patch-(page|template)links-fix-pk.sql column order
[lhc/web/wiklou.git] / maintenance / sqlite / archives / patch-filearchive-drop-fa_description.sql
1 --
2 -- patch-filearchive-drop-fa_description.sql
3 --
4 -- T166732. Drop old xx_comment fields, and defaults from xx_comment_id fields.
5
6 BEGIN;
7
8 DROP TABLE IF EXISTS /*_*/filearchive_tmp;
9 CREATE TABLE /*_*/filearchive_tmp (
10 fa_id int NOT NULL PRIMARY KEY AUTO_INCREMENT,
11 fa_name varchar(255) binary NOT NULL default '',
12 fa_archive_name varchar(255) binary default '',
13 fa_storage_group varbinary(16),
14 fa_storage_key varbinary(64) default '',
15 fa_deleted_user int,
16 fa_deleted_timestamp binary(14) default '',
17 fa_deleted_reason_id bigint unsigned NOT NULL,
18 fa_size int unsigned default 0,
19 fa_width int default 0,
20 fa_height int default 0,
21 fa_metadata mediumblob,
22 fa_bits int default 0,
23 fa_media_type ENUM("UNKNOWN", "BITMAP", "DRAWING", "AUDIO", "VIDEO", "MULTIMEDIA", "OFFICE", "TEXT", "EXECUTABLE", "ARCHIVE", "3D") default NULL,
24 fa_major_mime ENUM("unknown", "application", "audio", "image", "text", "video", "message", "model", "multipart", "chemical") default "unknown",
25 fa_minor_mime varbinary(100) default "unknown",
26 fa_description_id bigint unsigned NOT NULL,
27 fa_user int unsigned default 0,
28 fa_user_text varchar(255) binary DEFAULT '',
29 fa_actor bigint unsigned NOT NULL DEFAULT 0,
30 fa_timestamp binary(14) default '',
31 fa_deleted tinyint unsigned NOT NULL default 0,
32 fa_sha1 varbinary(32) NOT NULL default ''
33 ) /*$wgDBTableOptions*/;
34
35 INSERT OR IGNORE INTO /*_*/filearchive_tmp (
36 fa_id, fa_name, fa_archive_name, fa_storage_group, fa_storage_key,
37 fa_deleted_user, fa_deleted_timestamp, fa_deleted_reason_id,
38 fa_size, fa_width, fa_height, fa_metadata, fa_bits,
39 fa_media_type, fa_major_mime, fa_minor_mime, fa_description_id,
40 fa_user, fa_user_text, fa_actor, fa_timestamp, fa_deleted, fa_sha1
41 ) SELECT
42 fa_id, fa_name, fa_archive_name, fa_storage_group, fa_storage_key,
43 fa_deleted_user, fa_deleted_timestamp, fa_deleted_reason_id,
44 fa_size, fa_width, fa_height, fa_metadata, fa_bits,
45 fa_media_type, fa_major_mime, fa_minor_mime, fa_description_id,
46 fa_user, fa_user_text, fa_actor, fa_timestamp, fa_deleted, fa_sha1
47 FROM /*_*/filearchive;
48
49 DROP TABLE /*_*/filearchive;
50 ALTER TABLE /*_*/filearchive_tmp RENAME TO /*_*/filearchive;
51 CREATE INDEX /*i*/fa_name ON /*_*/filearchive (fa_name, fa_timestamp);
52 CREATE INDEX /*i*/fa_storage_group ON /*_*/filearchive (fa_storage_group, fa_storage_key);
53 CREATE INDEX /*i*/fa_deleted_timestamp ON /*_*/filearchive (fa_deleted_timestamp);
54 CREATE INDEX /*i*/fa_user_timestamp ON /*_*/filearchive (fa_user_text,fa_timestamp);
55 CREATE INDEX /*i*/fa_actor_timestamp ON /*_*/filearchive (fa_actor,fa_timestamp);
56 CREATE INDEX /*i*/fa_sha1 ON /*_*/filearchive (fa_sha1(10));
57
58 COMMIT;