Вроде на InnoDB еще не перешли.
Такая ошибка возникла при апгрейде с прошлогодней версии Shop-script:
## wa-system/config/waAppConfig.class.php(393)
#0 wa-apps/shop/lib/config/shopConfig.class.php(17): waAppConfig->checkUpdates()
#1 wa-system/waSystem.class.php(102): shopConfig->checkUpdates()
#2 wa-system/routing/waRouting.class.php(321): waSystem::getInstance()
#3 wa-system/routing/waRouting.class.php(240): waRouting->getAppRoutes()
#4 wa-system/controller/waDispatch.class.php(288): waRouting->dispatch()
#5 wa-system/controller/waDispatch.class.php(34): waDispatch->dispatchFrontend()
#6 wa-system/waSystem.class.php(614): waDispatch->dispatch()
#7 index.php(7): waSystem->dispatch()
#8 {main}
Next waDbException with message 'Query Error 1286: Unknown storage engine 'InnoDB'
Query: CREATE TABLE `shop_set_group` (
`id` INT NOT NULL AUTO_INCREMENT,
`name` VARCHAR(255) NOT NULL,
`sort` INT NOT NULL DEFAULT '0',
PRIMARY KEY (`id`)
) ENGINE = InnoDB':
## wa-system/database/waModel.class.php(279)
#0 wa-system/database/waModel.class.php(334): waModel->run()
#1 wa-apps/shop/lib/updates/9.2/1644939838.php(7): waModel->exec()
#2 wa-system/config/waAppConfig.class.php(437): include('...')
#3 wa-system/config/waAppConfig.class.php(388): waAppConfig->includeUpdate()
#4 wa-apps/shop/lib/config/shopConfig.class.php(17): waAppConfig->checkUpdates()
#5 wa-system/waSystem.class.php(102): shopConfig->checkUpdates()
#6 wa-system/routing/waRouting.class.php(321): waSystem::getInstance()
#7 wa-system/routing/waRouting.class.php(240): waRouting->getAppRoutes()
#8 wa-system/controller/waDispatch.class.php(288): waRouting->dispatch()
#9 wa-system/controller/waDispatch.class.php(34): waDispatch->dispatchFrontend()
#10 wa-system/waSystem.class.php(614): waDispatch->dispatch()
#11 index.php(7): waSystem->dispatch()
#12 {main}
Исправил, удалив строку "ENGINE = InnoDB" в файле /wa-apps/shop/lib/updates/9.2/1644939838.php
3 комментария
Было бы лучше, если бы вы добавили на своем сервере поддержку InnoDb. Ваше решение потенциально опасно — автор явно указал тип таблиц, поддерживающий транзакции и внешние ключи неспроста. Если автор реально рассчитывает на поддержку внешних ключей, то через некоторое время у вас в базе данных образуется куча мусорных записей, которые либо должны были удалиться автоматом при удалении связанной записи, либо автоматом меняться при изменении связанной записи.
Я всё время отключал поддержку InnoDB на серверах для shop-script.
А тут ради одной таблицы включать поддержку innodb - не целесообразно, имхо. Остальное всё работает на MyIsam.
Другое дело - если разрабы переведут всю системы на innodb.
Странно. Озадачился. У меня эта таблица в базе как MyISAM на версии 9.4.3.70, но не исключаю того факта, что т.к. это пока отладочная кухня, то там могло твориться всякое разное.
Надо будет как-нибудь сравнить со структурой таблиц по-умолчанию для чистой установки.
Поддержка InnoDB не помешает. Как минимум с ней всё прошло бы гладко. У меня тип таблиц InnoDB вообще устаналивается по-умолчанию для MySQL сервера.