update
This commit is contained in:
25
ddl/files.sql
Normal file
25
ddl/files.sql
Normal file
@@ -0,0 +1,25 @@
|
||||
-- Files table: stores uploaded file metadata
|
||||
CREATE TABLE IF NOT EXISTS files (
|
||||
id BIGSERIAL PRIMARY KEY,
|
||||
file_name VARCHAR(255) NOT NULL,
|
||||
file_key VARCHAR(500) NOT NULL UNIQUE,
|
||||
byte_size BIGINT NOT NULL,
|
||||
created_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP
|
||||
);
|
||||
|
||||
-- Index for looking up files by key (most common query)
|
||||
CREATE INDEX IF NOT EXISTS idx_files_file_key ON files(file_key);
|
||||
|
||||
-- Index for sorting files by creation date
|
||||
CREATE INDEX IF NOT EXISTS idx_files_created_at ON files(created_at DESC);
|
||||
|
||||
-- Index for file size queries
|
||||
CREATE INDEX IF NOT EXISTS idx_files_byte_size ON files(byte_size);
|
||||
|
||||
-- Comments on columns
|
||||
COMMENT ON TABLE files IS 'File metadata table for uploaded files';
|
||||
COMMENT ON COLUMN files.id IS 'Primary key, auto-incrementing file ID';
|
||||
COMMENT ON COLUMN files.file_name IS 'Original name of the uploaded file';
|
||||
COMMENT ON COLUMN files.file_key IS 'Unique storage key/path for the file';
|
||||
COMMENT ON COLUMN files.byte_size IS 'File size in bytes';
|
||||
COMMENT ON COLUMN files.created_at IS 'Timestamp when the file was uploaded';
|
||||
Reference in New Issue
Block a user