mirror of
https://github.com/hasura/graphql-engine.git
synced 2024-12-14 17:02:49 +03:00
fix migration to 1) account for long trigger names and 2) correct syntax for dropping function without arguments in pg < 10
GitOrigin-RevId: b5382db23dcf8c05a9936404b8ab303a336c8a44
This commit is contained in:
parent
06ab0e537b
commit
6fe5daa702
@ -37,17 +37,17 @@ WITH valid_event_triggers AS (
|
||||
)
|
||||
SELECT routine_name FROM information_schema.routines
|
||||
WHERE routine_type='FUNCTION' AND specific_schema='hdb_views' AND routine_name NOT IN (
|
||||
SELECT 'notify_hasura_' || name || '_INSERT' FROM valid_event_triggers
|
||||
SELECT left('notify_hasura_' || name || '_INSERT', 63) FROM valid_event_triggers -- trigger names are truncated to 63 chars
|
||||
UNION
|
||||
SELECT 'notify_hasura_' || name || '_UPDATE' FROM valid_event_triggers
|
||||
SELECT left('notify_hasura_' || name || '_UPDATE', 63) FROM valid_event_triggers
|
||||
UNION
|
||||
select 'notify_hasura_' || name || '_DELETE' FROM valid_event_triggers
|
||||
select left('notify_hasura_' || name || '_DELETE', 63) FROM valid_event_triggers
|
||||
);
|
||||
|
||||
DO $$ DECLARE
|
||||
r RECORD;
|
||||
BEGIN
|
||||
FOR r IN (SELECT routine_name from invalid_triggers) LOOP
|
||||
EXECUTE 'DROP FUNCTION IF EXISTS hdb_views.' || quote_ident(r.routine_name) || ' CASCADE';
|
||||
EXECUTE 'DROP FUNCTION IF EXISTS hdb_views.' || quote_ident(r.routine_name) || '() CASCADE'; -- without '()' here, PG < 10 will throw error
|
||||
END LOOP;
|
||||
END $$;
|
||||
|
Loading…
Reference in New Issue
Block a user