16 lines
523 B
SQL
16 lines
523 B
SQL
CREATE TABLE media (
|
|
id UUID PRIMARY KEY,
|
|
owner_id UUID NOT NULL REFERENCES users(id),
|
|
storage_path TEXT NOT NULL,
|
|
original_filename TEXT NOT NULL,
|
|
mime_type TEXT NOT NULL,
|
|
hash TEXT NOT NULL UNIQUE, -- For duplicate checking
|
|
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
|
|
|
|
-- Optional fields from the model
|
|
extracted_location TEXT, width INTEGER, height INTEGER );
|
|
|
|
-- Indexes for faster lookups
|
|
CREATE INDEX idx_media_owner_id ON media (owner_id);
|
|
|
|
CREATE INDEX idx_media_hash ON media (hash); |