aboutsummaryrefslogtreecommitdiffstats
path: root/sql/mysql/patch-file.sql
diff options
context:
space:
mode:
authorAmir Sarabadani <ladsgroup@gmail.com>2024-11-15 03:20:31 +0100
committerAmir Sarabadani <ladsgroup@gmail.com>2025-01-03 00:53:21 +0100
commit5da793e83598e25fdd6a237a3096ef4530490260 (patch)
treebb24084c09f61e11b102f130e9f7aecfb811ae1f /sql/mysql/patch-file.sql
parent58329aba9afa357cce167fde51b04498cd05dd7b (diff)
downloadmediawikicore-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.sql48
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*/;