Query Error 1054: Unknown column 'part_number' in 'field list' Не принято

1

Несколько раз встречал сообщения такого характера.

Сейчас обновил WA и SS, увидел в логах эту ошибку.

Содержимое лога:

2021-10-13 22:21:49 168.55.27.133
Query Error 1054: Unknown column 'part_number' in 'field list'
Query: SELECT `part_number` FROM `wa_transaction` WHERE 0
## wa-system/database/waModel.class.php(266)
#0 wa-system/database/waModel.class.php(367): waModel->run()
#1 wa-system/webasyst/lib/updates/2.2/1629206560.php(6): waModel->query()
#2 wa-system/config/waAppConfig.class.php(391): include('/var/www/html/s...')
#3 wa-system/config/waAppConfig.class.php(341): waAppConfig->includeUpdate()
#4 wa-system/waSystem.class.php(102): waAppConfig->checkUpdates()
#5 wa-system/waSystem.class.php(1481): waSystem::getInstance()
#6 wa-system/controller/waDispatch.class.php(145): wa()
#7 wa-system/controller/waDispatch.class.php(32): waDispatch->dispatchBackend()
#8 wa-system/waSystem.class.php(610): waDispatch->dispatch()
#9 index.php(7): waSystem->dispatch()
#10 {main}

Для себя сделал решение:

  1. Подозрительным мне кажется тут строка: wa-system/webasyst/lib/updates/2.2/1629206560.php(6): waModel->query()
  2. Открываю файл wa-system/webasyst/lib/updates/2.2/1629206560.php
  3. Вижу код:
  4. <?php
    
    $model = new waModel();
    
    try {
        $model->query('SELECT `part_number` FROM `wa_transaction` WHERE 0');
    } catch (waDbException $e) {
        $query = "ALTER TABLE `wa_transaction` ADD `part_number` INT(11) NOT NULL DEFAULT '0' AFTER `order_id`";
        $model->exec($query);
    }

Комментирую всё, кроме блока catch:

<?php

$model = new waModel();

/*try {
    $model->query('SELECT `part_number` FROM `wa_transaction` WHERE 0');
} catch (waDbException $e) {*/
    $query = "ALTER TABLE `wa_transaction` ADD `part_number` INT(11) NOT NULL DEFAULT '0' AFTER `order_id`";
    $model->exec($query);
//}

и нажимаю F5 в браузере. Как правило ошибка проходит. Далее расскомментирую код на всякий случай. 

8 комментариев

  • +2
    waResearchLab waResearchLab 31 января 2022 19:03 #

    Это не ошибка, это штатная ситуация для метаобновлений.

    • +1
      Константин М. Константин М. 1 февраля 2022 12:39 #

      Да штатная или не штатная...

      Когда после обновления только захожу в админку и вижу 500 со стектрейсом ошибки, то уже всё равно.

      То же самое и для остальных клиентов.

      • +1
        Михаил Ушенин Михаил Ушенин Webasyst 1 февраля 2022 12:59 #


        захожу в админку и вижу 500 со стектрейсом ошибки

        Если ещё когда-то столкнётесь с такой ситуацией, напишите нам в службу поддержки, пожалуйста.

        • +1
          Константин М. Константин М. 2 февраля 2022 00:36 #

          Ок, без проблем.

          • +1
            waResearchLab waResearchLab 2 февраля 2022 12:09 #

            Вы уж определитесь: в логах вы видите это или "при входе в админку"

            • 0
              Константин М. Константин М. 2 февраля 2022 15:11 #

              А это уж так прям в корне меняет статистику...

              К вашему сведению, ошибки в любом случае попадают в логи. На стороне пользователя они могут отображаться явно в зависимости от ситуации.

              • +1
                waResearchLab waResearchLab 3 февраля 2022 12:50 #

                То что подобные записи лезут в лог при метаобновлении - это норма. Ну выбран такой подход и  и выбран. На всякий случай, к вашему сведению: эти записи делаются осознанно.  А вот если такое лезет в админке - это уже совсем другой коленкор. 

                Добавить комментарий

                Чтобы добавить комментарий, зарегистрируйтесь или войдите