我在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.
但是没有与此数据库的连接
答案 0 :(得分:-1)
问题的快速解决方法是创建一个与执行命令的用户同名的数据库,因为PostgreSQL必须连接到数据库,即使在创建新数据库时也是如此。
删除数据库时的失败应该在DoctrineBundle 1.4中修复。
创建数据库的失败将在下一个版本(2.5.2)中的doctrine / dbal中修复,如下所述:https://github.com/doctrine/DoctrineBundle/issues/402。该问题将通过始终连接到模板数据库来解决,该模板数据库无法删除。