Issue #2848817 by voleger, andypost, hgunicamp, JacobSanford, techtud, alexpott, vidhatanand, Sharique, JayKandari, kiamlaluno, cilefen, borisson_: Replace all calls to db_table_exists, which is deprecated
							parent
							
								
									d712f83e2c
								
							
						
					
					
						commit
						27bc1f74cb
					
				| 
						 | 
				
			
			@ -645,6 +645,11 @@ function db_index_exists($table, $name) {
 | 
			
		|||
 * @see \Drupal\Core\Database\Schema::tableExists()
 | 
			
		||||
 */
 | 
			
		||||
function db_table_exists($table) {
 | 
			
		||||
  @trigger_error(
 | 
			
		||||
    'db_table_exists() is deprecated in Drupal 8.0.x and will be removed before Drupal 9.0.0. Use $injected_database->schema()->tableExists($table) instead. See https://www.drupal.org/node/2947929.',
 | 
			
		||||
    E_USER_DEPRECATED
 | 
			
		||||
  );
 | 
			
		||||
 | 
			
		||||
  return Database::getConnection()->schema()->tableExists($table);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -134,7 +134,7 @@ function drupal_uninstall_schema($module) {
 | 
			
		|||
  _drupal_schema_initialize($tables, $module, FALSE);
 | 
			
		||||
  $schema = \Drupal::database()->schema();
 | 
			
		||||
  foreach ($tables as $table) {
 | 
			
		||||
    if (db_table_exists($table['name'])) {
 | 
			
		||||
    if ($schema->tableExists($table['name'])) {
 | 
			
		||||
      $schema->dropTable($table['name']);
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -62,7 +62,7 @@ EOS;
 | 
			
		|||
    $this->assertIdentical(\Drupal::moduleHandler()->getImplementations('entity_type_alter'), ['entity_test']);
 | 
			
		||||
 | 
			
		||||
    // Verify that no modules have been installed.
 | 
			
		||||
    $this->assertFalse(db_table_exists($table), "'$table' database table not found.");
 | 
			
		||||
    $this->assertFalse(Database::getConnection()->schema()->tableExists($table), "'$table' database table not found.");
 | 
			
		||||
 | 
			
		||||
    // Verify that the settings.testing.php got taken into account.
 | 
			
		||||
    $this->assertTrue(function_exists('simpletest_test_stub_settings_function'));
 | 
			
		||||
| 
						 | 
				
			
			@ -114,7 +114,7 @@ EOS;
 | 
			
		|||
    $list = \Drupal::moduleHandler()->getImplementations('hook_info');
 | 
			
		||||
    $this->assertFalse(in_array($module, $list), "{$module}_hook_info() in \Drupal::moduleHandler()->getImplementations() not found.");
 | 
			
		||||
 | 
			
		||||
    $this->assertFalse(db_table_exists($table), "'$table' database table not found.");
 | 
			
		||||
    $this->assertFalse(Database::getConnection()->schema()->tableExists($table), "'$table' database table not found.");
 | 
			
		||||
 | 
			
		||||
    // Install the module.
 | 
			
		||||
    \Drupal::service('module_installer')->install([$module]);
 | 
			
		||||
| 
						 | 
				
			
			@ -126,7 +126,7 @@ EOS;
 | 
			
		|||
    $list = \Drupal::moduleHandler()->getImplementations('hook_info');
 | 
			
		||||
    $this->assertTrue(in_array($module, $list), "{$module}_hook_info() in \Drupal::moduleHandler()->getImplementations() found.");
 | 
			
		||||
 | 
			
		||||
    $this->assertTrue(db_table_exists($table), "'$table' database table found.");
 | 
			
		||||
    $this->assertTrue(Database::getConnection()->schema()->tableExists($table), "'$table' database table found.");
 | 
			
		||||
    $schema = drupal_get_module_schema($module, $table);
 | 
			
		||||
    $this->assertTrue($schema, "'$table' table schema found.");
 | 
			
		||||
  }
 | 
			
		||||
| 
						 | 
				
			
			@ -156,7 +156,7 @@ EOS;
 | 
			
		|||
    $table = 'entity_test_example';
 | 
			
		||||
    // Verify that we can install a table from the module schema.
 | 
			
		||||
    $this->installSchema($module, $table);
 | 
			
		||||
    $this->assertTrue(db_table_exists($table), "'$table' database table found.");
 | 
			
		||||
    $this->assertTrue(Database::getConnection()->schema()->tableExists($table), "'$table' database table found.");
 | 
			
		||||
 | 
			
		||||
    // Verify that the schema is known to Schema API.
 | 
			
		||||
    $schema = drupal_get_module_schema($module, $table);
 | 
			
		||||
| 
						 | 
				
			
			@ -171,7 +171,7 @@ EOS;
 | 
			
		|||
    catch (\Exception $e) {
 | 
			
		||||
      $this->pass('Exception for non-retrievable schema found.');
 | 
			
		||||
    }
 | 
			
		||||
    $this->assertFalse(db_table_exists($table), "'$table' database table not found.");
 | 
			
		||||
    $this->assertFalse(Database::getConnection()->schema()->tableExists($table), "'$table' database table not found.");
 | 
			
		||||
    $schema = drupal_get_module_schema($module, $table);
 | 
			
		||||
    $this->assertFalse($schema, "'$table' table schema not found.");
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -185,14 +185,14 @@ EOS;
 | 
			
		|||
    catch (\Exception $e) {
 | 
			
		||||
      $this->pass('Exception for non-retrievable schema found.');
 | 
			
		||||
    }
 | 
			
		||||
    $this->assertFalse(db_table_exists($table), "'$table' database table not found.");
 | 
			
		||||
    $this->assertFalse(Database::getConnection()->schema()->tableExists($table), "'$table' database table not found.");
 | 
			
		||||
    $schema = drupal_get_module_schema($module, $table);
 | 
			
		||||
    $this->assertTrue($schema, "'$table' table schema found.");
 | 
			
		||||
 | 
			
		||||
    // Verify that the same table can be installed after enabling the module.
 | 
			
		||||
    $this->enableModules([$module]);
 | 
			
		||||
    $this->installSchema($module, $table);
 | 
			
		||||
    $this->assertTrue(db_table_exists($table), "'$table' database table found.");
 | 
			
		||||
    $this->assertTrue(Database::getConnection()->schema()->tableExists($table), "'$table' database table found.");
 | 
			
		||||
    $schema = drupal_get_module_schema($module, $table);
 | 
			
		||||
    $this->assertTrue($schema, "'$table' table schema found.");
 | 
			
		||||
  }
 | 
			
		||||
| 
						 | 
				
			
			@ -206,7 +206,7 @@ EOS;
 | 
			
		|||
    $this->enableModules(['user']);
 | 
			
		||||
    // Verity that the entity schema is created properly.
 | 
			
		||||
    $this->installEntitySchema($entity);
 | 
			
		||||
    $this->assertTrue(db_table_exists($entity), "'$entity' database table found.");
 | 
			
		||||
    $this->assertTrue(Database::getConnection()->schema()->tableExists($entity), "'$entity' database table found.");
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  /**
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -59,8 +59,9 @@ abstract class ModuleTestBase extends WebTestBase {
 | 
			
		|||
  public function assertModuleTablesExist($module) {
 | 
			
		||||
    $tables = array_keys(drupal_get_module_schema($module));
 | 
			
		||||
    $tables_exist = TRUE;
 | 
			
		||||
    $schema = Database::getConnection()->schema();
 | 
			
		||||
    foreach ($tables as $table) {
 | 
			
		||||
      if (!db_table_exists($table)) {
 | 
			
		||||
      if (!$schema->tableExists($table)) {
 | 
			
		||||
        $tables_exist = FALSE;
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
| 
						 | 
				
			
			@ -76,8 +77,9 @@ abstract class ModuleTestBase extends WebTestBase {
 | 
			
		|||
  public function assertModuleTablesDoNotExist($module) {
 | 
			
		||||
    $tables = array_keys(drupal_get_module_schema($module));
 | 
			
		||||
    $tables_exist = FALSE;
 | 
			
		||||
    $schema = Database::getConnection()->schema();
 | 
			
		||||
    foreach ($tables as $table) {
 | 
			
		||||
      if (db_table_exists($table)) {
 | 
			
		||||
      if ($schema->tableExists($table)) {
 | 
			
		||||
        $tables_exist = TRUE;
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -2,6 +2,8 @@
 | 
			
		|||
 | 
			
		||||
namespace Drupal\Tests\system\Functional\Database;
 | 
			
		||||
 | 
			
		||||
use Drupal\Core\Database\Database;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Tests the temporary query functionality.
 | 
			
		||||
 *
 | 
			
		||||
| 
						 | 
				
			
			@ -29,7 +31,7 @@ class TemporaryQueryTest extends DatabaseTestBase {
 | 
			
		|||
    $data = json_decode($this->getSession()->getPage()->getContent());
 | 
			
		||||
    if ($data) {
 | 
			
		||||
      $this->assertEqual($this->countTableRows('test'), $data->row_count, 'The temporary table contains the correct amount of rows.');
 | 
			
		||||
      $this->assertFalse(db_table_exists($data->table_name), 'The temporary table is, indeed, temporary.');
 | 
			
		||||
      $this->assertFalse(Database::getConnection()->schema()->tableExists($data->table_name), 'The temporary table is, indeed, temporary.');
 | 
			
		||||
    }
 | 
			
		||||
    else {
 | 
			
		||||
      $this->fail('The creation of the temporary table failed.');
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -56,8 +56,9 @@ abstract class ModuleTestBase extends BrowserTestBase {
 | 
			
		|||
  public function assertModuleTablesExist($module) {
 | 
			
		||||
    $tables = array_keys(drupal_get_module_schema($module));
 | 
			
		||||
    $tables_exist = TRUE;
 | 
			
		||||
    $schema = Database::getConnection()->schema();
 | 
			
		||||
    foreach ($tables as $table) {
 | 
			
		||||
      if (!db_table_exists($table)) {
 | 
			
		||||
      if (!$schema->tableExists($table)) {
 | 
			
		||||
        $tables_exist = FALSE;
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
| 
						 | 
				
			
			@ -73,8 +74,9 @@ abstract class ModuleTestBase extends BrowserTestBase {
 | 
			
		|||
  public function assertModuleTablesDoNotExist($module) {
 | 
			
		||||
    $tables = array_keys(drupal_get_module_schema($module));
 | 
			
		||||
    $tables_exist = FALSE;
 | 
			
		||||
    $schema = Database::getConnection()->schema();
 | 
			
		||||
    foreach ($tables as $table) {
 | 
			
		||||
      if (db_table_exists($table)) {
 | 
			
		||||
      if ($schema->tableExists($table)) {
 | 
			
		||||
        $tables_exist = TRUE;
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -37,6 +37,10 @@ class RegressionTest extends DatabaseTestBase {
 | 
			
		|||
 | 
			
		||||
  /**
 | 
			
		||||
   * Tests the db_table_exists() function.
 | 
			
		||||
   *
 | 
			
		||||
   * @group legacy
 | 
			
		||||
   *
 | 
			
		||||
   * @expectedDeprecation db_table_exists() is deprecated in Drupal 8.0.x and will be removed before Drupal 9.0.0. Use $injected_database->schema()->tableExists($table) instead. See https://www.drupal.org/node/2947929.
 | 
			
		||||
   */
 | 
			
		||||
  public function testDBTableExists() {
 | 
			
		||||
    $this->assertSame(TRUE, db_table_exists('test'), 'Returns true for existent table.');
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -379,8 +379,9 @@ class FieldSqlStorageTest extends EntityKernelTestBase {
 | 
			
		|||
      $this->tableMapping->getDedicatedDataTableName($prior_field_storage),
 | 
			
		||||
      $this->tableMapping->getDedicatedRevisionTableName($prior_field_storage),
 | 
			
		||||
    ];
 | 
			
		||||
    $schema = Database::getConnection()->schema();
 | 
			
		||||
    foreach ($tables as $table_name) {
 | 
			
		||||
      $this->assertTrue(db_table_exists($table_name), t('Table %table exists.', ['%table' => $table_name]));
 | 
			
		||||
      $this->assertTrue($schema->tableExists($table_name), t('Table %table exists.', ['%table' => $table_name]));
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue