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


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

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

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
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.