Php 无法创建具有规则的postgres数据库
我在Symfony2有一个关于条令的项目。在一瞬间,我失去了通过控制台命令创建/删除数据库的能力,比如Php 无法创建具有规则的postgres数据库,php,postgresql,symfony,doctrine-orm,doctrine,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]
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中创建数据库,用symfony config编写。如果我试图通过条令删除现有数据库,它会给出以下信息:
SQLSTATE[55006]: Object in use: 7 ERROR: database "motherhood" is being accessed by other users
DETAIL: There are 1 other session using the database.
但是没有连接到此数据库问题的快速解决方法是创建一个与执行命令的用户同名的数据库,因为PostgreSQL必须连接到数据库,即使在创建新数据库时也是如此 删除数据库时出现的故障应在DoctrineBundle 1.4中修复
创建数据库的失败将在下一版本(2.5.2)的doctrine/dbal中修复,如下所述:。通过始终连接到模板数据库(无法删除)可以解决此问题。我自己也会遇到同样的错误。doctrine忽略了database_name:的config参数,并告诉我当我喜欢你时,配置中名为database_user:的数据库不存在。当然,这是不存在的,存在的数据库是由database\u name指定的,而不是database\u user指定的。对于新的symfony用户来说非常令人沮丧