modified: backend/src/migrations/003_add_scripting.sql

modified:   backend/src/migrations/005_add_aql_support.sql
This commit is contained in:
2025-12-18 15:03:09 +03:00
parent c879d9e98c
commit 35f81a1663
2 changed files with 19 additions and 26 deletions

View File

@@ -1,11 +1,10 @@
-- Добавление поддержки скриптинга для эндпоинтов -- Добавление поддержки скриптинга для эндпоинтов
-- Добавляем новые колонки для скриптинга -- Добавляем новые колонки для скриптинга (каждую отдельно с IF NOT EXISTS)
ALTER TABLE endpoints ALTER TABLE endpoints ADD COLUMN IF NOT EXISTS execution_type VARCHAR(20) DEFAULT 'sql';
ADD COLUMN execution_type VARCHAR(20) DEFAULT 'sql' CHECK (execution_type IN ('sql', 'script')), ALTER TABLE endpoints ADD COLUMN IF NOT EXISTS script_language VARCHAR(20);
ADD COLUMN script_language VARCHAR(20) CHECK (script_language IN ('javascript', 'python')), ALTER TABLE endpoints ADD COLUMN IF NOT EXISTS script_code TEXT;
ADD COLUMN script_code TEXT, ALTER TABLE endpoints ADD COLUMN IF NOT EXISTS script_queries JSONB DEFAULT '[]'::jsonb;
ADD COLUMN script_queries JSONB DEFAULT '[]'::jsonb;
-- Комментарии для документации -- Комментарии для документации
COMMENT ON COLUMN endpoints.execution_type IS 'Тип выполнения: sql - простой SQL запрос, script - скрипт с несколькими запросами'; COMMENT ON COLUMN endpoints.execution_type IS 'Тип выполнения: sql - простой SQL запрос, script - скрипт с несколькими запросами';

View File

@@ -1,40 +1,34 @@
-- Add AQL support to databases table -- Add AQL support to databases table
ALTER TABLE databases ALTER TABLE databases ALTER COLUMN type TYPE VARCHAR(50);
ALTER COLUMN type TYPE VARCHAR(50);
-- Update the type check constraint to include 'aql' -- Update the type check constraint to include 'aql'
ALTER TABLE databases ALTER TABLE databases DROP CONSTRAINT IF EXISTS databases_type_check;
DROP CONSTRAINT IF EXISTS databases_type_check;
ALTER TABLE databases ALTER TABLE databases
ADD CONSTRAINT databases_type_check ADD CONSTRAINT databases_type_check
CHECK (type IN ('postgresql', 'mysql', 'mssql', 'aql')); CHECK (type IN ('postgresql', 'mysql', 'mssql', 'aql'));
-- Add AQL-specific columns to databases table -- Add AQL-specific columns to databases table (each separately)
ALTER TABLE databases ALTER TABLE databases ADD COLUMN IF NOT EXISTS aql_base_url TEXT;
ADD COLUMN IF NOT EXISTS aql_base_url TEXT, ALTER TABLE databases ADD COLUMN IF NOT EXISTS aql_auth_type VARCHAR(50);
ADD COLUMN IF NOT EXISTS aql_auth_type VARCHAR(50) CHECK (aql_auth_type IN ('basic', 'bearer', 'custom')), ALTER TABLE databases ADD COLUMN IF NOT EXISTS aql_auth_value TEXT;
ADD COLUMN IF NOT EXISTS aql_auth_value TEXT, ALTER TABLE databases ADD COLUMN IF NOT EXISTS aql_headers JSONB DEFAULT '{}'::jsonb;
ADD COLUMN IF NOT EXISTS aql_headers JSONB DEFAULT '{}'::jsonb;
-- Add AQL support to endpoints table -- Add AQL support to endpoints table
ALTER TABLE endpoints ALTER TABLE endpoints ALTER COLUMN execution_type TYPE VARCHAR(50);
ALTER COLUMN execution_type TYPE VARCHAR(50);
-- Update execution_type check constraint to include 'aql' -- Update execution_type check constraint to include 'aql'
ALTER TABLE endpoints ALTER TABLE endpoints DROP CONSTRAINT IF EXISTS endpoints_execution_type_check;
DROP CONSTRAINT IF EXISTS endpoints_execution_type_check;
ALTER TABLE endpoints ALTER TABLE endpoints
ADD CONSTRAINT endpoints_execution_type_check ADD CONSTRAINT endpoints_execution_type_check
CHECK (execution_type IN ('sql', 'script', 'aql')); CHECK (execution_type IN ('sql', 'script', 'aql'));
-- Add AQL-specific columns to endpoints table -- Add AQL-specific columns to endpoints table (each separately)
ALTER TABLE endpoints ALTER TABLE endpoints ADD COLUMN IF NOT EXISTS aql_method VARCHAR(10);
ADD COLUMN IF NOT EXISTS aql_method VARCHAR(10) CHECK (aql_method IN ('GET', 'POST', 'PUT', 'DELETE')), ALTER TABLE endpoints ADD COLUMN IF NOT EXISTS aql_endpoint TEXT;
ADD COLUMN IF NOT EXISTS aql_endpoint TEXT, ALTER TABLE endpoints ADD COLUMN IF NOT EXISTS aql_body TEXT;
ADD COLUMN IF NOT EXISTS aql_body TEXT, ALTER TABLE endpoints ADD COLUMN IF NOT EXISTS aql_query_params JSONB DEFAULT '{}'::jsonb;
ADD COLUMN IF NOT EXISTS aql_query_params JSONB DEFAULT '{}'::jsonb;
-- Create index for AQL endpoints -- Create index for AQL endpoints
CREATE INDEX IF NOT EXISTS idx_endpoints_execution_type ON endpoints(execution_type); CREATE INDEX IF NOT EXISTS idx_endpoints_execution_type ON endpoints(execution_type);