Как стать автором
Обновить

Изменение конфига MySQL в Joomla 5.2.1 с помощью плагина
Или решаем откладываем проблему с большим количеством характеристик товаров в JoomShopping.

Ситуация:
В JoomShopping для каждой характеристики товара создаётся столбец в таблице
#__jshopping_products_to_extra_fields. Со временем характеристик становится много и попытка создания новой характеристики приводит к ошибке. До сих пор помогало изменение типа столбцов с VARCHAR(100) на TEXT. Но на днях столкнулся с тем что после создания около 400 храктеристик проблема вернулась.

В качестве решения можно отключить строгий режим в MySQL.

Joomla позволяет сделать это даже если у вас нет прав изменять конфигурацию сервера.

В классе Joomla\Database\Mysqli\MysqliDriver в методе connect вызывается событие onAfterConnect. Напишем системный плагин и в обработчике этого события выполним запрос для установки innodb_strict_mode=0.

$driver = $event->getDriver();
$driver->connection->query('SET @@SESSION.innodb_strict_mode = 0;');

Таким образом запрос SET @SESSIONN.innodb_strict_mode = 0; будет выполняться при каждом соединении с базой.

Теги:
Всего голосов 1: ↑1 и ↓0+1
Комментарии0

Публикации

Истории

Ближайшие события

19 марта – 28 апреля
Экспедиция «Рэйдикс»
Нижний НовгородЕкатеринбургНовосибирскВладивостокИжевскКазаньТюменьУфаИркутскЧелябинскСамараХабаровскКрасноярскОмск
22 апреля
VK Видео Meetup 2025
МоскваОнлайн
23 апреля
Meetup DevOps 43Tech
Санкт-ПетербургОнлайн
24 апреля
VK Go Meetup 2025
Санкт-ПетербургОнлайн
25 – 26 апреля
IT-конференция Merge Tatarstan 2025
Казань
14 мая
LinkMeetup
Москва
5 июня
Конференция TechRec AI&HR 2025
МоскваОнлайн
20 – 22 июня
Летняя айти-тусовка Summer Merge
Ульяновская область