diff --git a/core/includes/database.inc b/core/includes/database.inc index d4cb593af6f93e0c4c63e0451c742657bca8531f..6891ea92e1b49238fe04dee4309793280954902d 100644 --- a/core/includes/database.inc +++ b/core/includes/database.inc @@ -335,6 +335,7 @@ function db_transaction($name = NULL, array $options = []) { * \Drupal\Core\Database\Database::setActiveConnection(). */ function db_set_active($key = 'default') { + @trigger_error('db_set_active() is deprecated in Drupal 8.0.x and will be removed before Drupal 9.0.0. Use \Drupal\Core\Database\Database::setActiveConnection() instead. See https://www.drupal.org/node/2944084.', E_USER_DEPRECATED); return Database::setActiveConnection($key); } diff --git a/core/lib/Drupal/Core/Database/Driver/mysql/Install/Tasks.php b/core/lib/Drupal/Core/Database/Driver/mysql/Install/Tasks.php index 67f25269ab20395e5c709252768970aa12cb0e12..6a639d7eb3b11e1039281661ae89623e303b2d68 100644 --- a/core/lib/Drupal/Core/Database/Driver/mysql/Install/Tasks.php +++ b/core/lib/Drupal/Core/Database/Driver/mysql/Install/Tasks.php @@ -59,7 +59,7 @@ public function minimumVersion() { protected function connect() { try { // This doesn't actually test the connection. - db_set_active(); + Database::setActiveConnection(); // Now actually do a check. try { Database::getConnection(); diff --git a/core/lib/Drupal/Core/Database/Driver/pgsql/Install/Tasks.php b/core/lib/Drupal/Core/Database/Driver/pgsql/Install/Tasks.php index 70d9a333ce04b1f0073974527bc128e2bcabeca5..e3312d2e788e17f3b61b24a7c2b22225667b60d8 100644 --- a/core/lib/Drupal/Core/Database/Driver/pgsql/Install/Tasks.php +++ b/core/lib/Drupal/Core/Database/Driver/pgsql/Install/Tasks.php @@ -58,7 +58,7 @@ public function minimumVersion() { protected function connect() { try { // This doesn't actually test the connection. - db_set_active(); + Database::setActiveConnection(); // Now actually do a check. Database::getConnection(); $this->pass('Drupal can CONNECT to the database ok.'); diff --git a/core/lib/Drupal/Core/Database/Driver/sqlite/Install/Tasks.php b/core/lib/Drupal/Core/Database/Driver/sqlite/Install/Tasks.php index b0ea18877aecf8d29c1ed77e22ca6dde68a92660..f5cb289329f534b1ec21249de3933817ad72a2f8 100644 --- a/core/lib/Drupal/Core/Database/Driver/sqlite/Install/Tasks.php +++ b/core/lib/Drupal/Core/Database/Driver/sqlite/Install/Tasks.php @@ -54,7 +54,7 @@ public function getFormOptions(array $database) { protected function connect() { try { // This doesn't actually test the connection. - db_set_active(); + Database::setActiveConnection(); // Now actually do a check. Database::getConnection(); $this->pass('Drupal can CONNECT to the database ok.'); diff --git a/core/lib/Drupal/Core/Database/Install/Tasks.php b/core/lib/Drupal/Core/Database/Install/Tasks.php index a2ea41b0d891c7443fdf557aa514fc3dc899ef88..44bddea81da7979006223c434c33671a2ef6d4f2 100644 --- a/core/lib/Drupal/Core/Database/Install/Tasks.php +++ b/core/lib/Drupal/Core/Database/Install/Tasks.php @@ -156,7 +156,7 @@ public function runTasks() { protected function connect() { try { // This doesn't actually test the connection. - db_set_active(); + Database::setActiveConnection(); // Now actually do a check. Database::getConnection(); $this->pass('Drupal can CONNECT to the database ok.'); diff --git a/core/tests/Drupal/KernelTests/Core/Database/LoggingTest.php b/core/tests/Drupal/KernelTests/Core/Database/LoggingTest.php index 28d9ff2bd8ec8612a582df26eb4a0d74a3a55015..383b5321950b136e6ab3622be175228e96da7ad9 100644 --- a/core/tests/Drupal/KernelTests/Core/Database/LoggingTest.php +++ b/core/tests/Drupal/KernelTests/Core/Database/LoggingTest.php @@ -113,11 +113,11 @@ public function testEnableMultiConnectionLogging() { db_query('SELECT name FROM {test} WHERE age > :age', [':age' => 25])->fetchCol(); - $old_key = db_set_active('test2'); + $old_key = Database::setActiveConnection('test2'); db_query('SELECT age FROM {test} WHERE name = :name', [':name' => 'Ringo'], ['target' => 'replica'])->fetchCol(); - db_set_active($old_key); + Database::setActiveConnection($old_key); $queries1 = Database::getLog('testing1'); $queries2 = Database::getLog('testing1', 'test2'); diff --git a/core/tests/Drupal/KernelTests/Core/Database/RegressionTest.php b/core/tests/Drupal/KernelTests/Core/Database/RegressionTest.php index 66eed0ae9277a6b8f199485f451f3bb54249fd69..22173dae66cda3faa760b912da262c8d86d83316 100644 --- a/core/tests/Drupal/KernelTests/Core/Database/RegressionTest.php +++ b/core/tests/Drupal/KernelTests/Core/Database/RegressionTest.php @@ -2,6 +2,8 @@ namespace Drupal\KernelTests\Core\Database; +use Drupal\Core\Database\Database; + /** * Regression tests cases for the database layer. * @@ -57,4 +59,16 @@ public function testDBIndexExists() { $this->assertSame(FALSE, db_index_exists('test', 'nosuchindex'), 'Returns false for nonexistent index.'); } + /** + * Tests the db_set_active() function. + * + * @group legacy + * + * @expectedDeprecation db_set_active() is deprecated in Drupal 8.0.x and will be removed before Drupal 9.0.0. Use \Drupal\Core\Database\Database::setActiveConnection() instead. See https://www.drupal.org/node/2944084. + */ + public function testDBIsActive() { + $get_active_db = Database::getConnection()->getKey(); + $this->assert(db_set_active($get_active_db), 'Database connection is active'); + } + }