diff options
author | Amir Sarabadani <ladsgroup@gmail.com> | 2024-11-15 03:20:31 +0100 |
---|---|---|
committer | Amir Sarabadani <ladsgroup@gmail.com> | 2025-01-03 00:53:21 +0100 |
commit | 5da793e83598e25fdd6a237a3096ef4530490260 (patch) | |
tree | bb24084c09f61e11b102f130e9f7aecfb811ae1f /sql/mysql/patch-file.sql | |
parent | 58329aba9afa357cce167fde51b04498cd05dd7b (diff) | |
download | mediawikicore-5da793e83598e25fdd6a237a3096ef4530490260.tar.gz mediawikicore-5da793e83598e25fdd6a237a3096ef4530490260.zip |
schema: Introduce file table
First step in reworking storage of files metadata in the database
Bug: T368113
Change-Id: I6e79c47f9b6a191a3599db5f0a1a44e73b89be22
Diffstat (limited to 'sql/mysql/patch-file.sql')
-rw-r--r-- | sql/mysql/patch-file.sql | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/sql/mysql/patch-file.sql b/sql/mysql/patch-file.sql new file mode 100644 index 000000000000..7fce3c433eda --- /dev/null +++ b/sql/mysql/patch-file.sql @@ -0,0 +1,48 @@ + +CREATE TABLE /*_*/file ( + file_id BIGINT UNSIGNED AUTO_INCREMENT NOT NULL, + file_name VARBINARY(255) NOT NULL, + file_latest BIGINT UNSIGNED NOT NULL, + file_type SMALLINT UNSIGNED NOT NULL, + file_deleted SMALLINT UNSIGNED NOT NULL, + UNIQUE INDEX file_name (file_name), + INDEX file_latest (file_latest), + PRIMARY KEY(file_id) +) /*$wgDBTableOptions*/; + + +CREATE TABLE /*_*/filerevision ( + fr_id BIGINT UNSIGNED AUTO_INCREMENT NOT NULL, + fr_file BIGINT NOT NULL, + fr_size BIGINT UNSIGNED DEFAULT 0 NOT NULL, + fr_width INT UNSIGNED DEFAULT 0 NOT NULL, + fr_height INT UNSIGNED DEFAULT 0 NOT NULL, + fr_metadata MEDIUMBLOB NOT NULL, + fr_bits INT UNSIGNED DEFAULT 0 NOT NULL, + fr_description_id BIGINT UNSIGNED NOT NULL, + fr_actor BIGINT UNSIGNED NOT NULL, + fr_timestamp BINARY(14) NOT NULL, + fr_sha1 VARBINARY(32) DEFAULT '' NOT NULL, + fr_archive_name VARBINARY(255) DEFAULT '' NOT NULL, + fr_deleted SMALLINT UNSIGNED NOT NULL, + INDEX fr_actor_timestamp (fr_actor, fr_timestamp), + INDEX fr_size (fr_size), + INDEX fr_timestamp (fr_timestamp), + INDEX fr_sha1 ( + fr_sha1(10) + ), + INDEX fr_file (fr_file), + PRIMARY KEY(fr_id) +) /*$wgDBTableOptions*/; + + +CREATE TABLE /*_*/filetypes ( + ft_id SMALLINT UNSIGNED AUTO_INCREMENT NOT NULL, + ft_media_type VARBINARY(255) NOT NULL, + ft_major_mime VARBINARY(255) NOT NULL, + ft_minor_mime VARBINARY(255) NOT NULL, + UNIQUE INDEX ft_media_mime ( + ft_media_type, ft_major_mime, ft_minor_mime + ), + PRIMARY KEY(ft_id) +) /*$wgDBTableOptions*/; |