43 lines
1.8 KiB
SQL
43 lines
1.8 KiB
SQL
-- Migration: Fix webhook function overload issue
|
|
-- Description: Drop the old enable_trigger_webhook(bigint) signature to resolve
|
|
-- "function is not unique" error when the newer version with config
|
|
-- parameter is present.
|
|
-- Date: 2026-01-29
|
|
|
|
-- Drop the old function signature from 20260120000001_add_webhook_support.sql
|
|
-- The newer version with JSONB config parameter should be the only one
|
|
DROP FUNCTION IF EXISTS enable_trigger_webhook(BIGINT);
|
|
|
|
-- The new signature with config parameter is already defined in
|
|
-- 20260127000001_consolidate_webhook_config.sql:
|
|
-- attune.enable_trigger_webhook(p_trigger_id BIGINT, p_config JSONB DEFAULT '{}'::jsonb)
|
|
|
|
-- Similarly, check and clean up any other webhook function overloads
|
|
|
|
-- Drop old disable_trigger_webhook if it has conflicts
|
|
DROP FUNCTION IF EXISTS disable_trigger_webhook(BIGINT);
|
|
|
|
-- Drop old regenerate_webhook_key if it has conflicts
|
|
DROP FUNCTION IF EXISTS regenerate_trigger_webhook_key(BIGINT);
|
|
|
|
-- Note: The current versions of these functions should be:
|
|
-- - attune.enable_trigger_webhook(BIGINT, JSONB DEFAULT '{}'::jsonb)
|
|
-- - attune.disable_trigger_webhook(BIGINT)
|
|
-- - attune.regenerate_trigger_webhook_key(BIGINT)
|
|
|
|
-- Verify functions exist after cleanup
|
|
DO $$
|
|
BEGIN
|
|
-- Check that enable_trigger_webhook exists with correct signature
|
|
-- Use current_schema() to work with both production (attune) and test schemas
|
|
IF NOT EXISTS (
|
|
SELECT 1 FROM pg_proc p
|
|
JOIN pg_namespace n ON p.pronamespace = n.oid
|
|
WHERE n.nspname = current_schema()
|
|
AND p.proname = 'enable_trigger_webhook'
|
|
AND pg_get_function_arguments(p.oid) LIKE '%jsonb%'
|
|
) THEN
|
|
RAISE EXCEPTION 'enable_trigger_webhook function with JSONB config not found after migration';
|
|
END IF;
|
|
END $$;
|