From 1ef2c9848cfa49e40f7b610597b28c3b5e255aae Mon Sep 17 00:00:00 2001
From: "Dmitriy.trt" <11132-dmitriytrt@users.noreply.drupalcode.org>
Date: Fri, 31 Mar 2023 13:42:45 -0400
Subject: [PATCH] Issue #3350924 by Dmitriy.trt: salesforce_push_update_8004()
 fails because of missing queue table

---
 modules/salesforce_push/salesforce_push.install | 16 +++++++++++++---
 1 file changed, 13 insertions(+), 3 deletions(-)

diff --git a/modules/salesforce_push/salesforce_push.install b/modules/salesforce_push/salesforce_push.install
index 99aeff72..ea9c09d6 100644
--- a/modules/salesforce_push/salesforce_push.install
+++ b/modules/salesforce_push/salesforce_push.install
@@ -67,7 +67,17 @@ function salesforce_push_update_8003() {
  * Updates schema for push queue.
  */
 function salesforce_push_update_8004() {
-  $schema_definition = \Drupal::service('queue.salesforce_push')->schemaDefinition();
-  // Adds the new fields to the table.
-  \Drupal::database()->schema()->addField('salesforce_push_queue', 'last_failure_message', $schema_definition['fields']['last_failure_message']);
+  $schema = \Drupal::database()->schema();
+  $table_name = 'salesforce_push_queue';
+
+  if (!$schema->tableExists($table_name)) {
+    return;
+  }
+
+  $schema->addField($table_name, 'last_failure_message', [
+    'type' => 'text',
+    'not null' => FALSE,
+    'default' => NULL,
+    'description' => 'The last failure message for this queue item, if failed.',
+  ]);
 }
-- 
GitLab