using Microsoft.EntityFrameworkCore.Migrations; #nullable disable namespace Content.Server.Database.Migrations.Postgres { /// public partial class ban_notify_trigger : Migration { /// protected override void Up(MigrationBuilder migrationBuilder) { migrationBuilder.Sql(""" create or replace function send_server_ban_notification() returns trigger as $$ declare x_server_id integer; begin select round.server_id into x_server_id from round where round.round_id = NEW.round_id; perform pg_notify('ban_notification', json_build_object('ban_id', NEW.server_ban_id, 'server_id', x_server_id)::text); return NEW; end; $$ LANGUAGE plpgsql; """); migrationBuilder.Sql(""" create or replace trigger notify_on_server_ban_insert after insert on server_ban for each row execute function send_server_ban_notification(); """); } /// protected override void Down(MigrationBuilder migrationBuilder) { migrationBuilder.Sql(""" drop trigger notify_on_server_ban_insert on server_ban; drop function send_server_ban_notification; """); } } }