我有一个公司许可的中央数据库,其中我将连接值保存到公司的特定数据库中,我需要能够查询中央数据库并重新调整与动态指定数据库的连接参数,而不必在我的config.yml中创建所有连接。
我发现有一个代码可以覆盖连接,但是我不知道如何使用它来更改连接。
//config.yml
# Doctrine Configuration
doctrine:
dbal:
default_connection: default
connections:
default:
wrapper_class: AppBundle\Doctrine\DynamicConnection
driver: pdo_mysql
host: '%database_host%'
port: '%database_port%'
dbname: '%database_name%'
user: '%database_user%'
password: '%database_password%'
charset: UTF8
//AppBundle\Doctrine\DynamicConnection.php
namespace AppBundle\Doctrine;
use Doctrine\DBAL\Connection;
use Doctrine\DBAL\Driver;
class DynamicConnection extends Connection
{
public function __construct (array $ params, Driver $ driver, $ config, $ eventManager)
{
$ params ['dbname'] = 'database_central';
parent :: __ construct ($ params, $ driver, $ config, $ eventManager);
}
}