ОШИБКИ И ВИРУСЫ / Ошибка в модуле Редиректы

Заметка создана: 14 января 2025 г.

Ошибка

 Query error 1048: Column 'informationsystem_group_id' cannot be null. Query: INSERT INTO `redirects` (`deleted`, `site_id`, `old_url`, `type`, `new_url`, `active`, `informationsystem_id`, `informationsystem_item_id`, `informationsystem_group_id`, `shop_id`, `shop_group_id`, `shop_item_id`, `referer`) VALUES (0, '1', '/old_url/123', '1', '', 0, '1', '0', NULL, '1', '0', '0', '')
 35 modules/core/exception.php
 641 modules/core/database/mysql.php
 60 modules/core/querybuilder/statement.php
 1450 modules/core/orm.php
 550 modules/core/entity.php
 532 modules/redirect/model.php
 1520 modules/core/orm.php
 363 modules/redirect/model.php
 578 modules/admin/form/action/controller/type/edit.php
 357 modules/redirect/controller/edit.php
 488 modules/admin/form/action/controller/type/edit.php
 408 modules/redirect/controller/edit.php
 1080 modules/admin/form/controller.php
 196 admin/redirect/index.php
Решения

1. открыть /admin/redirect/index.php
2. найти $groups = $oInformationsystem_Item_Controller_Edit->fillInformationsystemGroup(Core_Array::getGet('informationsystem_id'), 0);
3. заменить на  $groups = array('...') + $oInformationsystem_Item_Controller_Edit->fillInformationsystemGroup(Core_Array::getGet('informationsystem_id'), 0);

4. перекачать архив, заменить файл modules/redirect/controller/edit.php
выполнить запрос
ALTER TABLE `redirects`
    CHANGE COLUMN `informationsystem_id` `informationsystem_id` INT(11) NULL DEFAULT '0' AFTER `site_id`,
    CHANGE COLUMN `informationsystem_item_id` `informationsystem_item_id` INT(11) NULL DEFAULT '0' AFTER `informationsystem_id`,
    CHANGE COLUMN `informationsystem_group_id` `informationsystem_group_id` INT(11) NULL DEFAULT '0' AFTER `informationsystem_item_id`,
    CHANGE COLUMN `shop_id` `shop_id` INT(11) NULL DEFAULT '0' AFTER `referer`,
    CHANGE COLUMN `shop_group_id` `shop_group_id` INT(11) NULL DEFAULT '0' AFTER `shop_id`,
    CHANGE COLUMN `shop_item_id` `shop_item_id` INT(11) NULL DEFAULT '0' AFTER `shop_group_id`;
5.  Перекачайте архив и замените файл modules/redirect/model.php файлом из архива
php