2015-10-31 4 views
1

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

sudo -i -u postgres

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

createdb test

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

adduser test

И мой parameters.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) 

Что может Я делаю, чтобы решить эту проблему?

EDIT:

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

+0

Пожалуйста, проверьте 'config.yml' файл и более конкретно той части, где вы настраиваете dobby-соединение 'doctrine'. Вы можете использовать [официальную документацию] (http://symfony.com/doc/current/reference/configuration/doctrine.html), чтобы узнать, что именно делает. – tftd

ответ

2

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

Ваш parameters.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

Легко упускать из виду! Спасибо за это :) –

Смежные вопросы