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


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

  • Установка на PostgreSQL
    На главной странице заявлено — «в качестве базы данных может использоваться как MySQL (mysqli/PDO), так и PostgreSQL». Вот только при установке нельзя выбрать базу — подразумевается только MySQL. Файлик со схемой —...
  • Установка Alto cms
    Добрый день Решил протестировать Alto cms, все вроде делал по инструкции https://altocms.ru/908.html и кмс вроде даже исправно ставится, но почему-то базовый шаблон отображается на сайте некорректно(прилагаю скриншот)...
  • Ошибка, нужна помощь!
    Всем добрый день! Нужна помощь, при установке выдает ошибку E_DEPRECATED [8192] The each() function is deprecated. This message will be suppressed on further calls See details in error.log в чем проблема не могу понять
  • Проблема БД. Первая (чистая) установка.
    Cервер на Ubuntu 16.04 Панель управления Vesta БД пустая, создана перед установкой. Во время установки никакие чекбосы не отмечались. Установка прошла без сообщений. Сайт открылся нормально. При переходе по ссылке...

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