You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
26 lines
641 B
PL/PgSQL
26 lines
641 B
PL/PgSQL
-- Add migration script here
|
|
-- Drop the existing trigger if it exists
|
|
DROP TRIGGER IF EXISTS af_user_change_trigger ON af_user;
|
|
|
|
-- Create or replace the function
|
|
CREATE OR REPLACE FUNCTION notify_af_user_change() RETURNS TRIGGER AS $$
|
|
DECLARE
|
|
payload TEXT;
|
|
BEGIN
|
|
payload := json_build_object(
|
|
'payload', row_to_json(NEW),
|
|
'action_type', TG_OP
|
|
)::text;
|
|
|
|
PERFORM pg_notify('af_user_channel', payload);
|
|
RETURN NEW;
|
|
END;
|
|
$$ LANGUAGE plpgsql;
|
|
|
|
-- Create the trigger
|
|
CREATE TRIGGER af_user_change_trigger
|
|
AFTER UPDATE ON af_user
|
|
FOR EACH ROW
|
|
EXECUTE FUNCTION notify_af_user_change();
|
|
|