From b58c685508010398874022e12070e46882fef649 Mon Sep 17 00:00:00 2001 From: Fabien Potencier Date: Mon, 1 Feb 2010 05:12:12 +0100 Subject: [PATCH] [DependencyInjection] added a way to change the DBAL driver in the Doctrine extension --- .../Loader/Extension/DoctrineExtension.php | 13 ++++++++++++- .../Loader/schema/dic/doctrine/doctrine-1.0.xsd | 1 + 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/src/Symfony/Components/DependencyInjection/Loader/Extension/DoctrineExtension.php b/src/Symfony/Components/DependencyInjection/Loader/Extension/DoctrineExtension.php index 48a5c631ac..4bfe4f58fb 100644 --- a/src/Symfony/Components/DependencyInjection/Loader/Extension/DoctrineExtension.php +++ b/src/Symfony/Components/DependencyInjection/Loader/Extension/DoctrineExtension.php @@ -49,7 +49,7 @@ class DoctrineExtension extends LoaderExtension $loader = new XmlFileLoader(__DIR__.'/xml/doctrine'); $configuration->merge($loader->load('dbal-1.0.xml')); - foreach (array('dbname', 'driverClass', 'host', 'username', 'password') as $key) + foreach (array('dbname', 'host', 'username', 'password') as $key) { if (isset($config[$key])) { @@ -57,6 +57,17 @@ class DoctrineExtension extends LoaderExtension } } + if (isset($config['driver'])) + { + $class = $config['driver']; + if (in_array($class, array('OCI8', 'PDOMsSql', 'PDOMySql', 'PDOOracle', 'PDOPgSql', 'PDOSqlite'))) + { + $class = 'Doctrine\\DBAL\\Driver\\'.$class.'\\Driver'; + } + + $configuration->setParameter('doctrine.dbal.driver.class', $class); + } + $configuration->setAlias('connection', null !== $this->alias ? $this->alias : 'doctrine.dbal.connection'); return $configuration; diff --git a/src/Symfony/Components/DependencyInjection/Loader/schema/dic/doctrine/doctrine-1.0.xsd b/src/Symfony/Components/DependencyInjection/Loader/schema/dic/doctrine/doctrine-1.0.xsd index cc94292c11..68aa3345e3 100644 --- a/src/Symfony/Components/DependencyInjection/Loader/schema/dic/doctrine/doctrine-1.0.xsd +++ b/src/Symfony/Components/DependencyInjection/Loader/schema/dic/doctrine/doctrine-1.0.xsd @@ -12,5 +12,6 @@ +