From 2671affc0dec99e8aeca5a7d8cce1e328bfd458d Mon Sep 17 00:00:00 2001 From: Peter Goodhall Date: Mon, 18 Dec 2023 11:48:42 +0000 Subject: [PATCH] Improved migration file to check if index exists before dropping it --- application/migrations/163_dxcc_index.php | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/application/migrations/163_dxcc_index.php b/application/migrations/163_dxcc_index.php index 792ed61e..29f57b5a 100644 --- a/application/migrations/163_dxcc_index.php +++ b/application/migrations/163_dxcc_index.php @@ -23,7 +23,19 @@ class Migration_dxcc_index extends CI_Migration { } public function down(){ - $this->db->query("ALTER TABLE dxcc_prefixes DROP INDEX idx_dxcc_prefixes_logic"); - $this->db->query("ALTER TABLE dxcc_exceptions DROP INDEX idx_dxcc_exceptions_logic"); + + // check if index idx_dxcc_prefixes_logic exists + // if so, drop it + $prefixes_index = $this->db->query("SHOW INDEX FROM dxcc_prefixes WHERE Key_name = 'idx_dxcc_prefixes_logic'")->num_rows(); + if ($prefixes_index == 1) { + $this->db->query("ALTER TABLE dxcc_prefixes DROP INDEX idx_dxcc_prefixes_logic"); + } + + // check if index dxcc_exceptions exists + // if so, drop it + $exceptions_index = $this->db->query("SHOW INDEX FROM dxcc_exceptions WHERE Key_name = 'idx_dxcc_exceptions_logic'")->num_rows(); + if ($exceptions_index == 1) { + $this->db->query("ALTER TABLE dxcc_exceptions DROP INDEX idx_dxcc_exceptions_logic"); + } } }