При установке движка ошибка Table 'site.wa_app_settings' doesn't exist Принято
Вроде писали - что поправили: https://developers.webasyst.ru...
Но похоже - что нет.
Конфиг: php 7.4, mariadb 10.6
Webasyst Framework: Версия 2.6.2.703 от 8 августа 2022
В логах следующие ошибки:
2022-08-25 19:53:21 176.52.35.198 Table 'site.wa_app_settings' doesn't exist ## wa-system/database/waDbMysqliAdapter.class.php(491) #0 wa-system/database/waDbMysqliAdapter.class.php(189): waDbMysqliAdapter->exception() #1 wa-system/database/waModel.class.php(194): waDbMysqliAdapter->schema() #2 wa-system/webasyst/lib/models/waAppSettings.model.php(114): waModel->describe() #3 wa-system/database/waModel.class.php(149): waAppSettingsModel->describe() #4 wa-system/database/waModel.class.php(99): waModel->getFields() #5 wa-system/database/waModel.class.php(78): waModel->getMetadata() #6 wa-system/contact/waContact.class.php(67): waModel->__construct() #7 wa-system/user/waUser.class.php(22): waContact->init() #8 wa-system/user/waAuthUser.class.php(32): waUser->init() #9 wa-system/user/waAuthUser.class.php(27): waAuthUser->init() #10 wa-system/waSystem.class.php(251): waAuthUser->__construct() #11 wa-system/waSystem.class.php(293): waSystem::getCommonFactory() #12 wa-system/controller/waDispatch.class.php(115): waSystem->getUser() #13 wa-system/controller/waDispatch.class.php(32): waDispatch->dispatchBackend() #14 wa-system/waSystem.class.php(610): waDispatch->dispatch() #15 index.php(7): waSystem->dispatch() #16 {main} 2022-08-25 19:53:21 176.52.35.198 Table 'site.wa_verification_channel' doesn't exist ## wa-system/database/waDbMysqliAdapter.class.php(491) #0 wa-system/database/waDbMysqliAdapter.class.php(189): waDbMysqliAdapter->exception() #1 wa-system/database/waModel.class.php(194): waDbMysqliAdapter->schema() #2 wa-system/database/waModel.class.php(149): waModel->describe() #3 wa-system/database/waModel.class.php(99): waModel->getFields() #4 wa-system/database/waModel.class.php(78): waModel->getMetadata() #5 wa-system/verification/models/waVerificationChannel.model.php(17): waModel->__construct() #6 wa-system/config/waAuthConfig.class.php(770): waVerificationChannelModel->__construct() #7 wa-system/config/waAuthConfig.class.php(63): waAuthConfig->getVerificationChannelModel() #8 wa-system/config/waBackendAuthConfig.class.php(36): waAuthConfig->ensureChannelExists() #9 wa-system/config/waBackendAuthConfig.class.php(24): waBackendAuthConfig->ensureVerificationChannelIdsConsistency() #10 wa-system/config/waAuthConfig.class.php(42): waBackendAuthConfig::getInstance() #11 wa-system/auth/waAuth.class.php(72): waAuthConfig::factory() #12 wa-system/waSystem.class.php(226): waAuth->__construct() #13 wa-system/waSystem.class.php(502): waSystem->getFactory() #14 wa-system/user/waAuthUser.class.php(45): waSystem->getAuth() #15 wa-system/user/waAuthUser.class.php(27): waAuthUser->init() #16 wa-system/waSystem.class.php(251): waAuthUser->__construct() #17 wa-system/waSystem.class.php(293): waSystem::getCommonFactory() #18 wa-system/controller/waDispatch.class.php(115): waSystem->getUser() #19 wa-system/controller/waDispatch.class.php(32): waDispatch->dispatchBackend() #20 wa-system/waSystem.class.php(610): waDispatch->dispatch() #21 index.php(7): waSystem->dispatch() #22 {main}
Ошибка выскакивает на последнем этапе установки - когда уже после ввода логина, пароля и почты админа и нажимаешь Enter:

В базе только эти таблицы создаются:

5 комментариев
Выяснил, что установка проходит только для баз до MariaDB 10.5 включительно.
Решение - пока откатиться до версии ниже.
А начиная от 10.6 версии не устанавливается.
Вываливаются ошибки, что выше.
Надо бы в рекомендациях к установке фреймоврка написать - что лучше не ставить MariaDB 10.6 и выше.
Так как там многое обновлено.
Например, в данном случае Max Key length был урезан до 1000.
А до версий 10.5 включительно - Max KEy Length = 3072.
Это если установлено всё со стандартных репозиторий, а не собирали сами из исходников(либо хостер собрал).
судя по changelog, в нашем случае особой разницы между 10.5 и 10.6 нет.
для новых версий можно включить old_mode
проблема скорее всего в первичном ключе у таблиц вроде wa_app_settings:
т.е. составной ключ, да еще и из varchar полей.
т.ч. можешь попробовать заменить на
чтобы уместится в "Max Key length был урезан до 1000.", хотя там речь скорее всего о настройках по умолчанию т.ч. скорее всего можно вернуть прежнее значение.
у меня есть несколько серверов - где-то mariadb 10.6 , а где-то 10.5.
Все установки из коробки без допиливания - с репозиториев mariadb или самого дистриба(Debian, Ubuntu).
На mariadb 10.6 будут проблемы - даже после переноса базы с 10.5.
Нужно будет многие Индексы и ключи корректировать.
Короче, плюнул на это дело )
Ставлю везде 10.5.
К сожалению, фреймворк так и не перешел на InnoDB.
Было бы проще...
с этим у них как раз все ок, InnoDB таблицы хороши для часто обновляемых данных.
или изменить значение Max Key length