This project is not covered by Drupal’s security advisory policy.

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.

Supporting organizations: 

Project Information

Downloads