aboutsummaryrefslogtreecommitdiffstats
path: root/schema.sql
diff options
context:
space:
mode:
Diffstat (limited to 'schema.sql')
-rw-r--r--schema.sql30
1 files changed, 29 insertions, 1 deletions
diff --git a/schema.sql b/schema.sql
index aa5ee69..76bc07b 100644
--- a/schema.sql
+++ b/schema.sql
@@ -28,6 +28,28 @@ CREATE TABLE IF NOT EXISTS files (
);
-- =========================
+-- File partials table
+-- =========================
+CREATE TABLE IF NOT EXISTS file_partials (
+ partial_id BIGSERIAL PRIMARY KEY,
+ disc_channel_id VARCHAR(255) NOT NULL,
+ disc_message_id VARCHAR(255) NOT NULL,
+ directory_id BIGINT NOT NULL
+ REFERENCES directories(directory_id)
+ ON DELETE RESTRICT,
+ part_name TEXT NOT NULL,
+ part_number INTEGER NOT NULL,
+ part_size BIGINT NOT NULL,
+ original_filename TEXT NOT NULL,
+ file_description TEXT,
+ mime_type TEXT DEFAULT 'application/octet-stream',
+ uploaded_via_webhook BOOLEAN DEFAULT FALSE,
+ created_at TIMESTAMPTZ NOT NULL DEFAULT now(),
+ CONSTRAINT partials_unique_name_per_directory
+ UNIQUE (directory_id, part_name)
+);
+
+-- =========================
-- Indexes
-- =========================
@@ -37,7 +59,13 @@ ON directories (path);
CREATE INDEX IF NOT EXISTS idx_files_directory
ON files (directory_id);
+CREATE INDEX IF NOT EXISTS idx_partials_directory
+ON file_partials (directory_id);
+
+CREATE INDEX IF NOT EXISTS idx_partials_original_filename
+ON file_partials (original_filename);
+
INSERT INTO directories (path)
VALUES ('')
-ON CONFLICT (path) DO NOTHING; \ No newline at end of file
+ON CONFLICT (path) DO NOTHING;
send patches to the email below
yukais@pinapelz.com
include the subject [PATCH repo_name]
pinapelz.com
homepage