Closed igk1972 closed 10 years ago
Привет, буквально недавно занимался доработкой установки через CLI, хотел бы узнать были ли эти изменения учтены и какая ветка? https://github.com/butschster/kodicms/blob/dev/cms/modules/installer/classes/task/install.php
Драйвер mysql
уже давно не является драйвером по умолчанию и через CLI требуется его ввод. По поводу Request он является internal
и раньше он работал нормально и он был реально быстрой альтернативой установки, возможно придется вынести весь процесс установки из контроллера.
P.S. CLI инсталлятор был разработан исключительно для переустановки demo сайта раз в несколько часов, позже этот механизм перестал использоваться и был написан с учетом уже имеющегося инсталлятора, сейчас наверно пришло время, когда стоит переписать весь механизм установки системы.
Привет! Ветка dev текущее состояние. Второй недочет про параметры убрал в моем тексте.
Сам механизм установки еще более-менее нормальный. Кроме упоминаемого Request. На его месте должен быть вызов функций класса инсталлятора. (сейчас пробую сделать)
Еще не хватает параметра вроде db_pdo (mysqlsqlite). (тоже уже сделал, войдет в sqlite поддержку)
В общем я сделал ветку installer
и в ней вынес все в отдельный класс и поменял в CLI и контроллере все, можешь проверить, возможно есть ошибки, т.к. уже убегаю с работы, закоммитил что успел сделать
Впредверии sqlite, надо что-то решать с проблемой https://github.com/butschster/kodicms/issues/291 Без этого невозможна работа c sqlite (точно проверено) и может быть еще с иной системой бд.
Ну как минимм в бд есть внешние ключи, это тоже будет проблемой в sqlite, т.к. целостность некоторых данных зависит от внешних ключей
Ключи работают в sqlite.
Ты недопонял - я благополучно сделал работающую версию на sqlite. Как?
Web-инстраллятор у меня отрабатывает полностью. Дело было зв CLI-инсталятором.
Ну а проблему null-byte решил пока заменой всех функций serialize/unserialize.
То есть PDO_Sqlite понимает диалект sql от SQLite и от MySQL. На это меня навел проект sqlite-integration https://wordpress.org/plugins/sqlite-integration/ для Wordpress, который прекрассно работает. Раз уж в WP и в Kodicms нет полной абстрации от бд.
Забирай исправления installer https://github.com/igk1972/kodicms/tree/installer
Еще замеченно что при ошибках кода или выполнения - выводится html код в консоль.
Ну в общем я сейчас на основе твоих правок заканчиваю интеграцию, но возник ряд проблем с работой sqlite, а именно несоответствие синтаксиса:
Mysql
SET FOREIGN_KEY_CHECKS = 0
SQLite
PRAGMA foreign_keys = OFF;
Погоди править и интегрировать.
Ведь я не выложил основной свой код. Мне еще надо сутки или двое.
Увидишь решение.
30 октября 2014 г., 0:49 пользователь butschster notifications@github.com написал:
Ну в общем я сейчас на основе твоих правок заканчиваю интеграцию, но возник ряд проблем с работой sqlite, а именно несоответствие синтаксиса:
Mysql SET FOREIGN_KEY_CHECKS = 0
SQLite PRAGMA foreign_keys = OFF;
— Reply to this email directly or view it on GitHub https://github.com/butschster/kodicms/issues/302#issuecomment-61002343.
Все по sqlite будет у меня в одноименной ветке.
30 октября 2014 г., 0:49 пользователь butschster notifications@github.com написал:
Ну в общем я сейчас на основе твоих правок заканчиваю интеграцию, но возник ряд проблем с работой sqlite, а именно несоответствие синтаксиса:
Mysql SET FOREIGN_KEY_CHECKS = 0
SQLite PRAGMA foreign_keys = OFF;
— Reply to this email directly or view it on GitHub https://github.com/butschster/kodicms/issues/302#issuecomment-61002343.
Опять огорчения в нахождении проблем в базовом функционале который заявлен, и по смыслу должен быть добротно оттестирован. По-сравнению, скажем, с ГД.
Итак, продолжаю делать поддержку sqlite (кстати получается). Дошел до изменения модуля инсталляции (installer). Помятую что в нем заявленно два режима работы - web и cli. C web-инсталляцией все понятно, переходим к режиму cli.
Исходная ситуация:
Пытаюсь запустить: php index.php install --db_driver=pdo --db_name=kodicms --site_name KodiCMS --username=admin --timezone=UTC --empty_database=1
Полученные проблемы:
1) ErrorException [ 8 ]: Undefined index: HTTP_HOST ~ APPPATH/classes/request.php [ 20 ] Удивляюсь... Заглядываю в cms/modules/installer/tasks/install.php и еще больше удивляюсь что cli инсталляция на самом деле использует POST запрос к веб-серверу. Это мягко говоря странно....