I'm having trouble getting Drupal to switch between multiple databases. I have a system that involves connecting to an external database to retrieve data. I am using the following code inside of a form at build time to get some information for displaying in the form.
$connExternal = \Drupal\Core\Database\Database::getConnection('default', 'atavism');
$results = $connExternal->select('world');
$results->fields('world_name');
$data = $results->query();
$result = $data->fetchAll();
dpm(result);
However, when I visit the form, Drupal redirects me back to the install page, where it tells me that drupal is already installed. I have tried using setActiveConnection()
as well, but the same thing keeps happening. I am not sure how to resolve it, and access the secondary database for retrieving the information I need.
Inside of my settings.php, I have this:
$databases['atavism']['default'] = array (
'database' => 'world',
'username' => 'redacted',
'password' => 'redacted',
'prefix' => '',
'host' => 'localhost',
'port' => '3306',
'namespace' => 'Drupal\\Core\\Database\\Driver\\mysql',
'driver' => 'mysql',
);
Am I missing something?