From b141bdf5f8041084e511e12f3ad132d1d196e665 Mon Sep 17 00:00:00 2001 From: Aleksey Filippov Date: Tue, 17 Feb 2026 09:42:02 +0300 Subject: [PATCH] =?utf8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5=D0=BD?= =?utf8?q?=D0=B8=D0=B5=20=D0=BB=D0=BE=D0=B3=D0=B8=D1=80=D0=BE=D0=B2=D0=B0?= =?utf8?q?=D0=BD=D0=B8=D1=8F=20=D0=BD=D0=B0=20=D0=B7=D0=B0=D0=B3=D1=80?= =?utf8?q?=D1=83=D0=B7=D0=BA=D1=83=20=D1=84=D0=B0=D0=B9=D0=BB=D0=BE=D0=B2?= =?utf8?q?=20=D0=B2=20=D0=B4=D0=BE=D0=BA=D1=83=D0=BC=D0=B5=D0=BD=D1=82=20?= =?utf8?q?=D1=81=D0=BF=D0=B8=D1=81=D0=B0=D0=BD=D0=B8=D1=8F.?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- ...120000_add_marketplace_fields_to_sales.php | 33 +++++++++++++------ 1 file changed, 23 insertions(+), 10 deletions(-) diff --git a/erp24/migrations/m260212_120000_add_marketplace_fields_to_sales.php b/erp24/migrations/m260212_120000_add_marketplace_fields_to_sales.php index 4727b9a3..b40e9233 100644 --- a/erp24/migrations/m260212_120000_add_marketplace_fields_to_sales.php +++ b/erp24/migrations/m260212_120000_add_marketplace_fields_to_sales.php @@ -41,18 +41,22 @@ class m260212_120000_add_marketplace_fields_to_sales extends Migration } // Добавляем индекс для быстрого поиска по marketplace_order_id - $this->createIndex( - 'idx-sales-marketplace_order_id', - self::TABLE_NAME, - 'marketplace_order_id' - ); + if (!$this->indexExists('idx-sales-marketplace_order_id')) { + $this->createIndex( + 'idx-sales-marketplace_order_id', + self::TABLE_NAME, + 'marketplace_order_id' + ); + } // Добавляем составной индекс для аналитики по маркетплейсам - $this->createIndex( - 'idx-sales-marketplace_name_date', - self::TABLE_NAME, - ['marketplace_name', 'date'] - ); + if (!$this->indexExists('idx-sales-marketplace_name_date')) { + $this->createIndex( + 'idx-sales-marketplace_name_date', + self::TABLE_NAME, + ['marketplace_name', 'date'] + ); + } echo " > Поля marketplace_order_id и marketplace_name успешно добавлены в таблицу erp24.sales\n"; } @@ -77,4 +81,13 @@ class m260212_120000_add_marketplace_fields_to_sales extends Migration echo " > Поля marketplace_order_id и marketplace_name удалены из таблицы erp24.sales\n"; } + + private function indexExists(string $indexName): bool + { + $result = $this->db->createCommand( + "SELECT 1 FROM pg_indexes WHERE indexname = :name" + )->bindValue(':name', $indexName)->queryScalar(); + + return $result !== false; + } } -- 2.39.5