function drupal_get_schema
Gets the schema definition of a table, or the whole database schema.
The returned schema will include any modifications made by any module that implements hook_schema_alter(). To get the schema without modifications, use drupal_get_schema_unprocessed().
Parameters
$table: The name of the table. If not given, the schema of all tables is returned.
$rebuild: If true, the schema will be rebuilt instead of retrieved from the cache.
Related topics
29 calls to drupal_get_schema()
- DatabaseInsertDefaultsTestCase::testDefaultInsert in modules/
simpletest/ tests/ database_test.test  - Test that we can run a query that is "default values for everything".
 - DatabaseInsertDefaultsTestCase::testDefaultInsertWithFields in modules/
simpletest/ tests/ database_test.test  - Test that we can insert fields with values and defaults in the same query.
 - DatabaseSelectComplexTestCase2::setUp in modules/
simpletest/ tests/ database_test.test  - Sets up a Drupal site for running functional and integration tests.
 - DatabaseTestCase::ensureSampleDataNull in modules/
simpletest/ tests/ database_test.test  - Set up tables for NULL handling.
 - DatabaseTestCase::setUp in modules/
simpletest/ tests/ database_test.test  - Sets up a Drupal site for running functional and integration tests.
 
File
- 
              includes/
bootstrap.inc, line 3360  
Code
function drupal_get_schema($table = NULL, $rebuild = FALSE) {
  static $schema;
  if ($rebuild || !isset($table)) {
    $schema = drupal_get_complete_schema($rebuild);
  }
  elseif (!isset($schema)) {
    $schema = new SchemaCache();
  }
  if (!isset($table)) {
    return $schema;
  }
  if (isset($schema[$table])) {
    return $schema[$table];
  }
  else {
    return FALSE;
  }
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.