initial commit

This commit is contained in:
root
2026-05-13 14:20:41 +00:00
commit 6e178d2012
6022 changed files with 399872 additions and 0 deletions
@@ -0,0 +1,30 @@
-- Таблица для хранения метаданных загруженных файлов пользователей
CREATE TABLE IF NOT EXISTS user_files (
id BIGSERIAL PRIMARY KEY,
user_id BIGINT NOT NULL,
s3_key VARCHAR(512) NOT NULL,
original_filename VARCHAR(255) NOT NULL,
file_size BIGINT NOT NULL,
content_type VARCHAR(128) NOT NULL,
file_type VARCHAR(32) NOT NULL DEFAULT 'image', -- image, video
folder VARCHAR(64) NOT NULL DEFAULT 'images_input',
created_at TIMESTAMPTZ DEFAULT CURRENT_TIMESTAMP,
updated_at TIMESTAMPTZ DEFAULT CURRENT_TIMESTAMP,
CONSTRAINT user_files_user_id_fk FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE,
CONSTRAINT user_files_s3_key_unique UNIQUE (s3_key)
);
-- Индексы для ускорения поиска
CREATE INDEX IF NOT EXISTS idx_user_files_user_id ON user_files(user_id);
CREATE INDEX IF NOT EXISTS idx_user_files_folder ON user_files(folder);
CREATE INDEX IF NOT EXISTS idx_user_files_created_at ON user_files(created_at DESC);
CREATE INDEX IF NOT EXISTS idx_user_files_file_type ON user_files(file_type);
-- Комментарий
COMMENT ON TABLE user_files IS 'Метаданные загруженных файлов пользователей в S3';
COMMENT ON COLUMN user_files.user_id IS 'ID владельца файла';
COMMENT ON COLUMN user_files.s3_key IS 'Путь к файлу в S3 хранилище';
COMMENT ON COLUMN user_files.original_filename IS 'Оригинальное имя файла';
COMMENT ON COLUMN user_files.file_type IS 'Тип файла: image, video';
COMMENT ON COLUMN user_files.folder IS 'Папка в S3 бакете (images_input, videos_input, etc.)';