-- Миграция: 001 — начальная схема -- Создано: 2026-03-07 -- Таблица invocations хранит логи вызовов функций. -- Состояние самих функций хранится в k8s CRD (etcd), не здесь. CREATE TABLE IF NOT EXISTS invocations ( id UUID PRIMARY KEY DEFAULT gen_random_uuid(), -- function_name и namespace — ссылка на CRD Function в k8s function_name VARCHAR(255) NOT NULL, namespace VARCHAR(255) NOT NULL, -- статус выполнения: success, error, timeout status VARCHAR(50) NOT NULL, -- время выполнения в миллисекундах duration_ms INTEGER NOT NULL DEFAULT 0, -- HTTP статус ответа функции (для HTTP триггеров) http_status INTEGER, -- вывод функции (stdout/stderr), ограничен 64KB logs TEXT, -- тип триггера: http, cron trigger_type VARCHAR(50) NOT NULL DEFAULT 'http', created_at TIMESTAMPTZ NOT NULL DEFAULT NOW() ); -- Индексы для быстрой выборки логов по функции CREATE INDEX IF NOT EXISTS idx_invocations_function ON invocations (function_name, namespace); CREATE INDEX IF NOT EXISTS idx_invocations_created_at ON invocations (created_at DESC);