使用Postgresql失败的Doctrine数据库创建命令

时间:2015-10-17 15:55:43

标签: postgresql symfony doctrine-orm

在Symfony中我试图通过doctrine创建数据库:database:create会抛出以下异常:

[Doctrine\DBAL\Exception\ConnectionException]                                
 An exception occured in driver: SQLSTATE[08006] [7] FATAL:  database "tm_ootb" does not exist

我遇到了错误,或者我在配置中遗漏了什么。

这是我的dbal配置:

dbal:
    driver:   pdo_pgsql
    host:     "%database_host%"
    port:     "%database_port%"
    dbname:   "%database_name%"
    user:     "%database_user%"
    password: "%database_password%"
    charset:  UTF8

由于

1 个答案:

答案 0 :(得分:-1)

原来这是Postgresql的权限情况。根据您在参数上配置的用户级别,您将面临这种情况。

当使用也拥有名为postgres的管理数据库的postgres超级用户帐户连接到Postgres时,完全没有问题,因为它发出以下命令:

psql -U postgres

没问题,因为用户和数据库存在,之后发布了'createdb'命令。但是当使用不拥有数据库或不是超级用户的任何其他用户时,它会引发提及错误。应该有一种方法可以避免Doctrine这样的错误。

希望这对其他人有用。