Исправляем ошибку обновления «Statement violates GTID consistency»

При обновлении старых версий битрикса можно столкнуться с ошибкой

Некоторые обновления не были установлены

Ошибка в updater’e 18.5.500 модуля main: [1786] Statement violates GTID consistency: CREATE TABLE … SELECT.. Установка обновлений модуля main прервана. [CL04] Ошибка обновления модулей.

Проблема возникает, если вы используете репликацию MySQL на базе GTID. Конструкция СREATE TABLE … SELECT запрещена, т.к. существует неоднозначность при записи этой транзакции в binlog в зависимости от настроек мастера и слейва.

Читать дальше…

ORM в D7 1c-bitrix. Первый подход к снаряду

Реализация ORM в ядре D7 — очередная интересная, перспективная, но как обычно плохо документированная разработка от 1с-Битрикс :) Призвана она абстрагировать разработчика от механики работы с таблицами на уровне запросов к БД, введя понятие сущности и поля сущности. На зимней партнерской конференции Алексей Кирсанов провел мастер-класс по созданию модуля с применением ORM для выборки данных из своей таблицы. После чего я решил провести небольшое исследование на предмет возможности построения более сложных, чем в примере, запросов. Читать дальше…

Исправляем ошибку MySQL «Row size too large» в 1с-Битрикс

Если Вы используете в своих проектах инфоблоки 2.0 и таблицы InnoDB, то есть шанс в один прекрасный момент столкнуться с ошибкой MySQL «SQL Error (1118): Row size too large. The maximum row size for the used table type, not counting BLOBs, is 8126. You have to change some columns to TEXT or BLOBs» (или «Got error 139 from storage engine»). Ниже рассмотрены причины и условия ее возникновения, а также различные методы устранения, с вмешательством в настройки сервера или без него. Читать дальше…