29 lines
1.3 KiB
SQL
29 lines
1.3 KiB
SQL
-- IT0 Migration 004: Add conversation_messages table for multi-turn context management
|
|
-- This table stores conversation history per session, shared across all engine types.
|
|
-- Usage: Replace {SCHEMA} with target schema name (e.g., it0_t_t001)
|
|
|
|
SET search_path TO {SCHEMA};
|
|
|
|
-- Conversation Messages (multi-turn dialogue history per session)
|
|
CREATE TABLE IF NOT EXISTS conversation_messages (
|
|
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
|
|
tenant_id VARCHAR(20) NOT NULL,
|
|
session_id UUID NOT NULL REFERENCES agent_sessions(id) ON DELETE CASCADE,
|
|
role VARCHAR(20) NOT NULL,
|
|
content TEXT NOT NULL,
|
|
tool_calls JSONB,
|
|
tool_results JSONB,
|
|
attachments JSONB,
|
|
token_count INTEGER,
|
|
sequence_number INTEGER NOT NULL,
|
|
created_at TIMESTAMPTZ NOT NULL DEFAULT NOW()
|
|
);
|
|
|
|
-- Migration: Add attachments column to existing tables
|
|
ALTER TABLE conversation_messages ADD COLUMN IF NOT EXISTS attachments JSONB;
|
|
|
|
CREATE INDEX IF NOT EXISTS idx_conversation_messages_session
|
|
ON conversation_messages(session_id, sequence_number ASC);
|
|
CREATE INDEX IF NOT EXISTS idx_conversation_messages_session_recent
|
|
ON conversation_messages(session_id, sequence_number DESC);
|