使用Doctrine ORM Symfony创建数据库时出现错误。

3
当我尝试使用命令创建数据库时:
$ php bin/console doctrine:database:create

我遇到了这些错误


2019-04-02T12:45:01+02:00 [error] Error thrown while running command "doctrine:d
atabase:create". Message: "An exception occurred in driver: SQLSTATE[HY000] [104
5] Access denied for user 'root'@'localhost' (using password: YES)"

In AbstractMySQLDriver.php line 93:

  An exception occurred in driver: SQLSTATE[HY000] [1045] Access denied for u
  ser 'root'@'localhost' (using password: YES)


In PDOConnection.php line 31:

  SQLSTATE[HY000] [1045] Access denied for user 'root'@'localhost' (using pas
  sword: YES)


In PDOConnection.php line 27:

  SQLSTATE[HY000] [1045] Access denied for user 'root'@'localhost' (using pas
  sword: YES)

我卸载了xmapp、composer和symbony,并重新安装了它们。

  • PHP版本为7.3.3
  • Composer版本为1.8.4
  • Symfony CLI版本为v4.3.3

按照这里https://symfony.com/doc/current/doctrine.html的步骤安装ORM Doctrine。

 composer require symfony/orm-pack
 composer require --dev symfony/maker-bundle

修改后的 .env 文件

DATABASE_URL=mysql://root:123456@127.0.0.1:3306/test

然后,执行。
php bin/console doctrine:database:create

随后,错误出现了。


2
看起来您在用户凭据方面遇到了问题。 - Yassine CHABLI
你是否在config.yml中填写了doctrine部分的参数? - Yassine CHABLI
那一定是由于doctrine/dbal相关的问题。尝试将其版本降级到2.4,正如此问题所述。 https://github.com/symfony/symfony/issues/16150 - Jamshad Ahmad
2个回答

1

.env文件长这样:

DATABASE_URL=mysql://root:123456@127.0.0.1:3306/articles

我刚刚移除了密码,问题得到了解决:

DATABASE_URL=mysql://root@127.0.0.1:3306/articles

现在数据库已经创建。

-2

确认一下Doctrine包是否已经安装?

$ composer require doctrine/doctrine-bundle

然后,在您的项目的app/AppKernel.php文件中添加以下行以启用bundle:

<?php
// app/AppKernel.php

// ...
class AppKernel extends Kernel
{
public function registerBundles()
{
    $bundles = array(
        // ...

        new Doctrine\Bundle\DoctrineBundle\DoctrineBundle(),
    );

    // ...
}

// ...
}

已经安装了,所以问题肯定出在别的地方。 - Pekka R
你能为你的答案添加一些解释吗?你为什么认为这个包应该不被安装?如果它没有被安装,那么操作者应该看到一个错误消息,告诉他该命令不可用。 - Nico Haase
可能应该像你所提到的那样,但我不是非常确定,在我的情况下,在设置项目时,我错过了添加这个bundle,导致出现类似的错误。在添加了上述解决方案后,问题得到了解决,并且正常工作。 - Shiv Kumar Singh

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接