fleet-memory/migrations/002_add_documents_table.sql
2025-10-31 17:29:27 +01:00

22 lines
904 B
SQL

-- Migration: Add documents table and document_id to memory_units
-- This enables document tracking, upsert, and cascade deletion
-- Create documents table
CREATE TABLE IF NOT EXISTS documents (
id TEXT NOT NULL,
agent_id TEXT NOT NULL,
PRIMARY KEY (id, agent_id),
original_text TEXT,
content_hash TEXT,
metadata JSONB DEFAULT '{}'::jsonb,
created_at TIMESTAMPTZ DEFAULT NOW(),
updated_at TIMESTAMPTZ DEFAULT NOW()
);
-- Add document_id column to memory_units (nullable for backward compatibility)
ALTER TABLE memory_units ADD COLUMN IF NOT EXISTS document_id TEXT REFERENCES documents(id) ON DELETE CASCADE;
-- Create indexes
CREATE INDEX IF NOT EXISTS idx_documents_agent_id ON documents(agent_id);
CREATE INDEX IF NOT EXISTS idx_documents_content_hash ON documents(content_hash);
CREATE INDEX IF NOT EXISTS idx_memory_units_document_id ON memory_units(document_id);