From 67b4006d397f4736bebf6642c6fa54ebe205749d Mon Sep 17 00:00:00 2001 From: DevSoftTech Server Date: Sat, 25 Apr 2026 09:11:15 +0530 Subject: [PATCH] fix: use db->getFieldNames() instead of hasField() in migration for reliable column existence check --- ..._AddBankSettlementStatementMatchFields.php | 20 +++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/app/Database/Migrations/2026-04-21-000050_AddBankSettlementStatementMatchFields.php b/app/Database/Migrations/2026-04-21-000050_AddBankSettlementStatementMatchFields.php index edc41f1..07a20d2 100644 --- a/app/Database/Migrations/2026-04-21-000050_AddBankSettlementStatementMatchFields.php +++ b/app/Database/Migrations/2026-04-21-000050_AddBankSettlementStatementMatchFields.php @@ -12,7 +12,9 @@ class AddBankSettlementStatementMatchFields extends Migration return; } - if (! $this->hasField('finance_bank_settlement_entries', 'reconciliation_status')) { + $existingFields = $this->db->getFieldNames('finance_bank_settlement_entries'); + + if (! in_array('reconciliation_status', $existingFields)) { $this->forge->addColumn('finance_bank_settlement_entries', [ 'reconciliation_status' => [ 'type' => 'VARCHAR', @@ -24,7 +26,7 @@ class AddBankSettlementStatementMatchFields extends Migration ]); } - if (! $this->hasField('finance_bank_settlement_entries', 'statement_matched_by')) { + if (! in_array('statement_matched_by', $existingFields)) { $this->forge->addColumn('finance_bank_settlement_entries', [ 'statement_matched_by' => [ 'type' => 'VARCHAR', @@ -35,7 +37,7 @@ class AddBankSettlementStatementMatchFields extends Migration ]); } - if (! $this->hasField('finance_bank_settlement_entries', 'statement_matched_at')) { + if (! in_array('statement_matched_at', $existingFields)) { $this->forge->addColumn('finance_bank_settlement_entries', [ 'statement_matched_at' => [ 'type' => 'DATETIME', @@ -45,7 +47,7 @@ class AddBankSettlementStatementMatchFields extends Migration ]); } - if (! $this->hasField('finance_bank_settlement_entries', 'statement_match_remarks')) { + if (! in_array('statement_match_remarks', $existingFields)) { $this->forge->addColumn('finance_bank_settlement_entries', [ 'statement_match_remarks' => [ 'type' => 'TEXT', @@ -64,16 +66,18 @@ class AddBankSettlementStatementMatchFields extends Migration return; } - if ($this->hasField('finance_bank_settlement_entries', 'statement_match_remarks')) { + $existingFields = $this->db->getFieldNames('finance_bank_settlement_entries'); + + if (in_array('statement_match_remarks', $existingFields)) { $this->forge->dropColumn('finance_bank_settlement_entries', 'statement_match_remarks'); } - if ($this->hasField('finance_bank_settlement_entries', 'statement_matched_at')) { + if (in_array('statement_matched_at', $existingFields)) { $this->forge->dropColumn('finance_bank_settlement_entries', 'statement_matched_at'); } - if ($this->hasField('finance_bank_settlement_entries', 'statement_matched_by')) { + if (in_array('statement_matched_by', $existingFields)) { $this->forge->dropColumn('finance_bank_settlement_entries', 'statement_matched_by'); } - if ($this->hasField('finance_bank_settlement_entries', 'reconciliation_status')) { + if (in_array('reconciliation_status', $existingFields)) { $this->forge->dropColumn('finance_bank_settlement_entries', 'reconciliation_status'); } }