2 -- patch-filearchive-drop-fa_description.sql
4 -- T166732. Drop old xx_comment fields, and defaults from xx_comment_id fields.
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 '',
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*/;
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
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
;
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));