35 lines
1.2 KiB
SQL
35 lines
1.2 KiB
SQL
-- Workspace assets: local archive for creative outputs from Picture Agent,
|
|
-- ComfyUI Agent, Video Agent and ComfyUI workspaces.
|
|
|
|
CREATE TABLE IF NOT EXISTS workspace_assets (
|
|
id BIGSERIAL PRIMARY KEY,
|
|
public_id TEXT NOT NULL UNIQUE,
|
|
user_id BIGINT,
|
|
source TEXT NOT NULL,
|
|
kind TEXT NOT NULL,
|
|
title TEXT,
|
|
prompt TEXT,
|
|
model TEXT,
|
|
status TEXT NOT NULL DEFAULT 'completed',
|
|
mime_type TEXT,
|
|
file_name TEXT,
|
|
file_path TEXT,
|
|
remote_url TEXT,
|
|
thumbnail_path TEXT,
|
|
size_bytes BIGINT NOT NULL DEFAULT 0,
|
|
metadata TEXT NOT NULL DEFAULT '{}',
|
|
created_at TEXT NOT NULL DEFAULT (CURRENT_TIMESTAMP::TEXT),
|
|
updated_at TEXT NOT NULL DEFAULT (CURRENT_TIMESTAMP::TEXT),
|
|
deleted_at TEXT,
|
|
FOREIGN KEY(user_id) REFERENCES users(id) ON DELETE SET NULL
|
|
);
|
|
|
|
CREATE INDEX IF NOT EXISTS idx_workspace_assets_user_created
|
|
ON workspace_assets(user_id, created_at DESC);
|
|
CREATE INDEX IF NOT EXISTS idx_workspace_assets_source_created
|
|
ON workspace_assets(source, created_at DESC);
|
|
CREATE INDEX IF NOT EXISTS idx_workspace_assets_kind_created
|
|
ON workspace_assets(kind, created_at DESC);
|
|
CREATE INDEX IF NOT EXISTS idx_workspace_assets_deleted
|
|
ON workspace_assets(deleted_at);
|