Files
elixirAI/schema.sql
Alex Mickelson abe27b82d1
Some checks failed
CI/CD Pipeline / build (push) Failing after 3s
working on providers
2026-03-10 14:04:02 -06:00

34 lines
1.3 KiB
SQL

-- drop table if exists messages cascade;
-- drop table if exists conversations cascade;
-- drop table if exists ai_providers cascade;
CREATE TABLE IF NOT EXISTS ai_providers (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
name TEXT NOT NULL UNIQUE,
model_name TEXT NOT NULL,
api_token TEXT NOT NULL,
completions_url TEXT NOT NULL,
inserted_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
);
CREATE TABLE IF NOT EXISTS conversations (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
name TEXT NOT NULL UNIQUE,
ai_provider_id UUID NOT NULL REFERENCES ai_providers(id) ON DELETE RESTRICT,
inserted_at TIMESTAMPTZ NOT NULL DEFAULT NOW(),
updated_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
);
CREATE TABLE IF NOT EXISTS messages (
id BIGSERIAL PRIMARY KEY,
conversation_id UUID NOT NULL REFERENCES conversations(id) ON DELETE CASCADE,
role TEXT NOT NULL CHECK (role IN ('user', 'assistant', 'tool')),
content TEXT,
reasoning_content TEXT,
tool_calls JSONB,
tool_call_id TEXT,
inserted_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
);