Вчера выполнял небольшую работу фрилансом. Для этого нужно было накатить MODx на хостинговую площадку на мастерхосте. В процессе установки получил кучу ошибок такого вида:

#1064 — You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘TYPE=MyISAM COMMENT=’Contains data about active users.» at line 9

Сначала гуглить не стал, решил сам раскопать в чем дело. Короткая раскопка показала, что MySQL стоящий у мастерхоста хочет, чтобы запрос выглядел так:

CREATE TABLE IF NOT EXISTS `test_active_users` (
...
) ENGINE = MYISAM COMMENT = 'Contains data about active users.';

а не так:

CREATE TABLE IF NOT EXISTS `test_active_users` (
...
) TYPE = MYISAM COMMENT = 'Contains data about active users.';

В результате чего, я немного доработал .sql файл установщика и все встало прекрасно. Вы можете скачать этот файл, кинуть его в папку install и будет вам счастье.

Как показало последующее гугление, проблема кроется в том, что у мастерхоста очень свежий MySQL (старше версии 5.5) и в нем уже данный параметр переименован. Непонятными остаются две вещи — почему в MySQL никак не реализована обратная совместимость по данному пункту и почему в установщике MODx никак не учтена возможность возникновения такой проблемы.