About
If you are using a composer library that needs a DBAL connection, this module provides a factory service that lets you inject that into your services.
e.g.
namespace Hooha\Whizzy;
use Doctrine\DBAL\Connection;
/**
* Provides just enough fizzwang and not a scrap more.
*/
class Fizzwang {
/**
* DBAL connection.
*
* @var \Doctrine\DBAL\Connection
*/
protected $connection;
/**
* Creates a new Fizzwang object.
*
* @param \Doctrine\DBAL\Connection $connection
* A DBAL connection.
*/
public function __construct(Connection $connection) {
$this->connection = $connection;
}
// ...
}
Then you can achieve this by using the @dbal_connection service in your services.yml file.
services:
hooha.fizzwang:
class: \Hooha\Whizzy\Fizzwang
arguments: ['@dbal_connection']
To connect to other than the default database, define your own service like so (connects to $databases['migrate']:
services:
dbal_connection.migrate:
factory: dbal_connection_factory:get
arguments: ['migrate']
Known issues
Please note that table-prefixing isn't supported by DBAL, so you will need to make sure that your tests only write to the prefixed table ($this->getDatabasePrefix()) and not the base installation.
Please use the issue queue to report any problems.
Installation
You must use composer to install this module
composer require "drupal/dbal"
Project information
Minimally maintained
Maintainers monitor issues, but fast responses are not guaranteed.Maintenance fixes only
Considered feature-complete by its maintainers.- Project categories: Developer tools
2,000 sites report using this module
- Created by larowlan on , updated
Stable releases for this project are covered by the security advisory policy.
Look for the shield icon below.
Releases
The one with support for init commands
Development version: 2.x-dev updated 13 Nov 2025 at 20:40 UTC
The one with support for 10.2 in Kernel tests
Development version: 8.x-1.x-dev updated 14 Feb 2024 at 21:39 UTC
