Manual:Filearchive table

The filearchive table stores information on all the media that has been deleted, similar to the  table's job for deleted text revisions.

These files are located in the storage for deleted files; in the local storage this most likely is the folder images/deleted/.

This is the table that makes image undeletion possible.

Prior to MediaWiki 1.11, this was disabled per default, and  had to be set to true to enable it.

Since version 1.11, the behavior is controlled by , and deleted files are per default stored in /deleted.

See also:

fa_id
Unique row id.

fa_name
Original base filename; key to , , etc.

fa_archive_name
Filename of archived file, if an old revision, with prepended timestamp.

E.g. 20090311210905!Constant_and_setup.png

fa_storage_group
Which storage bin (directory tree or object store) the file data is stored in.

Should be 'deleted' for files that have been deleted; any other bin is not yet in use.

fa_storage_key
<tvar|1></> of the file contents plus extension, used as a key for storage.

E.g. 8f8a562add37052a1848ff7771a2c515db94baa9.jpg

fa_deleted_user
User who deleted the file

fa_deleted_timestamp
Time of deletion, if this file is deleted

fa_deleted_reason
Deletion comment, if this file is deleted

<tvar|1>fa_deleted_reason_id</> and the comment table should be used instead!

fa_deleted_reason_id
This is a foreign key to <tvar|1></> in the <tvar|2></> table.

fa_size
File size in bytes.

Duplicate of <tvar|1></>.

fa_width
Image width, in pixels.

Duplicate of <tvar|1></>.

fa_height
Image height, in pixels.

Duplicate of <tvar|1></>.

fa_metadata
Serialized PHP array of the file's properties.

Duplicate of <tvar|1></>.

fa_bits
Bit-depth of GIF/PNG palette-based images (up to 16-bit).

Non-palette images (JPEG/PNG/TIFF/SVG) are 0 or 8.

All other files default to 0.

Duplicate of <tvar|1></>.

fa_media_type
Possibilities are: UNKNOWN, BITMAP, DRAWING, AUDIO, VIDEO, MULTIMEDIA, OFFICE, TEXT, EXECUTABLE, ARCHIVE

Duplicate of <tvar|1></>.

fa_major_mime
Possibilities are: unknown, application, audio, chemical, image, message, model, multipart, text, video

Duplicate of <tvar|1></>.

fa_minor_mime
E.g. jpeg, gif, png, etc.

Duplicate of <tvar|1></>.

fa_description
Description field given during upload.

It's not the description page (associated File: wiki page), but the "summary" provided by the user in case of reupload.

Duplicate of <tvar|1></>.

<tvar|1>fa_description_id</> and the <tvar|2>comment</> table should be used instead!

fa_description_id
This is a foreign key to <tvar|1></> in the <tvar|2></> table.

fa_user
</> of the user who uploaded the file.

Duplicate of <tvar|1></>.

fa_user_text
of the user who uploaded the file.

Duplicate of <tvar|1></>.

fa_timestamp
Timestamp of when upload took place.

Duplicate of <tvar|1></>.

fa_deleted
Visibility of deleted revisions, bitfield.

fa_sha1
sha1 hash of file content, encoded in base 36

Schema summary
<tt>DESCRIBE filearchive;</tt> +--++--+-+-++ +--++--+-+-++ +--++--+-+-++
 * Field               | Type                                                                                                   | Null | Key | Default | Extra          |
 * fa_id               | int(11)                                                                                                | NO   | PRI | NULL    | AUTO_INCREMENT |
 * fa_name             | varchar(255)                                                                                           | NO   | MUL |         |                |
 * fa_archive_name     | varchar(255)                                                                                           | YES  |     |         |                |
 * fa_storage_group    | varbinary(16)                                                                                          | YES  | MUL | NULL    |                |
 * fa_storage_key      | varbinary(64)                                                                                          | YES  |     |         |                |
 * fa_deleted_user     | int(11)                                                                                                | YES  | MUL | NULL    |                |
 * fa_deleted_timestamp | binary(14)                                                                                            | YES  | MUL |         |                |
 * fa_deleted_reason   | varbinary(767)                                                                                         | YES  |     | NULL    |                |
 * fa_size             | int(10) unsigned                                                                                       | YES  |     | 0       |                |
 * fa_width            | int(11)                                                                                                | YES  |     | 0       |                |
 * fa_height           | int(11)                                                                                                | YES  |     | 0       |                |
 * fa_metadata         | mediumblob                                                                                             | YES  |     | NULL    |                |
 * fa_bits             | int(11)                                                                                                | YES  |     | 0       |                |
 * fa_media_type       | enum('UNKNOWN','BITMAP','DRAWING','AUDIO','VIDEO','MULTIMEDIA','OFFICE','TEXT','EXECUTABLE','ARCHIVE') | YES  |     | NULL    |                |
 * fa_major_mime       | enum('unknown','application','audio','image','text','video','message','model','multipart','chemical')  | YES  |     | unknown |                |
 * fa_minor_mime       | varbinary(100)                                                                                         | YES  |     | unknown |                |
 * fa_description      | varbinary(767)                                                                                         | YES  |     | NULL    |                |
 * fa_user             | int(10) unsigned                                                                                       | YES  |     | 0       |                |
 * fa_user_text        | varchar(255)                                                                                           | YES  |     | NULL    |                |
 * fa_timestamp        | binary(14)                                                                                             | YES  |     | NULL    |                |
 * fa_deleted          | tinyint(3) unsigned                                                                                    | NO   |     | 0       |                |
 * fa_sha1             | varbinary(32|                                                                                          | NO   |     | NULL    |                |

<tt>DESCRIBE filearchive;</tt> +--++--+-+-++ +--++--+-+-++ +--++--+-+-++
 * Field               | Type                                                                                                   | Null | Key | Default | Extra          |
 * fa_id               | int(11)                                                                                                | NO   | PRI | NULL    | AUTO_INCREMENT |
 * fa_name             | varchar(255)                                                                                           | NO   | MUL |         |                |
 * fa_archive_name     | varchar(255)                                                                                           | YES  |     |         |                |
 * fa_storage_group    | varbinary(16)                                                                                          | YES  | MUL | NULL    |                |
 * fa_storage_key      | varbinary(64)                                                                                          | YES  |     |         |                |
 * fa_deleted_user     | int(11)                                                                                                | YES  | MUL | NULL    |                |
 * fa_deleted_timestamp | binary(14)                                                                                            | YES  | MUL |         |                |
 * fa_deleted_reason   | text                                                                                                   | YES  |     | NULL    |                |
 * fa_size             | int(10) unsigned                                                                                       | YES  |     | 0       |                |
 * fa_width            | int(11)                                                                                                | YES  |     | 0       |                |
 * fa_height           | int(11)                                                                                                | YES  |     | 0       |                |
 * fa_metadata         | mediumblob                                                                                             | YES  |     | NULL    |                |
 * fa_bits             | int(11)                                                                                                | YES  |     | 0       |                |
 * fa_media_type       | enum('UNKNOWN','BITMAP','DRAWING','AUDIO','VIDEO','MULTIMEDIA','OFFICE','TEXT','EXECUTABLE','ARCHIVE') | YES  |     | NULL    |                |
 * fa_major_mime       | enum('unknown','application','audio','image','text','video','message','model','multipart','chemical')  | YES  |     | unknown |                |
 * fa_minor_mime       | varbinary(100)                                                                                         | YES  |     | unknown |                |
 * fa_description      | tinyblob                                                                                               | YES  |     | NULL    |                |
 * fa_user             | int(10) unsigned                                                                                       | YES  |     | 0       |                |
 * fa_user_text        | varchar(255)                                                                                           | YES  |     | NULL    |                |
 * fa_timestamp        | binary(14)                                                                                             | YES  |     | NULL    |                |
 * fa_deleted          | tinyint(3) unsigned                                                                                    | NO   |     | 0       |                |
 * fa_sha1             | varbinary(32|                                                                                          | NO   |     | NULL    |                |

<tt>DESCRIBE filearchive;</tt> +--++--+-+-++ +--++--+-+-++ +--++--+-+-++
 * Field               | Type                                                                                                   | Null | Key | Default | Extra          |
 * fa_id               | int(11)                                                                                                | NO   | PRI | NULL    | AUTO_INCREMENT |
 * fa_name             | varchar(255)                                                                                           | NO   | MUL |         |                |
 * fa_archive_name     | varchar(255)                                                                                           | YES  |     |         |                |
 * fa_storage_group    | varbinary(16)                                                                                          | YES  | MUL | NULL    |                |
 * fa_storage_key      | varbinary(64)                                                                                          | YES  |     |         |                |
 * fa_deleted_user     | int(11)                                                                                                | YES  | MUL | NULL    |                |
 * fa_deleted_timestamp | binary(14)                                                                                            | YES  | MUL |         |                |
 * fa_deleted_reason   | text                                                                                                   | YES  |     | NULL    |                |
 * fa_size             | int(10) unsigned                                                                                       | YES  |     | 0       |                |
 * fa_width            | int(11)                                                                                                | YES  |     | 0       |                |
 * fa_height           | int(11)                                                                                                | YES  |     | 0       |                |
 * fa_metadata         | mediumblob                                                                                             | YES  |     | NULL    |                |
 * fa_bits             | int(11)                                                                                                | YES  |     | 0       |                |
 * fa_media_type       | enum('UNKNOWN','BITMAP','DRAWING','AUDIO','VIDEO','MULTIMEDIA','OFFICE','TEXT','EXECUTABLE','ARCHIVE') | YES  |     | NULL    |                |
 * fa_major_mime       | enum('unknown','application','audio','image','text','video','message','model','multipart')             | YES  |     | unknown |                |
 * fa_minor_mime       | varbinary(100)                                                                                         | YES  |     | unknown |                |
 * fa_description      | tinyblob                                                                                               | YES  |     | NULL    |                |
 * fa_user             | int(10) unsigned                                                                                       | YES  |     | 0       |                |
 * fa_user_text        | varchar(255)                                                                                           | YES  |     | NULL    |                |
 * fa_timestamp        | binary(14)                                                                                             | YES  |     | NULL    |                |
 * fa_deleted          | tinyint(3) unsigned                                                                                    | NO   |     | 0       |                |
 * fa_sha1             | varbinary(32|                                                                                          | NO   |     | NULL    |                |

<tt>DESCRIBE filearchive;</tt> +--++--+-+-++ +--++--+-+-++ +--++--+-+-++
 * Field               | Type                                                                                                   | Null | Key | Default | Extra          |
 * fa_id               | int(11)                                                                                                | NO   | PRI | NULL    | AUTO_INCREMENT |
 * fa_name             | varchar(255)                                                                                           | NO   | MUL |         |                |
 * fa_archive_name     | varchar(255)                                                                                           | YES  |     |         |                |
 * fa_storage_group    | varbinary(16)                                                                                          | YES  | MUL | NULL    |                |
 * fa_storage_key      | varbinary(64)                                                                                          | YES  |     |         |                |
 * fa_deleted_user     | int(11)                                                                                                | YES  | MUL | NULL    |                |
 * fa_deleted_timestamp | binary(14)                                                                                            | YES  | MUL |         |                |
 * fa_deleted_reason   | text                                                                                                   | YES  |     | NULL    |                |
 * fa_size             | int(10) unsigned                                                                                       | YES  |     | 0       |                |
 * fa_width            | int(11)                                                                                                | YES  |     | 0       |                |
 * fa_height           | int(11)                                                                                                | YES  |     | 0       |                |
 * fa_metadata         | mediumblob                                                                                             | YES  |     | NULL    |                |
 * fa_bits             | int(11)                                                                                                | YES  |     | 0       |                |
 * fa_media_type       | enum('UNKNOWN','BITMAP','DRAWING','AUDIO','VIDEO','MULTIMEDIA','OFFICE','TEXT','EXECUTABLE','ARCHIVE') | YES  |     | NULL    |                |
 * fa_major_mime       | enum('unknown','application','audio','image','text','video','message','model','multipart')             | YES  |     | unknown |                |
 * fa_minor_mime       | varbinary(100)                                                                                         | YES  |     | unknown |                |
 * fa_description      | tinyblob                                                                                               | YES  |     | NULL    |                |
 * fa_user             | int(10) unsigned                                                                                       | YES  |     | 0       |                |
 * fa_user_text        | varchar(255)                                                                                           | YES  |     | NULL    |                |
 * fa_timestamp        | binary(14)                                                                                             | YES  |     | NULL    |                |
 * fa_deleted          | tinyint(3) unsigned                                                                                    | NO   |     | 0       |                |

<tt>DESCRIBE filearchive;</tt> +--++--+-+-++ +--++--+-+-++ +--++--+-+-++
 * Field               | Type                                                                                                   | Null | Key | Default | Extra          |
 * fa_id               | int(11)                                                                                                | NO   | PRI | NULL    | AUTO_INCREMENT |
 * fa_name             | varchar(255)                                                                                           | NO   | MUL |         |                |
 * fa_archive_name     | varchar(255)                                                                                           | YES  |     |         |                |
 * fa_storage_group    | varbinary(16)                                                                                          | YES  | MUL | NULL    |                |
 * fa_storage_key      | varbinary(64)                                                                                          | YES  |     |         |                |
 * fa_deleted_user     | int(11)                                                                                                | YES  | MUL | NULL    |                |
 * fa_deleted_timestamp | binary(14)                                                                                            | YES  | MUL |         |                |
 * fa_deleted_reason   | text                                                                                                   | YES  |     | NULL    |                |
 * fa_size             | int(10) unsigned                                                                                       | YES  |     | 0       |                |
 * fa_width            | int(11)                                                                                                | YES  |     | 0       |                |
 * fa_height           | int(11)                                                                                                | YES  |     | 0       |                |
 * fa_metadata         | mediumblob                                                                                             | YES  |     | NULL    |                |
 * fa_bits             | int(11)                                                                                                | YES  |     | 0       |                |
 * fa_media_type       | enum('UNKNOWN','BITMAP','DRAWING','AUDIO','VIDEO','MULTIMEDIA','OFFICE','TEXT','EXECUTABLE','ARCHIVE') | YES  |     | NULL    |                |
 * fa_major_mime       | enum('unknown','application','audio','image','text','video','message','model','multipart')             | YES  |     | unknown |                |
 * fa_minor_mime       | varbinary(32)                                                                                          | YES  |     | unknown |                |
 * fa_description      | tinyblob                                                                                               | YES  |     | NULL    |                |
 * fa_user             | int(10) unsigned                                                                                       | YES  |     | 0       |                |
 * fa_user_text        | varchar(255)                                                                                           | YES  |     | NULL    |                |
 * fa_timestamp        | binary(14)                                                                                             | YES  |     | NULL    |                |
 * fa_deleted          | tinyint(3) unsigned                                                                                    | NO   |     | 0       |                |

<tt>DESCRIBE filearchive;</tt> +--++--+-+-++ +--++--+-+-++ +--++--+-+-++
 * Field               | Type                                                                                                   | Null | Key | Default | Extra          |
 * fa_id               | int(11)                                                                                                | NO   | PRI | NULL    | auto_increment |
 * fa_name             | varchar(255)                                                                                           | NO   | MUL |         |                |
 * fa_archive_name     | varchar(255)                                                                                           | YES  |     |         |                |
 * fa_storage_group    | varchar(16)                                                                                            | YES  | MUL | NULL    |                |
 * fa_storage_key      | varchar(64)                                                                                            | YES  |     |         |                |
 * fa_deleted_user     | int(11)                                                                                                | YES  | MUL | NULL    |                |
 * fa_deleted_timestamp | char(14)                                                                                              | YES  | MUL |         |                |
 * fa_deleted_reason   | text                                                                                                   | YES  |     | NULL    |                |
 * fa_size             | int(8) unsigned                                                                                        | YES  |     | 0       |                |
 * fa_width            | int(5)                                                                                                 | YES  |     | 0       |                |
 * fa_height           | int(5)                                                                                                 | YES  |     | 0       |                |
 * fa_metadata         | mediumblob                                                                                             | YES  |     | NULL    |                |
 * fa_bits             | int(3)                                                                                                 | YES  |     | 0       |                |
 * fa_media_type       | enum('UNKNOWN','BITMAP','DRAWING','AUDIO','VIDEO','MULTIMEDIA','OFFICE','TEXT','EXECUTABLE','ARCHIVE') | YES  |     | NULL    |                |
 * fa_major_mime       | enum('unknown','application','audio','image','text','video','message','model','multipart')             | YES  |     | unknown |                |
 * fa_minor_mime       | varchar(32)                                                                                            | YES  |     | unknown |                |
 * fa_description      | tinyblob                                                                                               | YES  |     | NULL    |                |
 * fa_user             | int(5) unsigned                                                                                        | YES  |     | 0       |                |
 * fa_user_text        | varchar(255)                                                                                           | YES  |     | NULL    |                |
 * fa_timestamp        | char(14)                                                                                               | YES  |     | NULL    |                |

<tt>DESCRIBE filearchive;</tt> +--++--+-+-++ +--++--+-+-++ +--++--+-+-++
 * Field               | Type                                                                                                   | Null | Key | Default | Extra          |
 * fa_id               | int(11)                                                                                                | NO   | PRI | NULL    | AUTO_INCREMENT |
 * fa_name             | varchar(255)                                                                                           | NO   | MUL |         |                |
 * fa_archive_name     | varchar(255)                                                                                           | YES  |     |         |                |
 * fa_storage_group    | varchar(16)                                                                                            | YES  | MUL | NULL    |                |
 * fa_storage_key      | varchar(64)                                                                                            | YES  |     |         |                |
 * fa_deleted_user     | int(11)                                                                                                | YES  | MUL | NULL    |                |
 * fa_deleted_timestamp | char(14)                                                                                              | YES  | MUL |         |                |
 * fa_deleted_reason   | text                                                                                                   | YES  |     | NULL    |                |
 * fa_size             | int(8) unsigned                                                                                        | YES  |     | 0       |                |
 * fa_width            | int(5)                                                                                                 | YES  |     | 0       |                |
 * fa_height           | int(5)                                                                                                 | YES  |     | 0       |                |
 * fa_metadata         | mediumblob                                                                                             | YES  |     | NULL    |                |
 * fa_bits             | int(3)                                                                                                 | YES  |     | 0       |                |
 * fa_media_type       | enum('UNKNOWN','BITMAP','DRAWING','AUDIO','VIDEO','MULTIMEDIA','OFFICE','TEXT','EXECUTABLE','ARCHIVE') | YES  |     | NULL    |                |
 * fa_major_mime       | enum('unknown','application','audio','image','text','video','message','model','multipart')             | YES  |     | unknown |                |
 * fa_minor_mime       | varchar(32)                                                                                            | YES  |     | unknown |                |
 * fa_description      | tinyblob                                                                                               | YES  |     | NULL    |                |
 * fa_user             | int(5) unsigned                                                                                        | YES  |     | 0       |                |
 * fa_user_text        | varchar(255)                                                                                           | YES  |     |         |                |
 * fa_timestamp        | char(14)                                                                                               | YES  |     |         |                |