2026-05-18 19:46:21 +07:00
|
|
|
CREATE TABLE IF NOT EXISTS files (
|
2026-05-18 06:51:06 +07:00
|
|
|
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
|
|
|
|
public_id VARCHAR(21) UNIQUE NOT NULL,
|
|
|
|
|
telegram_file_id VARCHAR NOT NULL,
|
|
|
|
|
telegram_file_unique_id VARCHAR NOT NULL,
|
|
|
|
|
storage_chat_id BIGINT NOT NULL,
|
|
|
|
|
storage_message_id BIGINT NOT NULL,
|
|
|
|
|
file_name VARCHAR NOT NULL,
|
|
|
|
|
mime_type VARCHAR NOT NULL,
|
|
|
|
|
size_bytes BIGINT NOT NULL,
|
|
|
|
|
file_type VARCHAR NOT NULL,
|
|
|
|
|
uploader_id BIGINT NOT NULL,
|
2026-05-18 19:46:21 +07:00
|
|
|
file_hash VARCHAR,
|
2026-05-18 06:51:06 +07:00
|
|
|
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
|
|
|
|
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
|
|
|
|
);
|
|
|
|
|
|
2026-05-18 19:46:21 +07:00
|
|
|
ALTER TABLE files ADD COLUMN IF NOT EXISTS file_hash VARCHAR;
|
|
|
|
|
|
|
|
|
|
CREATE INDEX IF NOT EXISTS idx_files_public_id ON files(public_id);
|
|
|
|
|
CREATE INDEX IF NOT EXISTS idx_files_telegram_file_id ON files(telegram_file_id);
|
2026-05-21 22:55:42 +07:00
|
|
|
CREATE INDEX IF NOT EXISTS idx_files_file_hash ON files(file_hash);
|
2026-05-18 19:46:21 +07:00
|
|
|
CREATE INDEX IF NOT EXISTS idx_files_uploader_id ON files(uploader_id);
|
|
|
|
|
CREATE INDEX IF NOT EXISTS idx_files_created_at ON files(created_at DESC);
|