Установил на сборку social от goodmade компонент AMP и Турбо страницы. Компонент установился без ошибок, но в админке никак не отображались добавленные строки источников этих AMP и турбо страниц. Выглядело это дело так.
При запуске из планировщика задания на создание турбо страниц — словил такую ошибку
В общем компонент не работал как нужно, а причина связана с базой данных. Меня смутило то, что эта ошибка выскочила на сборке, а на обычно установленных icms этот компонент ошибок не выдавал и нормально работал. Пообщавшись с разработчиками сборки и компонента я понял, что ни сборка ни компонент ни при чем. Сравнил сопоставление в базах данных. В сборке во всех таблицах базы данных тип и сопоставление указаны как InnoDB utf8mb4_general_ci, а на сайтах с обычно установленной icms так: InnoDB utf8mb4_0900_ai_ci.
После установки компонента в его таблицах тоже было прописано InnoDB utf8mb4_0900_ai_ci. Погуглив нашел такое решение в виде нескольких запросов:
ALTER DATABASE your_db CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; ALTER TABLE cms_amp_pages CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci; ALTER TABLE cms_turbo_pages CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
И компонент стал нормально работать. Мне просто интересно при обычной установке icms у нас как то автоматом выбирается сопоставление utf8mb4_0900_ai_ci или тут cms тоже ни при чем, а так настроен mysql сервер по умолчанию. Сборка устанавливается залитием файлов и импортом дампа в базу, понятно что уже в дампе все было определено в utf8mb4_general_ci. Светлые головы кто хорошо разбирается — объясните что к чему. Собственно почему такая ошибка если сопоставления 2 таблиц отличаются от сопоставлений других таблиц базы? По этой ошибке понял что это «Неправильное сочетание сопоставлений». Хочется услышать мнение разбирающегося человека. Спасибо.