Same name and namespace in other branches
  1. 7.x includes/common.inc \drupal_uninstall_schema()
  2. 8.9.x core/includes/schema.inc \drupal_uninstall_schema()
  3. 9 core/includes/schema.inc \drupal_uninstall_schema()

Remove all tables that a module defines in its 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

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

Return value

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

16 calls to drupal_uninstall_schema()
aggregator_uninstall in modules/aggregator/aggregator.install
Implementation of hook_uninstall().
blogapi_uninstall in modules/blogapi/blogapi.install
Implementation of hook_uninstall().
book_uninstall in modules/book/book.install
Implementation of hook_uninstall().
contact_uninstall in modules/contact/contact.install
Implementation of hook_uninstall().
dblog_uninstall in modules/dblog/dblog.install
Implementation of hook_uninstall().

... See full list

File

includes/common.inc, line 3421
Common functions that many Drupal modules will need to reference.

Code

function drupal_uninstall_schema($module) {
  $schema = drupal_get_schema_unprocessed($module);
  _drupal_initialize_schema($module, $schema);
  $ret = array();
  foreach ($schema as $table) {
    db_drop_table($ret, $table['name']);
  }
  return $ret;
}