diff --git a/backend/src/migrations/003_add_scripting.sql b/backend/src/migrations/003_add_scripting.sql index 0520527..5452114 100644 --- a/backend/src/migrations/003_add_scripting.sql +++ b/backend/src/migrations/003_add_scripting.sql @@ -1,11 +1,10 @@ -- Добавление поддержки скриптинга для эндпоинтов --- Добавляем новые колонки для скриптинга -ALTER TABLE endpoints -ADD COLUMN execution_type VARCHAR(20) DEFAULT 'sql' CHECK (execution_type IN ('sql', 'script')), -ADD COLUMN script_language VARCHAR(20) CHECK (script_language IN ('javascript', 'python')), -ADD COLUMN script_code TEXT, -ADD COLUMN script_queries JSONB DEFAULT '[]'::jsonb; +-- Добавляем новые колонки для скриптинга (каждую отдельно с IF NOT EXISTS) +ALTER TABLE endpoints ADD COLUMN IF NOT EXISTS execution_type VARCHAR(20) DEFAULT 'sql'; +ALTER TABLE endpoints ADD COLUMN IF NOT EXISTS script_language VARCHAR(20); +ALTER TABLE endpoints ADD COLUMN IF NOT EXISTS script_code TEXT; +ALTER TABLE endpoints ADD COLUMN IF NOT EXISTS script_queries JSONB DEFAULT '[]'::jsonb; -- Комментарии для документации COMMENT ON COLUMN endpoints.execution_type IS 'Тип выполнения: sql - простой SQL запрос, script - скрипт с несколькими запросами'; diff --git a/backend/src/migrations/005_add_aql_support.sql b/backend/src/migrations/005_add_aql_support.sql index ddbc541..0c3a2ae 100644 --- a/backend/src/migrations/005_add_aql_support.sql +++ b/backend/src/migrations/005_add_aql_support.sql @@ -1,40 +1,34 @@ -- Add AQL support to databases table -ALTER TABLE databases - ALTER COLUMN type TYPE VARCHAR(50); +ALTER TABLE databases ALTER COLUMN type TYPE VARCHAR(50); -- Update the type check constraint to include 'aql' -ALTER TABLE databases - DROP CONSTRAINT IF EXISTS databases_type_check; +ALTER TABLE databases DROP CONSTRAINT IF EXISTS databases_type_check; ALTER TABLE databases ADD CONSTRAINT databases_type_check CHECK (type IN ('postgresql', 'mysql', 'mssql', 'aql')); --- Add AQL-specific columns to databases table -ALTER TABLE databases - ADD COLUMN IF NOT EXISTS aql_base_url TEXT, - ADD COLUMN IF NOT EXISTS aql_auth_type VARCHAR(50) CHECK (aql_auth_type IN ('basic', 'bearer', 'custom')), - ADD COLUMN IF NOT EXISTS aql_auth_value TEXT, - ADD COLUMN IF NOT EXISTS aql_headers JSONB DEFAULT '{}'::jsonb; +-- Add AQL-specific columns to databases table (each separately) +ALTER TABLE databases ADD COLUMN IF NOT EXISTS aql_base_url TEXT; +ALTER TABLE databases ADD COLUMN IF NOT EXISTS aql_auth_type VARCHAR(50); +ALTER TABLE databases ADD COLUMN IF NOT EXISTS aql_auth_value TEXT; +ALTER TABLE databases ADD COLUMN IF NOT EXISTS aql_headers JSONB DEFAULT '{}'::jsonb; -- Add AQL support to endpoints table -ALTER TABLE endpoints - ALTER COLUMN execution_type TYPE VARCHAR(50); +ALTER TABLE endpoints ALTER COLUMN execution_type TYPE VARCHAR(50); -- Update execution_type check constraint to include 'aql' -ALTER TABLE endpoints - DROP CONSTRAINT IF EXISTS endpoints_execution_type_check; +ALTER TABLE endpoints DROP CONSTRAINT IF EXISTS endpoints_execution_type_check; ALTER TABLE endpoints ADD CONSTRAINT endpoints_execution_type_check CHECK (execution_type IN ('sql', 'script', 'aql')); --- Add AQL-specific columns to endpoints table -ALTER TABLE endpoints - ADD COLUMN IF NOT EXISTS aql_method VARCHAR(10) CHECK (aql_method IN ('GET', 'POST', 'PUT', 'DELETE')), - ADD COLUMN IF NOT EXISTS aql_endpoint TEXT, - ADD COLUMN IF NOT EXISTS aql_body TEXT, - ADD COLUMN IF NOT EXISTS aql_query_params JSONB DEFAULT '{}'::jsonb; +-- Add AQL-specific columns to endpoints table (each separately) +ALTER TABLE endpoints ADD COLUMN IF NOT EXISTS aql_method VARCHAR(10); +ALTER TABLE endpoints ADD COLUMN IF NOT EXISTS aql_endpoint TEXT; +ALTER TABLE endpoints ADD COLUMN IF NOT EXISTS aql_body TEXT; +ALTER TABLE endpoints ADD COLUMN IF NOT EXISTS aql_query_params JSONB DEFAULT '{}'::jsonb; -- Create index for AQL endpoints CREATE INDEX IF NOT EXISTS idx_endpoints_execution_type ON endpoints(execution_type);