Error message

You are browsing documentation for drupal 7.x, which is not supported anymore. Read the updated version of this page for drupal 11.x (the latest version).

function drupal_uninstall_schema

Same name and namespace in other branches
  1. 9 core/includes/schema.inc \drupal_uninstall_schema()
  2. 8.9.x core/includes/schema.inc \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

$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

Schema API
API to handle database schemas.
1 call to drupal_uninstall_schema()
drupal_uninstall_modules in includes/install.inc
Uninstalls a given list of disabled modules.

File

includes/common.inc, line 7325

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']);
 }
 }
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.