Symfony2: доступ к базе данных postgres запрещен

1

Я начал изучать Symfony2, и я хотел использовать Doctrine для создания таблицы в моей базе данных postgres. Я установил postgres и выполнил следующие шаги:

sudo -i -u postgres

Я создал пользователя с именем: test и type superuser createuser --interactive

createdb test

Я создал пользовательский тест с проверкой пароля

adduser test

И мои параметры.yml в symfony2 выглядят следующим образом:

parameters: database_driver: pdo_pgsql database_host: 127.0.0.1 database_port: null database_name: test database_user: test database_password: test mailer_transport: smtp mailer_host: 127.0.0.1 mailer_user: null mailer_password: null Также у меня есть сущность:

<?php
namespace AppBundle\Entity;

use Doctrine\ORM\Mapping as ORM;
 /**
 * @ORM\Entity
 * @ORM\Table(name="product")
 */
class Product
{
    /**
     * @ORM\Column(type="integer")
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    protected $id;

    /**
     * @ORM\Column(type="string", length=100)
     */
    protected $name;

    /**
     * @ORM\Column(type="decimal", scale=2)
     */
    protected $price;

    /**
     * @ORM\Column(type="text")
     */
    protected $description;
}

Затем я набрал эту оценку в терминале:

php app/console doctrine:generate:entities AppBundle

И я получил это предупреждение:

[Doctrine\DBAL\Exception\ConnectionException]                                
  An exception occured in driver: SQLSTATE[28000] [1045] Access denied for us  
  er 'test'@'localhost' (using password: YES)                                  


  [Doctrine\DBAL\Driver\PDOException]                                          
  SQLSTATE[28000] [1045] Access denied for user 'test'@'localhost' (using pas  
  sword: YES)                                                                  


  [PDOException]                                                               
  SQLSTATE[28000] [1045] Access denied for user 'test'@'localhost' (using pas  
  sword: YES)  

Что я могу сделать для решения этой проблемы?

РЕДАКТИРОВАТЬ:

Я понял, что я подключен к базе данных mysql, и я не знаю почему. Как я могу это изменить?

  • 0
    Пожалуйста, проверьте ваш файл config.yml и, в частности, ту часть, где вы конфигурируете соединение dct doctrine . Вы можете использовать официальную документацию, чтобы увидеть, что делает конфиг.
Теги:
doctrine2

1 ответ

2

Один из наших разработчиков столкнулся с этой проблемой на прошлой неделе.

Ваши параметры.yml кажутся хорошими, но если у вас есть "стандартный" config.yml, он не указывает database_driver

#app/config/config.yml
[...]
# Doctrine Configuration
doctrine:
    dbal:
        driver:   "%database_driver%" # <---- Add this line ;)
        host:     "%database_host%"
        port:     "%database_port%"
        dbname:   "%database_name%"
        user:     "%database_user%"
        password: "%database_password%"
[...]
  • 0
    Легко упускается из виду! Спасибо за это :)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню