I am setting up a Symfony 5.2 app, using doctrine/doctrine-bundle
2.4 and doctrine/orm
2.9. My doctrine.yaml
config file looks like this:
doctrine: dbal: url: '%env(resolve:DATABASE_URL)%' driver: 'pdo_mysql' server_version: '5.7' # IMPORTANT: You MUST configure your server version, # either here or in the DATABASE_URL env var (see .env file) #server_version: '13' orm: auto_generate_proxy_classes: true naming_strategy: doctrine.orm.naming_strategy.underscore_number_aware auto_mapping: true mappings: App: is_bundle: false type: annotation dir: '%kernel.project_dir%/src/Entity' prefix: 'AppEntity' alias: App
The problem is that when I run doctrine:fixtures:load
, I get the following output:
In AbstractPostgreSQLDriver.php line 102: An exception occurred in driver: could not find driver In Exception.php line 18: could not find driver In PDOConnection.php line 39: could not find driver
It looks like Doctrine is trying to use the Postgre driver, though I have specified MySQL. Is there another place where I need to configure this? If so, how?
===
EDIT: It looks like DATABASE_URL
is not available inside my Docker container, which is probably the source of the problem. I’ve verified that DATABASE_URL
is defined in my .env
file, and that my .env
file is in the same folder as my docker-compose.yml
file. Also, I have a setting like this for the environment variable in that docker-compose file:
environment: - DATABASE_URL
So I’m not quite sure what’s wrong here.
Advertisement
Answer
I think you have a wrong DATABASE_URL
in your .env
file. Please check if it starts with mysql://
.