function drupal_uninstall_schema

Removes all tables defined in a module's hook_schema().

Note: This function does not pass the module's schema through hook_schema_alter(). The module's tables will be created exactly as the module defines them.

Parameters

string $module: The module for which the tables will be removed.

Return value

array An array of arrays with the following key/value pairs:

  • success: a boolean indicating whether the query succeeded.
  • query: the SQL query(s) executed, passed through check_plain().

Related topics

2 calls to drupal_uninstall_schema()
DatabaseBackendUnitTest::tearDownCacheBackend in drupal/core/modules/system/lib/Drupal/system/Tests/Cache/DatabaseBackendUnitTest.php
Uninstalls system schema.
module_uninstall in drupal/core/includes/module.inc
Uninstalls a given list of modules.

File

drupal/core/includes/schema.inc, line 247
Schema API handling functions.

Code

function drupal_uninstall_schema($module) {
  $schema = drupal_get_schema_unprocessed($module);
  _drupal_schema_initialize($schema, $module, FALSE);
  foreach ($schema as $table) {
    if (db_table_exists($table['name'])) {
      db_drop_table($table['name']);
    }
  }
}