2 -- Record of deleted file data
4 CREATE TABLE /*$wgDBprefix*/filearchive (
6 fa_id int not null auto_increment,
8 -- Original base filename; key to image.img_name, page.page_title, etc
9 fa_name varchar(255) binary NOT NULL default '',
11 -- Filename of archived file, if an old revision
12 fa_archive_name varchar(255) binary default '',
14 -- Which storage bin (directory tree or object store) the file data
15 -- is stored in. Should be 'deleted' for files that have been deleted;
16 -- any other bin is not yet in use.
17 fa_storage_group varbinary(16),
19 -- SHA-1 of the file contents plus extension, used as a key for storage.
20 -- eg 8f8a562add37052a1848ff7771a2c515db94baa9.jpg
22 -- If NULL, the file was missing at deletion time or has been purged
23 -- from the archival storage.
24 fa_storage_key varbinary(64) default '',
26 -- Deletion information, if this file is deleted.
28 fa_deleted_timestamp binary(14) default '',
29 fa_deleted_reason text,
31 -- Duped fields from image
32 fa_size int unsigned default '0',
33 fa_width int default '0',
34 fa_height int default '0',
35 fa_metadata mediumblob,
36 fa_bits int default '0',
37 fa_media_type ENUM("UNKNOWN", "BITMAP", "DRAWING", "AUDIO", "VIDEO", "MULTIMEDIA", "OFFICE", "TEXT", "EXECUTABLE", "ARCHIVE") default NULL,
38 fa_major_mime ENUM("unknown", "application", "audio", "image", "text", "video", "message", "model", "multipart") default "unknown",
39 fa_minor_mime varbinary(32) default "unknown",
40 fa_description tinyblob,
41 fa_user int unsigned default '0',
42 fa_user_text varchar(255) binary default '',
43 fa_timestamp binary(14) default '',
46 INDEX (fa_name, fa_timestamp), -- pick out by image name
47 INDEX (fa_storage_group, fa_storage_key), -- pick out dupe files
48 INDEX (fa_deleted_timestamp), -- sort by deletion time
49 INDEX (fa_deleted_user) -- sort by deleter
51 ) /*$wgDBTableOptions*/;