]> gitweb.erp-flowers.ru Git - erp24_rep/yii-erp24/.git/commitdiff
правки по миграциям
authorfomichev <vladimir.fomichev@erp-flowers.ru>
Fri, 15 May 2026 09:49:20 +0000 (12:49 +0300)
committerfomichev <vladimir.fomichev@erp-flowers.ru>
Fri, 15 May 2026 09:49:20 +0000 (12:49 +0300)
erp24/migrations/m241228_092653_add_target_date_column_to_sent_kogort_table.php

index 75f01ab71d5e521ba1d0ef09ae6e61adc05ef8e5..72e8df83922498dfb0e875ecd949850c847bfae4 100644 (file)
@@ -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('Целевая дата'));
         }
     }