| 1 |
|
| 2 |
CREATE TABLE media_files ( |
| 3 |
id UUID PRIMARY KEY DEFAULT gen_random_uuid(), |
| 4 |
user_id UUID NOT NULL REFERENCES users(id) ON DELETE CASCADE, |
| 5 |
folder VARCHAR(100) NOT NULL DEFAULT '', |
| 6 |
filename VARCHAR(255) NOT NULL, |
| 7 |
s3_key VARCHAR(500) NOT NULL UNIQUE, |
| 8 |
content_type VARCHAR(100) NOT NULL, |
| 9 |
file_size_bytes BIGINT NOT NULL DEFAULT 0, |
| 10 |
media_type VARCHAR(10) NOT NULL CHECK (media_type IN ('image', 'video')), |
| 11 |
created_at TIMESTAMPTZ NOT NULL DEFAULT now() |
| 12 |
); |
| 13 |
|
| 14 |
CREATE INDEX idx_media_files_user_folder ON media_files(user_id, folder); |
| 15 |
CREATE UNIQUE INDEX idx_media_files_user_folder_name ON media_files(user_id, folder, filename); |
| 16 |
|