69 lines
1.6 KiB
SQL
69 lines
1.6 KiB
SQL
CREATE TABLE IF NOT EXISTS providers (
|
|
id TEXT PRIMARY KEY,
|
|
name TEXT NOT NULL,
|
|
kind TEXT NOT NULL,
|
|
base_url TEXT NOT NULL,
|
|
api_key_encrypted TEXT,
|
|
text_model TEXT,
|
|
image_model TEXT,
|
|
capabilities TEXT NOT NULL DEFAULT '{}',
|
|
enabled INTEGER NOT NULL DEFAULT 1,
|
|
created_at TEXT NOT NULL,
|
|
updated_at TEXT NOT NULL
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS generation_tasks (
|
|
id TEXT PRIMARY KEY,
|
|
provider_id TEXT NOT NULL,
|
|
task_type TEXT NOT NULL,
|
|
prompt TEXT NOT NULL,
|
|
negative_prompt TEXT,
|
|
model TEXT NOT NULL,
|
|
size TEXT,
|
|
quality TEXT,
|
|
status TEXT NOT NULL,
|
|
error_message TEXT,
|
|
created_at TEXT NOT NULL,
|
|
updated_at TEXT NOT NULL,
|
|
finished_at TEXT,
|
|
FOREIGN KEY(provider_id) REFERENCES providers(id)
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS image_assets (
|
|
id TEXT PRIMARY KEY,
|
|
task_id TEXT,
|
|
file_path TEXT NOT NULL,
|
|
thumbnail_path TEXT,
|
|
mime_type TEXT,
|
|
width INTEGER,
|
|
height INTEGER,
|
|
file_size INTEGER,
|
|
source_type TEXT NOT NULL,
|
|
created_at TEXT NOT NULL,
|
|
FOREIGN KEY(task_id) REFERENCES generation_tasks(id)
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS conversations (
|
|
id TEXT PRIMARY KEY,
|
|
title TEXT,
|
|
provider_id TEXT NOT NULL,
|
|
model TEXT NOT NULL,
|
|
created_at TEXT NOT NULL,
|
|
updated_at TEXT NOT NULL,
|
|
FOREIGN KEY(provider_id) REFERENCES providers(id)
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS ai_request_logs (
|
|
id TEXT PRIMARY KEY,
|
|
task_id TEXT,
|
|
provider_id TEXT NOT NULL,
|
|
endpoint TEXT NOT NULL,
|
|
request_summary TEXT,
|
|
response_summary TEXT,
|
|
status_code INTEGER,
|
|
latency_ms INTEGER,
|
|
created_at TEXT NOT NULL,
|
|
FOREIGN KEY(task_id) REFERENCES generation_tasks(id),
|
|
FOREIGN KEY(provider_id) REFERENCES providers(id)
|
|
);
|