无法使用Doctrine创建postgres数据库

时间:2015-01-13 05:04:26

标签: php postgresql symfony doctrine-orm doctrine

我在Symfony2中有一个带有学说的项目。在一瞬间,我失去了通过控制台命令(如

)创建/删除数据库的能力
app/console doctrine:database:drop --force
app/console doctrine:database:create
app/console doctrine:schema:update --force

如果我试图创建数据库,那么教义会给我下一个错误:

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

所以,我可以在psql中用user创建数据库,用symfony config编写。如果我尝试通过Doctrine删除现有数据库,它会给我这个:

SQLSTATE[55006]: Object in use: 7 ERROR:  database "motherhood" is being accessed by other users
DETAIL:  There are 1 other session using the database.

但是没有与此数据库的连接

1 个答案:

答案 0 :(得分:-1)

问题的快速解决方法是创建一个与执行命令的用户同名的数据库,因为PostgreSQL必须连接到数据库,即使在创建新数据库时也是如此。

删除数据库时的失败应该在DoctrineBundle 1.4中修复。

创建数据库的失败将在下一个版本(2.5.2)中的doctrine / dbal中修复,如下所述:https://github.com/doctrine/DoctrineBundle/issues/402。该问题将通过始终连接到模板数据库来解决,该模板数据库无法删除。