From 7ed93b4dc01c73b996aef546013cd16be6ce0558 Mon Sep 17 00:00:00 2001 From: Arkadiusz Kondas Date: Thu, 10 Sep 2020 10:05:16 +0200 Subject: [PATCH] Run postgres setup trigger in transaction --- .../Bridge/Doctrine/Transport/PostgreSqlConnection.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/Symfony/Component/Messenger/Bridge/Doctrine/Transport/PostgreSqlConnection.php b/src/Symfony/Component/Messenger/Bridge/Doctrine/Transport/PostgreSqlConnection.php index 225f0b8801..79a1dd68ba 100644 --- a/src/Symfony/Component/Messenger/Bridge/Doctrine/Transport/PostgreSqlConnection.php +++ b/src/Symfony/Component/Messenger/Bridge/Doctrine/Transport/PostgreSqlConnection.php @@ -109,6 +109,7 @@ final class PostgreSqlConnection extends Connection private function getTriggerSql(): array { return [ + 'BEGIN;', sprintf('LOCK TABLE %s;', $this->configuration['table_name']), // create trigger function sprintf(<<<'SQL' @@ -123,6 +124,7 @@ SQL // register trigger sprintf('DROP TRIGGER IF EXISTS notify_trigger ON %s;', $this->configuration['table_name']), sprintf('CREATE TRIGGER notify_trigger AFTER INSERT ON %1$s FOR EACH ROW EXECUTE PROCEDURE notify_%1$s();', $this->configuration['table_name']), + 'COMMIT;', ]; }