26 lines
967 B
SQL
26 lines
967 B
SQL
CREATE TABLE IF NOT EXISTS media_assets (
|
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
asset_key TEXT NOT NULL UNIQUE,
|
|
original_name TEXT NOT NULL,
|
|
mime_type TEXT NOT NULL,
|
|
extension TEXT NOT NULL,
|
|
bytes INTEGER NOT NULL,
|
|
width INTEGER NOT NULL,
|
|
height INTEGER NOT NULL,
|
|
original_path TEXT NOT NULL,
|
|
derived_path TEXT NOT NULL,
|
|
thumbnail_path TEXT NOT NULL,
|
|
alt_text TEXT NOT NULL DEFAULT '',
|
|
source_text TEXT NOT NULL DEFAULT '',
|
|
copyright_text TEXT NOT NULL DEFAULT '',
|
|
authorization_status TEXT NOT NULL DEFAULT 'pending' CHECK (authorization_status IN ('pending', 'authorized', 'restricted')),
|
|
status TEXT NOT NULL DEFAULT 'active' CHECK (status IN ('active', 'trash', 'deleted')),
|
|
created_by INTEGER,
|
|
created_at TEXT NOT NULL,
|
|
updated_at TEXT NOT NULL,
|
|
deleted_at TEXT,
|
|
FOREIGN KEY (created_by) REFERENCES admin_users(id)
|
|
);
|
|
|
|
CREATE INDEX IF NOT EXISTS idx_media_assets_status_created ON media_assets(status, created_at DESC);
|