Я пытаюсь развернуть Mantis BT на Heroku, используя PostgreSQL в качестве базы данных, в качестве доказательства концепции и обучения (или, возможно, более точно, как «поднять крутую кривую обучения», так как я являюсь итогом новичок для всех трех технологий).Развертывание Mantis BT на Heroku: настройка Postgresql?
Развертывание PHP-приложения в Heroku прошло хорошо, и доступ к URL приложения приводит к его странице admin/install.php
. Provisioning базы данных PostgreSQL прошло хорошо, и дал мне базу данных URL, который (обфусцированную) выглядит следующим образом:
postgres://useruseruser:[email protected]com:5432/dbnamedbname
Я могу получить доступ к базе данных через psql
, используя эти учетные данные, и пользователь (предсказуемо) Безразлично» t имеет привилегию «usecreatedb». Я не могу разобраться в выводе команды PostgreSQL \z
, который, кажется, сказать, что я не имею нет привилегий на столе я создал:
dbnamedbname=> \z foo;
Access privileges
Schema | Name | Type | Access privileges | Column access privileges
--------+------+-------+-------------------+--------------------------
public | foo | table | |
(1 row)
, но я ставлю это впечатление вниз не очень зная еще идиомы PostgreSQL.
Эмпирически я был в состоянии определить, что у меня есть привилегии CREATE (для обеих таблиц & индексов), SELECT, INSERT, UPDATE, DELETE, ALTER и DROP, которые кажутся what Mantis BT requires для своей «высокой защищенностью базы данных Счет."
Таким образом, казалось бы, что у меня есть все, что нужно, чтобы заполнить Mantis BT admin/install.php
форме:
- Hostname: ec2-107-21-219-201.compute-1.amazonaws.com
- Имя пользователя: useruseruser
- Пароль: passwordpasswordpassword
- База данных: dbnamedbname
- Администратор Имя пользователя: useruseruser
- Admin Password: passwordpasswordpassword
Два примечания здесь:
- Да, я знаю, что обычный пользователь БД не должен иметь все привилегии пользователя администратора, но Heroku только дала мне одно имя БД, и (потому что на данный момент это просто доказательство концепции), я не хотел начинать пустую тупик, пытаясь - и не сумев - создать еще второго пользователя.
- Форма Бланка Mantis говорит, что имя пользователя и пароль администратора являются «при необходимости создавать базу данных». Поскольку база данных («dbnamedbname») уже существует, изначально я думал, что могу оставить эти пробелы, но Mantis BT настаивает на наличии для них значений (и install documentation говорит, что если они не будут предоставлены, «пользователь базы данных будет использоваться») ,
Тем не менее, когда я заполнить форму, используя значения выше и нажмите кнопку «Установить/обновление базы данных» кнопку, я получаю отказ, указывающий, что приложение не может подключиться к базе данных с учетными данными, предоставленных (в точно такие же полномочия, кстати, что я использовал для подключения к базе данных с использованием psql
):
(один подозрительный предмет на скриншоте выше, - что я не еще закалили себя идти охота в коде: o bscured Admin password на странице, возвращаемой отправкой формы, показывает только шесть патронов, тогда как фактический пароль, который я вставил, составлял 30 символов.)
Итак, вопросы всем, кто понимает, как работает настройка базы данных Mantis BT.
- Действительно ли это передается только на шесть символов на сервер БД или это просто сбои пользовательского интерфейса?
- Даже после того, как я выясню, почему он не подключается к базе данных - если это действительно так - это обозначение «для создания базы данных , если необходимо,» (по имени пользователя и паролям администратора) действительно значительна? Или будет глупа и попытаться создать базу данных, даже если указанная база данных уже существует?
- Если ответ на 2 выше: «Да, он попытается создать базу данных в любом случае», какой рекомендуемый способ обойти это, учитывая, как Heroku занимается предоставлением баз данных PostgreSQL?