From: fomichev Date: Fri, 15 May 2026 09:49:20 +0000 (+0300) Subject: правки по миграциям X-Git-Url: https://gitweb.erp-flowers.ru/?a=commitdiff_plain;h=dd072cbc384a9fb3f3bb5acfaecc817980774761;p=erp24_rep%2Fyii-erp24%2F.git правки по миграциям --- diff --git a/erp24/migrations/m241228_092653_add_target_date_column_to_sent_kogort_table.php b/erp24/migrations/m241228_092653_add_target_date_column_to_sent_kogort_table.php index 75f01ab7..72e8df83 100644 --- a/erp24/migrations/m241228_092653_add_target_date_column_to_sent_kogort_table.php +++ b/erp24/migrations/m241228_092653_add_target_date_column_to_sent_kogort_table.php @@ -18,9 +18,22 @@ class m241228_092653_add_target_date_column_to_sent_kogort_table extends Migrati } if ($this->db->schema->getTableSchema(self::TABLE_NAME)->getColumn('target_date') === null) { - $this->addColumn(self::TABLE_NAME, - 'target_date', - $this->date()->notNull()->comment('Целевая дата')); + $this->addColumn(self::TABLE_NAME, 'target_date', $this->date()->comment('Целевая дата')); + + $this->execute(" + UPDATE " . self::TABLE_NAME . " sk + SET target_date = sk.kogort_date + ( + CASE sk.kogort_number + WHEN 1 THEN COALESCE((SELECT day_before_step1 FROM erp24.users_message_management LIMIT 1), 10) + WHEN 2 THEN COALESCE((SELECT day_before_step2 FROM erp24.users_message_management LIMIT 1), 4) + WHEN 3 THEN COALESCE((SELECT day_before_step3 FROM erp24.users_message_management LIMIT 1), 2) + ELSE 0 + END + ) * INTERVAL '1 day' + WHERE sk.target_date IS NULL + "); + + $this->alterColumn(self::TABLE_NAME, 'target_date', $this->date()->notNull()->comment('Целевая дата')); } }