Alto CMS: установка на PostgreSQL (обновлено 29.05.2014)


Похожие статьи

  • Установка на PostgreSQL
    На главной странице заявлено — «в качестве базы данных может использоваться как MySQL (mysqli/PDO), так и PostgreSQL». Вот только при установке нельзя выбрать базу — подразумевается только MySQL. Файлик со схемой —...
  • Config.local.php
    1.Вопрос. config.local.php .что писать, если все находится в корне домена ? 2.Вопрос. Где админ панель находится?
  • Быстрая установка Alto CMS «для чайников»
    Для того, чтобы установить Alto CMS на своем сайте, надо сначала залить туда файлы движка. Люди опытные, да, к тому же, имеющие консольный доступ к серверу, могут сделать это быстро: скопировать на сервер архив,...
  • После установки Alto cms выдает «Cannot connect to database». Решено.
    Проблема Собственно, проблема озвучена в заголовке. Что-то я не то делаю, поскольку после, казалось бы, успешной установки системы, по адресу сайта появляется простой текст на белом фоне Cannot connect to database. ...

11 комментариев

0
Спасибо большое за проделанную работу.

Да, на install смотреть не надо, установка сейчас однозначно под мускуль заточена. Да и вообще, есть еще немало «мускульных» мест в движке, которые нужно аккуратно адаптировать. Но нормальная и безусловная поддержка PostgreSQL — это одно из приоритетных направлений развития движка
0
Спасибо за проделанную работу.

Ошибки с git на дату 11.02.2014:

1. patch -p1 <alto_postgresql.diff
patching file common/classes/modules/admin/mapper/Admin.mapper.class.php
patching file common/classes/modules/blog/mapper/Blog.mapper.class.php
patching file common/classes/modules/comment/mapper/Comment.mapper.class.php
patch: **** malformed patch at line 64: diff -aur altocms-master/common/classes/modules/page/mapper/Page.mapper.class.php altocms/common/classes/modules/page/mapper/Page.mapper.class.php

Патчи накатил ручками. Базу загрузил, конфиг залил.
Из дампа базы стоит поубирать все строки с OWNER TO postgres;, чтобы не привязываться к пользователю postgres.

2. Сразу на сайте кликаем по люди — получаем ошибку:

[LOG:1392113344.696-52F9F6C0AACA5][2014-02-11 14:09:04][PID:1114][DEBUG][[
SQL Error: ERROR: array value must start with "{" or dimension information
СТРОКА 12: ORDER BY FIELD(u.user_id,E'1')
^ at /var/www/alto.example.com/common/classes/modules/user/mapper/User.mapper.class.php line 353
— Array
(
[code] =>
[message] => ERROR: array value must start with "{" or dimension information
СТРОКА 12: ORDER BY FIELD(u.user_id,E'1')
^
[query] =>
SELECT
u.*,
CASE WHEN ua.user_id IS NULL THEN 0 ELSE 1 END as user_is_administrator,
ab.banline, ab.banunlim, ab.banactive
FROM
prefix_user as u
LEFT JOIN prefix_user_administrator AS ua ON u.user_id=ua.user_id
LEFT JOIN prefix_adminban AS ab ON u.user_id=ab.user_id AND ab.banactive=1
WHERE
u.user_id IN(E'1')
ORDER BY FIELD(u.user_id,E'1')
LIMIT 1

[context] => /var/www/alto.example.com/common/classes/modules/user/mapper/User.mapper.class.php line 353
)

]][END:1392113344.696-52F9F6C0AACA5]

3. Ошибка altocms

В конфиг автоматом добавляется $config['path']['root']['url'] = 'http://alto.example.com/'; вместо
$config['path']['root']['url'] = 'https://alto.example.com/'; а лучше для старта так $config['path']['root']['url'] = '/';
в результате по https не грузятся css.

4. Тоже ошибка altocms
Главная страница адаптивная а остальные с фиксированной шириной.
0
Да и при попытке востановления пароля в ajax возвращает ту же ошибку.

SQL Error: ERROR: array value must start with "{" or dimension information
СТРОКА 12: ORDER BY FIELD(u.user_id,E'1')
^ at /var/www/alto.example.com/common/classes/modules/user/mapper/User.mapper.class.php line 353
— Array
(
[code] =>
[message] => ERROR: array value must start with "{" or dimension information
СТРОКА 12: ORDER BY FIELD(u.user_id,E'1')
^
[query] =>
SELECT
u.*,
CASE WHEN ua.user_id IS NULL THEN 0 ELSE 1 END as user_is_administrator,
ab.banline, ab.banunlim, ab.banactive
FROM
prefix_user as u
LEFT JOIN prefix_user_administrator AS ua ON u.user_id=ua.user_id
LEFT JOIN prefix_adminban AS ab ON u.user_id=ab.user_id AND ab.banactive=1
WHERE
u.user_id IN(E'1')
ORDER BY FIELD(u.user_id,E'1')
LIMIT 1
[context] => /var/www/alto.example.com/common/classes/modules/user/mapper/User.mapper.class.php line 353
)

Ещё не подскажите как прописать почту с авторизацией для отправки паролья востановления.
0
Спасибо за отзыв. А что за версия PostgreSQL?
0
Ошибка связана с функцией FIELD, конкретно её я тестировал только на PG 9.3.
0
debian wheezy PG 9.1

>Ошибка связана с функцией FIELD
это понятно, постгрес требует оборачивать масивы {}
0
Попробовал разные версии PostgreSQL.
Из за функции field минимальная версия PostgreSQL — 8.4
Там запрос отработал нормально
Попробовал версию
$ psql
psql (9.1.11)
Там тоже всё сработало.
0
А вы на последнем git-e пробовали?
0
Обновил патч. Принципиально там ничего не изменилось, поэтому хочу вернуться к обсуждению вашей проблемы — попробуйте выполнить проблемный запрос через консоль psql.
0
Патч обновлён.
0
А где статья o_O
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.