4
votes

I followed this documentation to add doctrine to my symfony project(v4.2). But when doctrine is installed it deosn't add this line to my project ( in my .env file like mentioned in the doc ):

DATABASE_URL="mysql://db_user:[email protected]:3306/db_name"

So I added it manually like this :

DATABASE_URL="mysql://[email protected]:3306/db_school"

and used this commande to create the database :

php bin/console doctrine:database:create

and it gives me this error :

In AbstractMySQLDriver.php line 93: An exception occurred in driver: SQLSTATE[HY000] [1045] Access denied for user 'db_user'@'localhost' (using password: YES)

In PDOConnection.php line 31: SQLSTATE[HY000] [1045] Access denied for user 'db_user'@'localhost' (using password: YES)
In PDOConnection.php line 27: SQLSTATE[HY000] [1045] Access denied for user 'db_user'@'localhost' (using password: YES)

Even I changed the user and password it still dosn't recognize it . Any idea why it dosn't work ? I will appreciate it .

3
Do you have .env.local file which may override this variable?MakG
No Sir . I don't have it .hafida Bo
The error message is inconsistent with the config line you add ! I think that's a bad thing to use root. Create an user and grant him with "administration rights". Do you have a database named "db_school" in your DBMS ? Do you have an user named "db_user" in your DBMS ?Nicolas
No Sir ! I dont have them. I just have the root as user name .and database dosnt existhafida Bo
your root username have a password ? if yes then try : DATABASE_URL="mysql://root:[email protected]:3306/db_school" and php bin/console doctrine:database:createWilliam Bridge

3 Answers

4
votes

I think you have to create an user "db_user" with password in your DBMS. Then grant him with "Administration" rights. Then correct .env's database configuration line :

DATABASE_URL="mysql://db_user:[email protected]:3306/db_name"
2
votes

Try using the same syntax like you have a password, just enter nothing where password suppose to be:

DATABASE_URL="mysql://root:@127.0.0.1:3306/db_school"

As it's explained here: https://github.com/doctrine/DoctrineBundle/issues/746#issuecomment-351788298

2
votes

This method seem to not work for me I dont kniw why but it worked this way :

  • So I used Flex to install doctrine :

composer require doctrine

Then I run this :

composer require orm

  • then I went to my file .env and I found my database syntax generated automaticlyy and everything worked fine .

  • Also I deleted the other sql processors that were open on my computer ( i hv installed sql server too + wamp which explaine the conflict that I have) and then re-opened my wamp server and everything is working fine.